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