Commit graph

196 commits

Author SHA1 Message Date
Johannes Mockenhaupt
a230501f74
Add alternative SetTbrCommand for pumps with different behaviour. 2017-08-17 11:29:17 +02:00
Johannes Mockenhaupt
f41d597c07
Formatting. 2017-08-17 10:58:21 +02:00
Johannes Mockenhaupt
ec508b55c4
SetTbrCommand: fix check in main menu after cancelling TBR.
The percentage attribute is displayed with a value of 100, though it's not visible on the display. This change just checks the no duration is displayed to verify no TBR is currently running.
2017-08-15 13:18:42 +02:00
Johannes Mockenhaupt
bb0bea98c3
Don't ignore exceptions when binding the ruffy service. 2017-08-12 16:01:05 +02:00
Johannes Mockenhaupt
ead8508760
Format code. 2017-08-12 16:00:05 +02:00
Johannes Mockenhaupt
d75a04c985
After setting/cancelling TBR also check main menu state after cancel. 2017-08-12 15:22:55 +02:00
Johannes Mockenhaupt
49aa63bd31
More verbose logging, some notes added. 2017-08-12 15:22:55 +02:00
Johannes Mockenhaupt
5a1d2d495d
Rename RuffyScripter.waitScreen -> waitForScreenUpdate. 2017-08-12 15:22:55 +02:00
Johannes Mockenhaupt
fc5b4cd93b
Some logging. 2017-08-12 15:22:55 +02:00
Johannes Mockenhaupt
d3058f6063
Let an unexpected warning/error escalate rather than hide it. 2017-08-12 15:22:55 +02:00
Johannes Mockenhaupt
2f3d362240
Use SystemClock.sleep() instead of Thread.sleep() throughout. 2017-08-12 15:22:55 +02:00
Johannes Mockenhaupt
306a2787d0
Throw CommandException instead of Exception. 2017-08-12 15:22:55 +02:00
Sandra Keßler
bdbf151efe add full Menu Output to debug 2017-08-12 15:10:14 +02:00
Sandra Keßler
389eae93c5 renamed goToMainMenuScreen to gotToMainTypeMenu to make it clevrer that Menu.isMaintype is meant, deactivates getBasal for now 2017-08-12 14:15:04 +02:00
Sandra Keßler
d89b914bc2 removed Log from SetTbrCommand 2017-08-12 13:31:47 +02:00
Sandra Keßler
59ee67a353 add Logger logs 2017-08-12 09:29:07 +02:00
Sandra Keßler
92ca9aaede some Small improvements 2017-08-12 00:27:30 +02:00
Sandra Keßler
3fd6884d03 just rewrote SetTbrCommand to be a scripted command, maybe fixed some errors along the way, Runs very smooth on my shitty pump 2017-08-12 00:12:11 +02:00
Sandra Keßler
abe4c1ff3a return immidiatly if we are in correct menu 2017-08-11 23:59:05 +02:00
Sandra Keßler
1c1ea14b3c remove old handler if it was set 2017-08-11 23:58:45 +02:00
Sandra Keßler
e2b09f9e42 recovered merge/unmerge damage 2017-08-11 17:35:58 +02:00
Sandra Keßler
92b342b89a add an additional wait 2017-08-11 17:35:58 +02:00
Sandra Keßler
6a8b39ca4f forgot in last commit 2017-08-11 17:35:58 +02:00
Sandra Keßler
6acc25978b Small fix for slow Set error 2017-08-11 17:35:58 +02:00
Sandra Keßler
bd0a298168 fix maybe long duration before setting tbr 2017-08-11 17:35:58 +02:00
Sandra Keßler
e20084c97f change step calculation and fix time setting (got the actual vs requested time wrong) 2017-08-11 17:35:58 +02:00
Sandra Keßler
29b5ad9696 modify Waits/timeouts to better Set tar with short Menu timeouts 2017-08-11 17:35:58 +02:00
Sandra Keßler
b1a7083371 add Logs to setTbrCommand 2017-08-11 17:35:58 +02:00
Savek-CC
d520643d45 Merge branch 'develop' into 'mainline'
# Conflicts:
#   app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java
2017-08-06 22:35:07 +00:00
Johannes Mockenhaupt
c524e2a685
Revert merge which was committed due to a misunderstanding. 2017-08-06 21:47:17 +02:00
Johannes Mockenhaupt
0ef8fd9994
Some polish. 2017-08-05 13:11:07 +02:00
Johannes Mockenhaupt
8369893428
Fix if-statement. 2017-08-05 12:35:05 +02:00
Johannes Mockenhaupt
134bc32dac
Merge remote-tracking branch 'fork/tbrDurationFix-90-110-cancel' into stable
* fork/tbrDurationFix-90-110-cancel:
  change ComboPlugin to change basal to 90 or 110 percent instead of cancel - depending on previous tbr
  missing stuf :/
  add unused (but tested) command to get basal rate from Profile 1
  update setTBRCommand to way faster methods in scripter
  add waitScreen (wait for refresh with timeout), gotToMainMenuScreen (with the help of back and menu navigate to a given main menu), enterMenu (to navigate withhin submenus), and step (send a key repeated)
  add back key
  make keypress wait up to 2000ms for key response
  add type of menu to MenuType (main or sub menu)
  - fix Multi connect - add key sent with 2500ms wait on keypress - fix Timing and npes in setTBR - make ruffyScripter not reinit every time - fix menu npe
  change Version info
  exceptions
  maybe better error recovery?
  alternate setTBR based on StateMachine
  more time
  increase Button Timing to 200ms
  wait till we get something currentDuration % 15 == 0
  slow pump fix
  if umbind fails while service is dead, bind would never be called

