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
Andrei Vereha
ddb1c18349
ble ltk: implement encryption and message parsing
2021-02-28 18:33:07 +01:00
Andrei Vereha
ddfbd2e7bd
dash ble tlk: start generating keys
2021-02-28 18:33:07 +01:00
Andrei Vereha
39408ac535
BLE LTK: define all the steps
2021-02-28 18:33:07 +01:00
Andrei Vereha
1aa6d02893
ble: implement message reading&joining
...
Now are able to read the first message:
```
INFO[0005] Received SPS1 6b943ec06b594f8a0383f384a3c916da75e1c7846c3e1b73f72f86ee2dc48774b2b4e5ad62d798b76cfd06be1cd4c937
DEBU[0005] Donna LTK: b874cb3cbe487040442138452faeb02d284ac55f489f19593265ff52f7310f1f
DEBU[0005] First key 58cb3b742dc48774000000001cd4c937 :: 16
DEBU[0005] CMACY: 16
DEBU[0005] Intermediar key 4c13eebc4cf09795a07c50bf13786c18 :: 16
DEBU[0005] Pod public 2fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b74 :: 32
DEBU[0005] Pod nonce 00000000000000000000000000000000 :: 16
DEBU[0005] Generated SPS1: 535053313d00302fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b7400000000000000000000000000000000
TRAC[0005] CMD notification return: 4/00
TRAC[0005] received CMD: 01
TRAC[0005] Sending message: 54570003000006e00000109100001092535053313d00302fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b7400000000000000000000000000000000
TRAC[0005] DATA notification return: 23/000354570003000006e000001091000010925350
TRAC[0005] DATA notification return: 23/0153313d00302fe57da347cd62431528daac5fbb
TRAC[0005] DATA notification return: 23/02290730fff684afc4cfc2ed90995f58cb3b7400
TRAC[0005] DATA notification return: 23/030f7d02931d0000000000000000000000000000
TRAC[0005] DATA notification return: 23/0401000000000000000000000000000000000000
TRAC[0005] received CMD: 04
```
2021-02-28 18:33:05 +01:00
Andrei Vereha
81ad52ebce
implement SPS1 command
...
I had to add a new dependency: `tink-android:1.5.0` for X25519
2021-02-28 18:32:21 +01:00