Commit graph

10753 commits

Author SHA1 Message Date
Andrei Vereha c337b52aa0 dash/ble: support both 1 and 2 byte command
It seems that the PDM is sending 1 byte commands and the POD answers
with 2 byte commands.

Add logging for decrypted responses.

I think `eqos` means that we are expecting an ACK for the last message.
Read (and log for now) a pending message if the POD is trying to sending it back while we want
to send a command.
2021-03-08 22:52:04 +01:00
Andrei Vereha db51b762ca dash ble: disconnect on errors 2021-03-08 22:52:04 +01:00
Andrei Vereha 64aa05f7f9 dash en/decrypt test: add comment about failing test 2021-03-08 22:52:04 +01:00
Andrei Vereha 923d8d33ef dash eap: bugfix
Shift the MSB of the lenght by 1 byte, not one bit.
2021-03-08 22:52:04 +01:00
Andrei Vereha 7dd8fc1bf6 dash/ble: ktlintFormat 2021-03-08 22:52:04 +01:00
Andrei Vereha e7a9e24093 dash: start using podState for BLE
implement disconnect()
various fixes after testing with a real pod(cmd is 2 bytes, message
joining, etc)
2021-03-08 22:52:04 +01:00
Andrei Vereha 4046828567 format: ktlint 2021-03-08 22:52:04 +01:00
Andrei Vereha c71433ad1a format: remove trailing commao 2021-03-08 22:52:04 +01:00
Andrei Vereha 5211d4ddc6 dash ble: implement sessions and sending commands
Tested with the fake pod:
```
DEBU[0185] got command. CRC: 82b2. Type: 7 :: GET_VERSION
DEBU[0185] got command. CRC: 0003. Type: 3 :: SET_UNIQUE_ID
DEBU[0186] got command. CRC: 019a. Type: 19 :: PROGRAM_ALERTS
DEBU[0186] got command. CRC: 0385. Type: 19 :: PROGRAM_ALERTS
DEBU[0187] got command. CRC: 81f3. Type: 1a :: PROGRAM_INSULIN
DEBU[0187] got command. CRC: 8178. Type: e :: GET_STATUS
```
2021-03-08 22:52:04 +01:00
Andrei Vereha 5647007190 dash/ble: remove retries for connect for now
It's easier to debug for now if we stop on the first issue/error
2021-03-08 22:52:04 +01:00
Andrei Vereha 9c586c4942 dash encryption: add encryption and decryption for messsages 2021-03-08 22:52:04 +01:00
Andrei Vereha bef32e70c1
Merge pull request #18 from 0pen-dash/eap-aka
EAP AKA session establishment
2021-03-07 10:22:42 +01:00
Andrei Vereha 4fa16bc6cf
Merge pull request #20 from 0pen-dash/maintenance/when-formatting
don't align when in columns according to kotlin styleguide
2021-03-06 16:56:23 +01:00
AdrianLxM 81b34f8680 don't align when in columns according to kotlin styleguide 2021-03-06 14:16:23 +01:00
Andrei Vereha c2627176cf dash BleIO: s/let/also 2021-03-03 17:07:18 +01:00
Andrei Vereha 7976df596e dash eap-aka: use named parameters 2021-03-03 17:02:59 +01:00
Andrei Vereha c3d7cf9483 dash LTK exchange: s/var/val 2021-03-03 17:02:12 +01:00
Andrei Vereha 7c0e2af053 dash: rename EAP AKA to SessionEstablisher 2021-03-03 14:24:23 +01:00
Andrei Vereha b2797fa57f dash: undo ktLint 2021-03-03 14:22:09 +01:00
Andrei Vereha da84c35b31 format: CTRL+Alt+L 2021-03-03 14:18:20 +01:00
Andrei Vereha 154e74fc22 dash ble: fix detekt issues 2021-03-03 14:10:33 +01:00
Andrei Vereha c9beb21404 format: klintFormat 2021-03-02 22:22:03 +01:00
Andrei Vereha ada3560f49 format: remove trailing commas 2021-03-02 22:20:30 +01:00
Andrei Vereha e90bda0234 dash eap-aka: complete the session key exchange
Fake pod logs
```
INFO[0021] got CK: daff384a4098571975d136a480a71b36
INFO[0021] got Nonce: 33a0c6dd0a0a0a0a
```