# Conflicts:
#	app/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java
2017-08-05 11:42:14 +02:00
Johannes Mockenhaupt
a5692d1076
Don't attempt to start idleDisconnectMonitor again if RS is restarted. 2017-08-05 11:28:53 +02:00
Sandra Keßler
37a3270a16 missing stuf :/ 2017-08-04 17:58:28 +02:00
Sandra Keßler
f790ce6f20 add unused (but tested) command to get basal rate from Profile 1 2017-08-04 17:57:34 +02:00
Sandra Keßler
ac3859dcae update setTBRCommand to way faster methods in scripter 2017-08-04 16:39:03 +02:00
Sandra Keßler
d35283ad74 add waitScreen (wait for refresh with timeout), gotToMainMenuScreen (with the help of back and menu navigate to a given main menu), enterMenu (to navigate withhin submenus), and step (send a key repeated) 2017-08-04 16:38:25 +02:00
Sandra Keßler
d8ca2771fb add back key 2017-08-04 16:36:25 +02:00
Sandra Keßler
efb73ba4f2 make keypress wait up to 2000ms for key response 2017-08-04 16:36:12 +02:00
Sandra Keßler
6981276cab - fix Multi connect
- add key sent with 2500ms wait on keypress
- fix Timing and npes in setTBR
- make ruffyScripter not reinit every time
- fix menu npe
2017-08-04 11:53:51 +02:00
Sandra Keßler
791d905b14 exceptions 2017-07-31 13:08:10 +02:00
Sandra Keßler
58e6791441 alternate setTBR based on StateMachine 2017-07-31 11:52:31 +02:00
Sandra Keßler
3497296b6c more time 2017-07-31 09:08:12 +02:00
Sandra Keßler
a7165497ea increase Button Timing to 200ms 2017-07-30 22:49:52 +02:00
Sandra Keßler
7c001e97bf wait till we get something currentDuration % 15 == 0 2017-07-30 22:25:49 +02:00
Sandra Keßler
bfb6039c16 slow pump fix 2017-07-30 22:25:49 +02:00
Johannes Mockenhaupt
d672f3c653
Remove hander on ruffy unbind. 2017-07-30 13:03:43 +02:00
Sandra Keßler
5e845e37f7 change to support changed IRuffyService 2017-07-28 13:41:10 +02:00
AdrianLxM
9572c8d9fc Merge remote-tracking branch 'origin/develop' into read-maxtbr-clean 2017-07-27 20:27:48 +02:00
Johannes Mockenhaupt
17b0e7d71a
Fix some typos. 2017-07-27 14:35:56 +02:00
AdrianLxM
c41b12492f tbr capability retry change 2017-07-27 13:43:50 +02:00
Johannes Mockenhaupt
bd353a7043
BolusCommand: confirm via My Data history the correct amount was delivered. 2017-07-27 13:39:23 +02:00
AdrianLxM
2697ac9420 battery and insulinstate 2017-07-27 12:20:59 +02:00
Johannes Mockenhaupt
b96edc048e
Merge remote-tracking branch 'fork/develop' into stable
* fork/develop:
  setTBR - check for TBR and RUNTIME
