Andrei Vereha
e467e9f7b6
simplify observeNoActiveCommand
2021-07-04 18:21:12 +02:00
Andrei Vereha
1d925aee12
Merge branch 'avereha/merge-small-fixes' into avereha/conn
2021-06-29 19:46:18 +02:00
Andrei Vereha
33891e509a
connect
2021-06-29 19:46:11 +02:00
Andrei Vereha
131c187bb1
fake tbr when the pod is not active
2021-06-28 23:02:16 +02:00
Andrei Vereha
b4777a1312
wip: stop connecting
2021-06-28 20:54:47 +02:00
Andrei Vereha
0582fe0326
timeout for service discovery
2021-06-27 22:12:21 +02:00
Andrei Vereha
9c0aa54e6b
stop on CountDownLatch
2021-06-27 13:19:06 +02:00
Andrei Vereha
e1a996b3f7
wip
2021-06-27 01:38:34 +02:00
Andrei Vereha
8cc6ab260d
compile
2021-06-26 15:59:05 +02:00
Andrei Vereha
7b0702b8eb
compile. fix build warnings
2021-06-26 15:58:40 +02:00
Andrei Vereha
cb45e51b99
add logging. try to prevent race condition
2021-06-26 15:06:57 +02:00
Andrei Vereha
b9acc21633
update notifications
2021-06-26 11:40:01 +02:00
Andrei Vereha
2a35c60e81
notification on pod suspend. try to getpodstatus on activecommands
2021-06-26 11:10:27 +02:00
Andrei Vereha
c803f6504b
add both INSULIN and CANULA change
2021-06-25 23:34:38 +02:00
Andrei Vereha
80c24a23dc
do not display last connection if the pod is not activated
2021-06-25 23:26:38 +02:00
Andrei Vereha
4e4cc4cdfa
pumpSync on new pod
2021-06-25 22:39:05 +02:00
Andrei Vereha
8f5ecfd0d6
restart service discovery
2021-06-25 22:14:05 +02:00
Andrei Vereha
a62b5f7f70
dismiss notifications
2021-06-25 21:50:25 +02:00
Andrei Vereha
989a20d023
less notifications on unconfirmed commands when switching profile
2021-06-25 21:38:01 +02:00
Andrei Vereha
efd3acbb2a
save tx after setting basal. save basal in pod state when the basal command is confirmed
2021-06-25 20:52:32 +02:00
Andrei Vereha
d882428cc0
set timezone
2021-06-25 19:45:38 +02:00
Theo van Elsberg
b82d9cf457
- Redo Pod expiry datetime based on activation time
2021-06-25 14:37:54 +02:00
Theo van Elsberg
3ed9cd0f78
- Fixed loading PodState (failed to serialize)
...
- Moved Pod expiry time calculation to Pod Manager/PodState
- Show local date/time in overview (TODO: handle TZ)
2021-06-25 13:40:32 +02:00
Andrei Vereha
19ff58ac95
fix timeOnPod
2021-06-24 23:08:32 +02:00
Andrei Vereha
22d78f356b
recover pod activation status when lost during activation
2021-06-24 22:37:29 +02:00
Andrei Vereha
a3cacc75fe
typo
2021-06-24 22:06:56 +02:00
Andrei Vereha
c50757a2d1
getPumpStatus only if requested by user while the pod is not activated
2021-06-24 22:06:08 +02:00
Andrei Vereha
3c222f0500
recover active commands on start. Display deaction button after SET_UNIQUE_ID
2021-06-24 21:57:34 +02:00
Andrei Vereha
a9f49704d9
compile
2021-06-23 21:53:50 +02:00
Andrei Vereha
e916290687
compile
2021-06-23 21:52:57 +02:00
Andrei Vereha
e1337f0fb8
update overview
2021-06-23 21:50:58 +02:00
Andrei Vereha
2aeff0e92d
disable notifications sound
2021-06-22 22:49:26 +02:00
Andrei Vereha
44c7747405
remove test 'active command'
2021-06-22 22:43:14 +02:00
Andrei Vereha
e7cc35a132
Merge branch 'avereha/bolus' into avereha/notifications
2021-06-22 22:42:16 +02:00
Andrei Vereha
ab9a59591d
Merge branch 'avereha/bolus' into avereha/notifications
2021-06-22 22:36:52 +02:00
Andrei Vereha
6ee4ec1ae3
format
2021-06-22 22:36:35 +02:00
Andrei Vereha
e51d071181
add notifications
2021-06-22 22:27:29 +02:00
Theo van Elsberg
d8b9ae1036
Updating DASH Overview for "Time On Pod" and "Pod Expires"
2021-06-22 13:30:08 +02:00
Andrei Vereha
3ebfe1b268
indent. add notifications
2021-06-21 19:31:17 +02:00
Andrei Vereha
92c0aba929
cleanup
2021-06-21 19:30:40 +02:00
Andrei Vereha
9ca82441bb
try different connection timeouts
2021-06-21 19:29:22 +02:00
Andrei Vereha
422ea31f6f
do not check for active commands when canceling
2021-06-19 23:58:44 +02:00
Andrei Vereha
d4f7caf119
update message
2021-06-19 17:49:33 +02:00
Andrei Vereha
e0b33c74a1
fix progress bar
2021-06-19 17:05:37 +02:00
Andrei Vereha
665444ea9e
fix command sending failure
2021-06-19 16:12:41 +02:00
Andrei Vereha
100f2b9e69
display deliveryStatus only in debug mode
2021-06-19 14:42:40 +02:00
Andrei Vereha
a0b64a9062
beeps
2021-06-19 14:31:14 +02:00
Andrei Vereha
d4a73abbf3
add details about TBR
2021-06-19 13:17:00 +02:00
Andrei Vereha
863fb19ff0
fix bolus cancelation
2021-06-19 13:13:43 +02:00
Andrei Vereha
59d0245980
fix unconfirmed commands
2021-06-12 23:30:37 +02:00
Andrei Vereha
16a2c8ea55
try different conn timeout. fix case when connection is established and session is null
2021-06-12 12:16:45 +02:00
Andrei Vereha
898c1c7906
format
2021-06-11 21:27:04 +02:00
Andrei Vereha
96e06cb33a
add back the connection retry
2021-06-11 18:42:52 +02:00
Andrei Vereha
1910ac7b60
update overview fragment. set basal if pod is not activated
2021-06-10 08:22:29 +02:00
Andrei Vereha
fa846bdd65
fix after merging
2021-06-07 09:30:57 +02:00
Andrei Vereha
bad72b2a62
Merge branch 'dash' into avereha/bolus
2021-06-06 21:30:44 +02:00
Andrei Vereha
b5757c08ac
Merge branch 'dash' into avereha/alarms
2021-06-06 21:30:08 +02:00
Andrei Vereha
697e646854
Merge branch 'dash' into avereha/basal
2021-06-06 21:28:23 +02:00
Andrei Vereha
f6d0520fe2
save bolusPulsesRemainig
2021-06-06 21:25:40 +02:00
Andrei Vereha
95c9bd94a1
do not check pod status before deactivation. It will be deactivated anyway
2021-06-06 18:47:49 +02:00
Andrei Vereha
18735540fd
Merge branch 'avereha/alarms' into avereha/bolus
2021-06-06 18:42:07 +02:00
Andrei Vereha
b55dacd12c
add checkPodKaput
2021-06-06 18:41:17 +02:00
Andrei Vereha
aa719e0b9f
handle Pod Alarm
2021-06-06 18:35:19 +02:00
Andrei Vereha
909eae3f3f
log
2021-06-06 17:47:36 +02:00
Andrei Vereha
a25fffd075
stop bolus
2021-06-06 13:43:44 +02:00
Andrei Vereha
4f459b9fc1
Merge branch 'avereha/alarms' into avereha/bolus
2021-06-06 13:11:16 +02:00
Andrei Vereha
d82be68796
fix alerts(UNKNOWN will always match)
2021-06-06 13:09:27 +02:00
Andrei Vereha
b80327c9bf
bolus: send progress
2021-06-06 12:24:32 +02:00
Andrei Vereha
79b4a5d656
simplify executeProgrammingCommand. Start implementing alerts
2021-06-06 10:47:29 +02:00
Andrei Vereha
c72f2f352f
always enforceNew
2021-06-05 20:37:17 +02:00
Andrei Vereha
d0c947c988
updates for display of temp basal
2021-06-05 20:32:35 +02:00
Andrei Vereha
b440003de4
ignore enforeNew for now
2021-06-05 20:14:28 +02:00
Andrei Vereha
fc919f24cd
save temp basal to pod state
2021-06-05 18:14:13 +02:00
Andrei Vereha
ffe3246fc0
remove 'Using connected state for unconfirmed commands'
2021-06-05 15:23:03 +02:00
Andrei Vereha
70eb5e6d0c
recover unconfirmed basal
2021-06-05 14:52:58 +02:00
Andrei Vereha
7c20bfb7f0
implement basals
2021-06-05 14:18:04 +02:00
Andrei Vereha
33243a7ed4
create fake TBR on suspend. Fix createHistory timing bug
2021-06-04 22:56:58 +02:00
Andrei Vereha
5d3b2faeb9
pumpsync on suspend/resume
2021-06-04 19:32:00 +02:00
Andrei Vereha
76a0e93ee2
stop testing failed commands
2021-06-03 22:19:51 +02:00
Andrei Vereha
17c61db256
merge
2021-06-03 22:18:25 +02:00
Andrei Vereha
3dc4781692
use delivery status for checking if there is a tempbasal to cancel
2021-06-03 22:15:26 +02:00
Andrei Vereha
34103931f5
add comment
2021-06-03 22:00:42 +02:00
Andrei Vereha
25141d3939
undo the last change
2021-06-03 21:48:03 +02:00
Andrei Vereha
2afe220d28
suspend/resume
2021-06-03 19:43:59 +02:00
Milos Kozak
fedba23405
code cleanup
2021-06-01 22:51:16 +02:00
Andrei Vereha
d392caa6e9
move private fun at the end
2021-06-01 22:00:16 +02:00
Andrei Vereha
432e06adaa
simplify: use lastUpdatedSystem for lastConnection
2021-06-01 21:50:55 +02:00
Andrei Vereha
b91e8506a0
move the common code to getCommandConfirmationFromState
2021-06-01 21:41:13 +02:00
Andrei Vereha
c8fee31ae8
cleanup
2021-06-01 08:12:03 +02:00
Andrei Vereha
d0b1757268
bugfix: send error when we can't send the command
2021-06-01 00:18:38 +02:00
Andrei Vereha
e867b1397d
remove maybeMarkActiveCommandFailed. this logic was moved in "updateActiveCommand"
2021-05-31 22:15:39 +02:00
Andrei Vereha
a20cc1cca3
simplify
2021-05-31 22:09:49 +02:00
Andrei Vereha
9d61c8ee8a
remove unused function
2021-05-31 21:00:54 +02:00
Andrei Vereha
7dc01cb1f8
add comments
2021-05-31 00:13:52 +02:00
Andrei Vereha
a2b3ab5991
add TODO
2021-05-31 00:04:25 +02:00
Andrei Vereha
8e64ca134f
ktlintFormat
2021-05-31 00:01:54 +02:00
Andrei Vereha
c989c6a1c5
duration is in ms
2021-05-30 23:55:47 +02:00
Andrei Vereha
3ca88ef51b
bugfix: set the tempbasal timestamp to the time when the historyEntry was created, not a random number :)
2021-05-30 23:09:15 +02:00
Andrei Vereha
91957930ed
display bluetooth connection status. display deliveryStatus. display lastConnection
2021-05-30 22:49:35 +02:00
Andrei Vereha
3b26068faf
set temp basal beeps
2021-05-30 19:03:26 +02:00
Andrei Vereha
3314df7bb7
implement TempBasal pumpSync and confirmation
2021-05-30 18:35:53 +02:00
Andrei Vereha
ebb3030169
make it compile
2021-05-28 23:37:00 +02:00
Andrei Vereha
684250a40f
Merge branch 'avereha/dev2-merge' into avereha/temp-basals
2021-05-02 14:20:17 +02:00
Andrei Vereha
c544ef6c19
merge tests
2021-05-02 14:19:46 +02:00
Andrei Vereha
5179670e9c
merge for tests
2021-05-02 14:10:15 +02:00
Andrei Vereha
dcfd9bcdbf
merge
2021-05-02 14:02:10 +02:00
Andrei Vereha
976ae45057
ktlintFormat
2021-05-02 10:38:22 +02:00
Andrei Vereha
dd8ebded1a
merge: profile is not an interface
2021-05-02 10:37:06 +02:00
Andrei Vereha
2ae9f399aa
s/utils.extensions/extensions/
2021-05-02 10:31:47 +02:00
Andrei Vereha
f197141cd5
merge:
...
.comment is now in Kotlin and it does not accept a String?
symbol renames
2021-05-02 10:28:45 +02:00
Andrei Vereha
c36e521efb
use concat(listOf())
2021-05-02 10:00:11 +02:00
Andrei Vereha
4bd5e7c625
observe there is no activeCommand
2021-05-01 20:56:02 +02:00
Andrei Vereha
b7db79f296
interface updates
2021-05-01 20:28:42 +02:00
Andrei Vereha
e3f7608de7
Merge remote-tracking branch 'upstream/dev2_dana_combo_only' into avereha/dev2-merge
2021-05-01 20:11:48 +02:00
Andrei Vereha
24e5223ad1
val
2021-05-01 19:28:01 +02:00
Andrei Vereha
9e770601f3
merge CommandConfirmed and CommandDenied
2021-05-01 19:19:18 +02:00
Andrei Vereha
ee73cd5f2b
remove comment
2021-05-01 18:54:17 +02:00
Andrei Vereha
912c847dcb
rename to historyId
2021-05-01 18:43:11 +02:00
Andrei Vereha
c759e651c5
remove TODO
2021-05-01 18:39:06 +02:00
Andrei Vereha
19ff47e53d
add comments
2021-05-01 17:59:22 +02:00
Andrei Vereha
8d112a12ca
rename
2021-04-26 21:57:32 +02:00
Andrei Vereha
cddf7a3f68
add check for onError whent the command was sent
2021-04-26 21:56:54 +02:00
Andrei Vereha
b64d530ae9
ktlintFormat
2021-04-21 23:29:16 +02:00
Andrei Vereha
d3c73f9665
update on CommandSendNotConfirmed
2021-04-21 23:14:25 +02:00
Andrei Vereha
0fad1bc6c7
add comment
2021-04-21 22:54:47 +02:00
Andrei Vereha
20560f2a4e
remove the active command if we get an error sending it
2021-04-21 22:52:22 +02:00
Andrei Vereha
3a2fa6d04f
defer
2021-04-21 22:37:58 +02:00
Andrei Vereha
1e4cda01a3
Revert "Revert "remove duplication""
...
This reverts commit d49b87d124
.
2021-04-21 20:44:26 +02:00
Andrei Vereha
d49b87d124
Revert "remove duplication"
...
This reverts commit 05047029ea
.
2021-04-19 21:55:45 +02:00
Andrei Vereha
05047029ea
remove duplication
2021-04-19 21:46:50 +02:00
Milos Kozak
cada2919d1
prepare Profile interface
2021-04-19 18:44:17 +02:00
Andrei Vereha
142ad126b5
add history, command confirmation for more commands
2021-04-18 21:54:50 +02:00
Andrei Vereha
842f196ae8
confirm/deny commands
2021-04-18 21:39:20 +02:00
Milos Kozak
24164eee98
PumpInterface rename
2021-04-14 19:36:13 +02:00
Andrei Vereha
821135edec
dash ble: Supress deteket
2021-04-04 21:04:21 +02:00
Andrei Vereha
40ac1d189a
dash ble: detekt reduce number of arguments
2021-04-04 17:57:17 +02:00
Andrei Vereha
513007f6ae
dash: undo the temporary discardButtonEnabled test
2021-04-04 17:15:44 +02:00
Andrei Vereha
0c35eb7da9
dash: bugfix DefaultStatusResponse and add more tests
2021-04-04 17:10:17 +02:00
Andrei Vereha
6d2d5a7e76
dash ble: detekt
2021-04-04 16:06:39 +02:00
Andrei Vereha
c1426941cf
dash: address feedback
2021-04-04 13:43:39 +02:00
Andrei Vereha
14af90e9e3
dash: ktlintFormat
2021-04-04 13:36:33 +02:00
Andrei Vereha
ff6a67cc97
detekt
2021-04-04 13:32:09 +02:00
Andrei Vereha
64fbea6afe
dash ble: detekt
2021-04-04 13:16:05 +02:00
Andrei Vereha
210a446123
dash ble: ktLintFormat
2021-04-04 12:43:17 +02:00
Andrei Vereha
5b10ad13ec
dash ble: handle disconnects
2021-04-04 12:40:28 +02:00
Andrei Vereha
547454de6c
dash ble: check for RTS
2021-04-03 23:31:43 +02:00
Andrei Vereha
9597922058
dash ble: fix reconnection and improve logging for BleCallbacks
...
When reconnecting, we have to use the discovered Characteristics and not
the ones that we used for the previous connection
2021-04-03 22:58:54 +02:00
Andrei Vereha
a29874dc6d
implement EAP-AKA resynchronization
2021-04-03 12:20:11 +02:00
Andrei Vereha
c4291113a6
fixes
2021-04-02 16:31:27 +02:00
Andrei Vereha
20179781ef
dash ble: warnings
2021-04-02 14:33:18 +02:00
Andrei Vereha
0f58185109
simplify read error handling
2021-04-02 14:32:00 +02:00
Andrei Vereha
e8bc50f458
merge
2021-04-02 14:31:12 +02:00
Milos Kozak
e26e023ebf
prepare TemporaryBasal
2021-04-01 23:46:21 +02:00
Bart Sopers
afd28656d9
Merge branch 'bart/create-responses' into bart/implement-pump-plugin
2021-03-31 11:25:20 +02:00
Bart Sopers
12dad6662c
Merge branch 'dash' into bart/create-responses
2021-03-31 11:21:59 +02:00
Bart Sopers
fe9c5d00a7
WIP on implementing OmnipodDashPumpPlugin + some autoformatting
2021-03-31 11:18:58 +02:00
Andrei Vereha
470b21aad4
detekt
2021-03-31 08:26:35 +02:00
Bart Sopers
811f136830
Implement most methods in OmnipodDashManagerImpl + cleanup
2021-03-31 01:10:21 +02:00
Andrei Vereha
89bcd52994
detekt
2021-03-30 23:33:59 +02:00
Bart Sopers
19a132c596
Remove unused constants
2021-03-30 01:33:01 +02:00
Bart Sopers
76c4d01ee7
Bugfix in setting Dash basal
2021-03-30 01:21:35 +02:00
Andrei Vereha
5209386fc1
compile
2021-03-28 23:24:38 +02:00
Andrei Vereha
189b791c5c
detekt
2021-03-28 23:24:12 +02:00
Andrei Vereha
6c9aa90679
ktLintFormat
2021-03-28 23:17:15 +02:00
Andrei Vereha
b630c4d21a
format
2021-03-28 23:15:42 +02:00
Andrei Vereha
96b1b177a6
call readyToRead on BleIOs
2021-03-28 23:14:41 +02:00
Andrei Vereha
2f87620050
compile
2021-03-28 23:12:17 +02:00
Andrei Vereha
38a1d9c6bc
add BusyException
2021-03-28 23:09:44 +02:00
Andrei Vereha
8d2d38163a
simplify exceptions
2021-03-28 21:43:32 +02:00
Andrei Vereha
4b49392200
improve error handling
2021-03-28 20:48:11 +02:00
Milos Kozak
7f0fe881b6
DetailedBolusInfo, MealLink UI
2021-03-25 17:48:07 +01:00
Andrei Vereha
ae08e43109
add retries when sending commands
2021-03-21 15:12:33 +01:00
Andrei Vereha
7be0afda27
dash ble: implement retries when receiving messages
2021-03-21 14:56:32 +01:00
Bart Sopers
653deff0b6
Omnipod Dash: improve logging and fix prime timeouts
2021-03-20 20:45:53 +01:00
Andrei Vereha
de6ca939ed
dash ble: move parsing logic out of PayloadJoiner to BlePacket
2021-03-16 22:45:02 +01:00
Bart Sopers
ebdc2aebe0
More WIP on Omnipod Dash Pod activation
2021-03-15 01:34:02 +01:00
Bart Sopers
6d4521ca6b
WIP on integrating Omnipod Dash activation wizard
2021-03-15 00:51:07 +01:00
Bart Sopers
dd480134e2
Remove unused variables
2021-03-14 23:13:41 +01:00
Bart Sopers
06de8a04e2
Log actual received message type for unknown Omnipod Dash responses
2021-03-14 23:11:48 +01:00
Bart Sopers
137908eb20
Fix crash in Omnipod Dash Pod activation
2021-03-14 22:49:25 +01:00
Bart Sopers
98dc2f92ef
Add delay for prime and cannula insertion for Omnipod Dash
2021-03-14 22:39:07 +01:00
Andrei Vereha
8868f29ab2
dash ble: use higher timeout when reading a message
...
This timeout(4s) is the same that the PDM uses to send messaged with
`eqos` when they are not acknowledged
2021-03-14 22:06:52 +01:00
Bart Sopers
1872e1ceb7
Correctly handle NAK response for Omnipod Dash
2021-03-14 21:45:52 +01:00
Bart Sopers
10c316edd9
Omnipod Dash: provide and verify expected response type
2021-03-14 21:25:15 +01:00
Andrei Vereha
442a0b274f
dash ble: add comment about why I think the NACK logic is not ok
2021-03-14 21:21:47 +01:00
Andrei Vereha
109f66a48d
dash ble: start implementing retries
...
Handle NACKs for now.
2021-03-14 21:21:47 +01:00
AdrianLxM
95d7f0737c
fix gitignore and tests
2021-03-14 21:19:24 +01:00
Bart Sopers
aff38851e1
Add Omnipod Dash response parsing
2021-03-14 20:14:11 +01:00
AdrianLxM
7db5c28632
delint
2021-03-14 19:52:08 +01:00
AdrianLxM
bf3fe19a4e
only open for tests/debug
2021-03-14 19:42:02 +01:00
AdrianLxM
3d93e4d84d
mock provider instead of constructor parameter
2021-03-14 18:24:15 +01:00
Andrei Vereha
b33c55273c
dash ble: fix detekt issues
2021-03-14 16:14:00 +01:00
Andrei Vereha
b71f065974
dash ble tests: ktlintFormat
2021-03-14 16:00:59 +01:00
Andrei Vereha
a94d6ce652
dash ble test: remove fixed TODO
2021-03-14 15:59:36 +01:00
Andrei Vereha
379c0cd8c7
dash bke tests: fix decrypt test
...
We were trying to use an encryption NONCE for decryption.
The fix was to replac data with data from logs.
2021-03-14 15:58:12 +01:00
Andrei Vereha
752f393f3b
dash ble: add test for MessagePacket
2021-03-14 15:57:16 +01:00
Andrei Vereha
eff6247f77
dash ble: remove unused class
2021-03-14 15:57:16 +01:00
Andrei Vereha
eda52857e5
dash ble: add tests for StringLengthPrefixEncodingTest
...
We tested this part with a real pod and confirmed that it's working
2021-03-14 15:57:16 +01:00
Andrei Vereha
5f71e1b27f
dash ble: add tests for payload splitting and joining
2021-03-14 15:57:16 +01:00
Andrei Vereha
50d1dad786
dash LTK: add test
...
Now that we know this part is working, I'm adding a test with data from
logs
Moved the key exchange logic to its own class so it is easier to
test
2021-03-14 15:44:28 +01:00
Andrei Vereha
0396b9ca99
dash ble: use .let(Id::fromLong)
...
https://github.com/0pen-dash/AndroidAPS/pull/21#pullrequestreview-610227073
2021-03-11 23:06:00 +01:00
Andrei Vereha
27e9b25e86
dash: update TODO comment
2021-03-11 21:40:51 +01:00
Andrei Vereha
1a678a9507
dash/ble: stop reading a message on send
...
We were receiving a message in that case just because we used the `eqos`
parameter incorrectly.
2021-03-11 21:36:43 +01:00
Andrei Vereha
2aed2005ef
dash ble: renames and fixes after testing
2021-03-11 21:27:18 +01:00
Andrei Vereha
8154e16c94
dash ble: add a separate method for activating a new pod
...
So we can call it explicitly instead of activating a new pod on
connect()
2021-03-09 23:19:22 +01:00
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
Milos Kozak
91e323b5f5
New Crowdin updates ( #388 )
...
* New translations exam.xml (Portuguese)
* New translations validator.xml (Slovak)
* New translations alert_descriptions.xml (Slovak)
* New translations strings.xml (Slovak)
* New translations strings.xml (Slovak)
* New translations strings.xml (Slovak)
* New translations strings.xml (Slovak)
* New translations strings.xml (Slovak)
* New translations strings.xml (Slovak)
* New translations strings.xml (Slovak)
* New translations strings.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations alert_titles.xml (Tamil)
* New translations alert_descriptions.xml (Tamil)
* New translations alert_codes.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations validator.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations exam.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations strings.xml (Tamil)
* New translations objectives.xml (Tamil)
* New translations exceptions.xml (Tamil)
* New translations strings.xml (Hebrew)
* New translations strings.xml (Norwegian)
* New translations strings.xml (Portuguese, Brazilian)
* New translations strings.xml (Chinese Simplified)
* New translations strings.xml (Swedish)
* New translations strings.xml (Slovak)
* New translations strings.xml (Russian)
* New translations strings.xml (Portuguese)
* New translations exam.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Polish)
* New translations strings.xml (Dutch)
* New translations strings.xml (Romanian)
* New translations strings.xml (Lithuanian)
* New translations strings.xml (Korean)
* New translations strings.xml (Italian)
* New translations strings.xml (Greek)
* New translations strings.xml (German)
* New translations strings.xml (Czech)
* New translations strings.xml (Bulgarian)
* New translations strings.xml (Afrikaans)
* New translations strings.xml (Spanish)
* New translations strings.xml (French)
* New translations strings.xml (German)
* New translations validator.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Norwegian)
* New translations strings.xml (Hebrew)
* New translations objectives.xml (Hebrew)
* New translations strings.xml (Czech)
* New translations strings.xml (Italian)
* New translations strings.xml (Portuguese)
* New translations alert_titles.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Russian)
* New translations strings.xml (Portuguese)
* New translations exam.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations validator.xml (French)
* New translations alert_descriptions.xml (French)
* New translations alert_titles.xml (French)
* New translations strings.xml (French)
* New translations strings.xml (German)
* New translations strings.xml (French)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Russian)
* New translations strings.xml (Czech)
* New translations strings.xml (Italian)
* New translations strings.xml (Norwegian)
* New translations strings.xml (French)
* New translations alert_descriptions.xml (Swedish)
* New translations alert_titles.xml (Swedish)
* New translations strings.xml (Swedish)
* New translations exam.xml (Swedish)
* New translations strings.xml (Swedish)
* New translations strings.xml (Swedish)
* New translations strings.xml (Swedish)
* New translations strings.xml (Swedish)
* New translations strings.xml (Swedish)
* New translations strings.xml (Swedish)
2021-03-08 20:22:45 +01:00
Milos Kozak
563bee2faf
PumpDescription -> kt
2021-03-07 15:19:51 +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
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
Milos Kozak
b5dcf27b07
New Crowdin updates ( #378 )
...
* New translations validator.xml (Dutch)
* New translations validator.xml (German)
* New translations alert_descriptions.xml (German)
* New translations alert_titles.xml (German)
* New translations strings.xml (German)
* New translations strings.xml (German)
* New translations strings.xml (German)
* New translations strings.xml (German)
* New translations validator.xml (Romanian)
* New translations alert_descriptions.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations exam.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations validator.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
* New translations strings.xml (Romanian)
2021-03-01 23:55:55 +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
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
77c816e813
ktlint format
2021-03-01 13:39:02 +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
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
Andrei Vereha
11633995f6
Merge pull request #11 from 0pen-dash/bart/observable-connect
...
Make OmnipodDashBleManager.connect() return an Observable of PodEvents
2021-02-28 18:30:06 +01:00
Bart Sopers
c93705e88f
Add retry for connecting to Pod
2021-02-28 18:22:56 +01:00
Bart Sopers
256cfe077d
Replace single booleans for alerts with EnumSet of AlertType and introduce sealed class AlertTrigger
2021-02-28 18:20:17 +01:00
Bart Sopers
5c8ba98682
Remove TODO
2021-02-28 15:30:12 +01:00
Bart Sopers
aa14843d33
Address review findings
2021-02-28 15:18:10 +01:00
AdrianLxM
76756fabaa
a bit more readable
2021-02-28 14:18:17 +01:00
AdrianLxM
6dce871ed4
fix database
2021-02-28 03:55:01 +01:00
AdrianLxM
2d0d38f70f
database integration test working
2021-02-28 03:30:13 +01:00
Bart Sopers
634b9c20e7
Add interceptors for PodEvents and errors
2021-02-28 00:42:32 +01:00
Bart Sopers
8d629977ec
Improvement
2021-02-27 23:52:06 +01:00
AdrianLxM
86d965a7f1
initial history database
2021-02-27 23:50:51 +01:00
Bart Sopers
7e5667705d
Minor improvement
2021-02-27 23:46:57 +01:00
Bart Sopers
d08a979da3
Make OmnipodDashManager.connect() return an Observable of PodEvents
2021-02-27 23:21:09 +01:00
Andrei Vereha
5ca622a923
Merge branch 'dash-bart-random' into ble-message
2021-02-27 18:45:01 +01:00
Andrei Vereha
899a3d4213
Merge branch 'dash-bart-random' into ble-message
2021-02-27 18:35:14 +01:00
Bart Sopers
dcf7672a24
More cleanup after conversion
2021-02-27 00:39:55 +01:00
Bart Sopers
ba65a47380
Merge branch 'dash-bart-random' into adrian/something
2021-02-26 22:12:39 +01:00
Bart Sopers
0a013b6d2b
Serializable instead of Any for data in PodEvent
2021-02-26 22:10:25 +01:00
AdrianLxM
ae30387a25
cleanups
2021-02-26 21:45:17 +01:00
Andrei Vereha
fb7a84bdf7
ble: add meaninful constants in the PayloadSplitter and getPodId
2021-02-26 21:30:29 +01:00
Andrei Vereha
358748654e
ble: reformat(Ctrl+Alt+L)
2021-02-26 18:30:59 +01:00
Bart Sopers
dbff1c6e50
Add Profile to BasalProgram mapper function, add some preliminary code in OmnipodDashManagerImpl
2021-02-26 17:38:45 +01:00
Andrei Vereha
9170cc6f76
move the test code to "connect"
...
this is wrong, for now I just need an easy way to test the initial handshake
2021-02-26 17:06:03 +01:00
Andrei Vereha
4664d21ddf
format, cleanups
2021-02-26 17:01:53 +01:00
Andrei Vereha
badf8fe24d
ble: sending the first SP1/SP2 pairing command
...
from the fake pod logs
```
INFO[0007] Received SP1 SP2 payload 5350313d0004000010912c5350323d000bffc32dbd08030e0100008a
TRAC[0007] Read field: SP1= :: 00001091 :: 4
TRAC[0007] Read field: ,SP2= :: ffc32dbd08030e0100008a :: 11
INFO[0007] Received SP1 SP2: 00001091 :: ffc32dbd08030e0100008a
```
2021-02-26 17:01:53 +01:00
Andrei Vereha
318c0c642c
WIP: sp1sp2
2021-02-26 17:01:53 +01:00
Andrei Vereha
4e6ad3f113
add comments with the LTK steps
2021-02-26 17:01:53 +01:00
Andrei Vereha
1661d978d0
mark not implemented yet functions
2021-02-26 17:01:53 +01:00
Andrei Vereha
ea4db2c17b
ble: start implementing message reading
2021-02-26 17:01:53 +01:00
Andrei Vereha
af1d505e36
ble:
...
- address review comments: renames and removed unused vars
- implement serialization for BlePackets
- improve logging, add .toHex() where we have []byte
```
INFO[0009] Received SP1 SP2 payload 5350313d0004024200032c5350323d000bffc32dbd20030e01000016
TRAC[0009] Read field: SP1= :: 02420003 :: 4
TRAC[0009] Read field: ,SP2= :: ffc32dbd20030e01000016 :: 11
INFO[0009] Received SP1 SP2: 02420003 :: ffc32dbd20030e01000016
```
2021-02-26 17:01:53 +01:00
Andrei Vereha
08ff02dd4f
ble: start implementing message splitting and sending
2021-02-26 17:01:50 +01:00
Bart Sopers
29c0b62978
Merge branch 'dash' into dash-bart-random
2021-02-26 16:11:21 +01:00
Andrei Vereha
72d0ca774f
define connection status as enum class
2021-02-26 16:04:26 +01:00
Bart Sopers
69c0b5afa7
Add Omnipod Dash GetStatusCommand and ProgramBeepsCommand
2021-02-26 14:41:18 +01:00
Andrei Vereha
f0e333da6c
format
2021-02-26 13:37:44 +01:00
Andrei Vereha
a23c3f2cd8
Define OmnipodDashBleManager interface
2021-02-26 13:35:01 +01:00
Andrei Vereha
2675592a54
Revert "Define OmnipodDashBleManager interface"
...
This reverts commit 2c9e9e7e74
.
2021-02-26 13:34:16 +01:00
Andrei Vereha
2c9e9e7e74
Define OmnipodDashBleManager interface
2021-02-26 13:33:13 +01:00
Bart Sopers
f2922057c0
Convert Omnipod Dash tests to Kotlin
2021-02-26 13:21:27 +01:00
Bart Sopers
85140dfb01
More formatting
2021-02-26 10:41:13 +01:00
Bart Sopers
29617b5d8c
Remove redundant qualifiers
2021-02-26 10:26:30 +01:00
Bart Sopers
04cd03f99f
Address review comments
2021-02-26 10:21:26 +01:00
Bart Sopers
1a12d6cd9d
Formatting after Kotlin conversion
2021-02-26 10:04:33 +01:00
Milos Kozak
b6cb9edaa3
New Crowdin updates ( #374 )
...
* New translations strings.xml (Afrikaans)
* New translations alert_descriptions.xml (Portuguese)
* New translations alert_titles.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations strings.xml (Portuguese)
* New translations validator.xml (Russian)
* New translations strings.xml (Russian)
* New translations alert_descriptions.xml (Russian)
* New translations strings.xml (Russian)
2021-02-26 09:23:39 +01:00
Bart Sopers
cc3b9b7f32
Copied from OmnipodErosOverviewFragment to OmnipodDashOverviewFragment and added lots of TODOS there
2021-02-26 04:12:11 +01:00
Bart Sopers
acfd40e6d1
Add methods to OmnipodDashManager
2021-02-26 02:49:13 +01:00
Bart Sopers
97aac063ee
Add OmnipodDashManagerImpl
2021-02-26 02:45:44 +01:00
Bart Sopers
f32d605567
Add OmnipodDashManager interface
2021-02-26 02:34:30 +01:00