The application logs:
```
[OmnipodDashBleManagerImpl$connect$1.subscribe():139]: CK: daff384a4098571975d136a480a71b36
 [OmnipodDashBleManagerImpl$connect$1.subscribe():140]: noncePrefix: 33a0c6dd0a0a0a0a
```
2021-03-02 22:17:11 +01:00
Andrei Vereha db47554bad
Merge pull request #16 from 0pen-dash/format
code formatting
2021-03-02 20:21:28 +01:00
Andrei Vereha 9c42e5749f ble/milenage: fix and add tests 2021-03-02 18:39:03 +01:00
Andrei Vereha 099ec0a328 ble scan: improve log message 2021-03-02 18:37:45 +01:00
Andrei Vereha b6692a5ac6 WIP: add Milenage
AUTN is not correct yet
2021-03-02 10:44:36 +01:00
Andrei Vereha e82826bf5a dash/ble: start implement EAP-AKA 2021-03-01 15:22:52 +01:00
Andrei Vereha 0523f7c17c format: remove trailing commas 2021-03-01 15:20:02 +01:00
AdrianLxM f40450548f
Merge pull request #17 from 0pen-dash/adrian/linting
Adrian/linting
2021-03-01 14:38:16 +01:00
AdrianLxM 89ff502518 a bit more formatting 2021-03-01 14:35:50 +01:00
AdrianLxM 5ef07dd0be detekt resolve a few more 2021-03-01 13:52:43 +01:00
AdrianLxM e7b3d85639 detekt resolve a few 2021-03-01 13:49:39 +01:00
AdrianLxM 77c816e813 ktlint format 2021-03-01 13:39:02 +01:00
AdrianLxM 3ebcc1c71e make detekt work 2021-03-01 13:34:34 +01:00
AdrianLxM 9a6a81248d Merge remote-tracking branch 'origin/bart/implement-managers' into adrian/linting 2021-03-01 12:40:42 +01:00
AdrianLxM 070ba1cfc2 add ktlint and detekt 2021-03-01 12:34:47 +01:00
Andrei Vereha 07c6a95145
Merge pull request #15 from 0pen-dash/bart/improvements
Some improvements
2021-03-01 11:06:31 +01:00
Bart Sopers 59bfa7a04d Implement Pod activation command flow 2021-03-01 01:23:40 +01:00
Bart Sopers 82d2f9ae36 Merge branch 'dash' into bart/improvements 2021-02-28 21:10:09 +01:00
bartsopers caa191ebf2
Merge pull request #10 from 0pen-dash/ble-message-receiving
Ble message receiving
2021-02-28 21:09:40 +01:00
Andrei Vereha c8bded99ab remove tailing comma 2021-02-28 19:45:21 +01:00
Andrei Vereha a7ca5fd863 format code: Ctrl+Alt+L 2021-02-28 19:44:10 +01:00
Bart Sopers 8e7b1d3612 Review: use fold in AlertUtil.encodeAlerts 2021-02-28 19:28:52 +01:00
Andrei Vereha 57c2d2d9a1 Address review comments:
- move think dependency to core_dependencies and make it's version
   configurable: https://github.com/0pen-dash/AndroidAPS/pull/10#discussion_r584329468
 - add message string to exceptions. Renames
2021-02-28 19:11:42 +01:00
Bart Sopers 8e7e2450ae Update active alerts from default status response in Pod state 2021-02-28 18:46:49 +01:00
Bart Sopers bf060da878 Fix typo 2021-02-28 18:42:17 +01:00
Andrei Vereha b1f099c506 rename LTK to Pair 2021-02-28 18:38:43 +01:00
Andrei Vereha ee0ac46c5a Finish implementing the LTK exchange
On the fake pod:
```
INFO[0067] LTK 21f4a9d825ce5e57bad5b4958c6ff95e
```
Logcat:
```
2021-02-28 18:21:04.763 19530-22490/info.nightscout.androidaps I/PUMPCOMM: [AsyncTask #4]: [OmnipodDashBleManagerImpl.connect():86]: Got LTK: 21f4a9d825ce5e57bad5b4958c6ff95e
``
2021-02-28 18:37:36 +01:00