2017-07-26 18:18:10 +02:00
AdrianLxM
76c0b999ff determine max possible tbr firstshot 2017-07-26 18:11:45 +02:00
Johannes Mockenhaupt
78d2322c14
Typos. 2017-07-26 18:02:21 +02:00
Johannes Mockenhaupt
02c80a924c
SetTbrCommand: remove retry logic, add extra checks for final bolus. 2017-07-26 18:00:18 +02:00
Johannes Mockenhaupt
da69e69570
BolusCommand: remove retry logic, add extra checks for final bolus. 2017-07-26 16:06:58 +02:00
Johannes Mockenhaupt
e1b63a4a74
Command doc. 2017-07-26 15:50:07 +02:00
Johannes Mockenhaupt
d79b221940
CommandException: provide message for printing. 2017-07-26 14:44:28 +02:00
AdrianLxM
21b81a5084 setTBR - check for TBR and RUNTIME 2017-07-26 12:19:28 +00:00
Johannes Mockenhaupt
314a551c96
Mark log entries comming from ruffy. 2017-07-24 15:18:16 +02:00
Johannes Mockenhaupt
c8c4cf2813
Add log statement. 2017-07-24 13:30:08 +02:00
Johannes Mockenhaupt
ebd9c0d876
Add wait time between reconnects.
Might improve GL#34.
2017-07-24 13:16:35 +02:00
Johannes Mockenhaupt
81f3aea42a
Provide basic pump data for upload. 2017-07-24 12:59:56 +02:00
Johannes Mockenhaupt
6a0273046d
Comment on English being the only supported pump language so far. 2017-07-24 02:24:48 +02:00
Johannes Mockenhaupt
5e5c837949
Clean up comment. 2017-07-23 23:42:44 +02:00
Johannes Mockenhaupt
cc715cf76f
Notes, typo. 2017-07-23 17:51:08 +02:00
Johannes Mockenhaupt
27187b5e75
Bugfix: More reliable way to determine if the connection is ready to execute comands. 2017-07-22 20:02:35 +02:00
Johannes Mockenhaupt
9cdd988bff
Bugfix: sleep *inside* the loop.
Whops, maxing out a core, draining the battery.
2017-07-22 17:53:55 +02:00
Johannes Mockenhaupt
fcd6f4ea0e
jotomo/AndroidAPS#29 Don't raise alarm on 'double cancellation'. 2017-07-22 11:36:52 +02:00
Johannes Mockenhaupt
a153b59d5d
Increase timeouts.
90s until timeout due to no menu updates
60s timeout for operations (waitForMenuToBeLeft, verifyMenuIsDisplayed).
2017-07-22 11:34:28 +02:00
Johannes Mockenhaupt
b3a7585a52
Note an pump sluggishness. 2017-07-22 11:07:35 +02:00
Johannes Mockenhaupt
7f185557f4
DEBUG: log temp basals that are active when pump receives command to issue a tbr when non is active on the pump. 2017-07-21 22:46:00 +02:00
Johannes Mockenhaupt
9af2e0af01
Add v2 TODO 2017-07-21 17:40:12 +02:00
Johannes Mockenhaupt
cb8a22582a
Wait up to 90s before timing out on connection attempt.
Might take longer if we need to wait for the pump display to time
out due to recent user activity.
2017-07-21 17:40:12 +02:00
Johannes Mockenhaupt
63131f73d0
Cleanups. 2017-07-21 17:40:12 +02:00
Johannes Mockenhaupt
821e31c1c3
Add debug logging. 2017-07-21 17:40:12 +02:00
Johannes Mockenhaupt
a2fad3293d
Fix adding pump state to CommandResult when there are violations. 2017-07-21 17:40:12 +02:00
Johannes Mockenhaupt
e526de68ea
Some improvements around connection state. 2017-07-21 17:40:12 +02:00
Johannes Mockenhaupt
bf179cd751
Fail on attempts to cancel non-running TBR.
Until we know this would be benign.
We still return 'enacted=true', so AAPS can mark the TBR as finished
to recover from this error state.
2017-07-21 17:28:30 +02:00
Johannes Mockenhaupt
a1564d5bb7
RuffyScripter: only set connected variable in rtConnected, rtDisconnected.
Hopefully fixes intermittent failures to close the connection, as
idleDisconnectMonitorThread sometimes fails to disconnect
because connected == false.
2017-07-19 21:45:28 +02:00
Johannes Mockenhaupt
1cf6448b0e
Add CommandResult.completionTime field and set it in RuffyScripter when the command has finished executing. 2017-07-19 21:45:28 +02:00
Johannes Mockenhaupt
97733848e7
SetTbrCommand: replace static wait with dynamic wait to have completionDate more accurate. 2017-07-19 21:45:28 +02:00
Johannes Mockenhaupt
467cf1e6ed
Pass pre-cmd pump state to command, log it. 2017-07-19 21:45:28 +02:00
Johannes Mockenhaupt
485b99e260
Show last command and pump state better in the Combo tab.
Gets rid of unhelpful "Unknown error" messaegs.
2017-07-19 01:33:19 +02:00
Johannes Mockenhaupt
5aacf8410d
Fix CancelTbrCommand to return command resutlt not in PumpState but as part of the CommandResult object. 2017-07-19 01:30:26 +02:00
Johannes Mockenhaupt
9927ab4989
Raise an error upon attempting to cancel a TBR when none is active. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
3b287df77d
Check active menu again when retrying inputs. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
abf9566476
Log exception 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
ebe14fb0cf
BolusCommand: deal with blinking values.
How did this not trigger with all the  boluses I've issued so far?
2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
7fe9ad7910
Add retries for inputing values.
Rarely there seem to be timing issues and e.g.
10 button down presses to go from 100% to 0% only goes down to 20%.
Retry two more times in that case, restarting the input process on the
active screen (bolus input, tbr percent/duration input).
2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
e52c2a857c
RuffyScripter: log command execution time. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
7dda253b88
RuffyScripter: when pump is suspended fail all commands but ReadPumpState.
Safest way for v1 (which I'm trying to stabilize, not rework ;-) ).
2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
bd14b399d5
Comment. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
55e7006967
Remove superfluous code (state is always set later in controlling thread). 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
02a9ed6eda
Set an active command before establishing a connection.
Otherwise the disconnect thread will close the connection
due to inactivity. We could add a variable 'isConnecting',
but I'm not sure if adding another (ruffy-) global state
variable will make things simpler to grasp.
2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
c37310685a
Don't count the time establishing a connection towards a command timeout.
Note: connection timeouts are also dealt with. They're now (cleanly)
separated: connect- and command-timeouts.

If the pump's display is one due to the user interacting with the pump
directly, the pump needs a display timeout before being ready for an
incoming connection. What I'm trying to say is, it might take some time,
maybe up to 30s to establish a connection in that cause and can thus
easily create a false timeout error.
2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt
36966c8907
Handle the pump being stopped: don't treat it like an error, but don't execute commands either. 2017-07-18 21:20:40 +02:00