Commit graph

1803 commits

Author SHA1 Message Date
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 d85425e68b
NPE guard. 2017-07-21 17:40:12 +02:00
Johannes Mockenhaupt d5bf5812b7
Rebind ruffy if there is an exception. 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 e322b15e1c
debug: setTbrPercent: 5 minute head start 2017-07-19 21:45:28 +02:00
Johannes Mockenhaupt a55756367f
ComboPlugin: use CommandResult.completionTime for treatment entries. 2017-07-19 21:45:28 +02:00
Johannes Mockenhaupt a8ecc85429
ConfigBuilderPlugin.applyApsResult: more verbose logging
Log whether the pump was asked to set a TBR if if that is skipped
since the pump still runs the requested TBR and for how long.
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 a7c77bc177
Add "pump error (message)" as a field in Combo fragement. 2017-07-19 21:45:28 +02:00
Johannes Mockenhaupt 8cdd604b84
Merge remote-tracking branch 'origin/dev' into combo
* origin/dev:
  bulgarian removed non-translatable
  synchronize interval access
  nsclient remove debug data that puts stress on the broadcast system 3
  nsclient remove debug data that puts stress on the broadcast system 2
  nsclient remove debug data that puts stress on the broadcast system
  Align OpenAS(A)MA fragments with layout of other fragments.
  local broadcasts better setting title
  setting to disable local broadcasts in NSClient
  removed some "unneeded" translations
  wear tdd weighted
  wear TDD status
  wear menu simplification
  Translated latest additions strings.xml
  ns client quickfix now catch all
  NS client quickfix - catch even more
  catch TransactionTooLargeException
  TT new "old" logic for temp targets
  TT refactor OverlappingIntervals to two classes with an abstract superclass Intervals

# Conflicts:
#	app/src/main/res/values/strings.xml
2017-07-19 19:54:50 +02:00
AdrianLxM 123b171f58 Merge pull request #300 from AdrianLxM/language-fix
bulgarian removed non-translatable
2017-07-19 19:52:16 +02:00
AdrianLxM 732e225c7d bulgarian removed non-translatable 2017-07-19 19:50:40 +02:00
AdrianLxM f220bb034e Merge pull request #286 from AdrianLxM/temp-target-logic
Temp target logic
2017-07-19 19:33:17 +02:00
AdrianLxM e51954cec3 Merge pull request #292 from AdrianLxM/wear-tdd
Wear tdd
2017-07-19 19:05:41 +02:00
Milos Kozak 3475b64e1b Merge pull request #299 from MilosKozak/dev-nsclient-quickfix
NSClient quickfix
2017-07-19 18:53:38 +02:00
AdrianLxM 76990b7983 synchronize interval access 2017-07-19 17:39:55 +02:00
Milos Kozak 62ff62a31f Merge pull request #290 from PoweRGbg/patch-1 2017-07-19 17:21:15 +02:00
Milos Kozak ecd018d8d1 Merge pull request #296 from jotomo/fragmented-aesthetics 2017-07-19 17:19:42 +02:00
AdrianLxM e6ce35485a nsclient remove debug data that puts stress on the broadcast system 3 2017-07-19 16:09:34 +02:00
AdrianLxM 621c32d832 nsclient remove debug data that puts stress on the broadcast system 2 2017-07-19 16:06:36 +02:00
AdrianLxM c1e030d789 nsclient remove debug data that puts stress on the broadcast system 2017-07-19 16:05:13 +02:00
Johannes Mockenhaupt c95879e6ad
Align OpenAS(A)MA fragments with layout of other fragments.
Removes a margin that makes the top elements jump up and
down when flipping through tabs.
2017-07-19 12:32:18 +02:00
Johannes Mockenhaupt 7b16716b65
Clean up statusSumary, command result and pump status. 2017-07-19 01:53:37 +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 825a87f474
Use OpenAPS-requested duration for TBRs. 2017-07-18 23:57:48 +02:00
AdrianLxM cfe8e0a23a local broadcasts better setting title 2017-07-18 22:18:10 +02:00
AdrianLxM c753873769 setting to disable local broadcasts in NSClient 2017-07-18 22:15:17 +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 14d7043600
Skip fetching initial pump state if ruffy service isn't ready yet. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt f3b508ba2d
Combo tab: refresh on resume
Since we're not getting events when the fragement is not displayed,
since we're unregistering from event in onPause.
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 b4950b3037
Provide suspended state information to AAPS.
AAPS seems to still try to issue commands (like cancel TBR,
though none is running?)), despite showing "Pump suspended"
on the home screen.
With the DanaR, AAPS also tries to run commands when the
pump is suspended, but there, the treatment is logged
as being administered despite the pump not having done that.

Here, the pump response with success=false, enacted=false,
which causes the ComboPlugin class to NOT create any
treatments. No errors are raised, as this is considered a regular
state: no treatments are enacted, overview screen shows
"pump suspended" and the combo beeping away.
That AAPS still tries to issue TBR commands ... that's AAPS'
problem for now. Buttons to issue boluses are hiden though.
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 599f3ce23c
Order methods in the order they're called, start Alerter service earlier to make sure it can catch early errors. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 487e9deb88
Set an error state when the ruffy service can't be bound.
See code comment.
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