Commit graph

1625 commits

Author SHA1 Message Date
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
Johannes Mockenhaupt 222ad0a527
Improve display of error state in Combo tab. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 7fa59c6c16
Combo tab: we have set a TBR duration, we're not showing how much time is remaing, but what has been set. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt e9fa9b1788
Silly me, of course fragments (and everything else) are recreated by Android all the time. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 29e7ea1966
Don't ignore user requests to update pump data, tweak alerter. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 338d29630c
Notes from manual timing test (yeah, new timeout code seems to work). 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt af4ec4d072
BolusCommand: fix contstraint check (doh!) 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 5f43f0f147
* Fix stale data in Combo tab after error
* Add info about last command ran to the Combo tab
* Don't refresh data more than once a minute.
* Specify not only error, but also command that raised the error in
  alert notification
2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 4dc38e447a
Add first ruffyscripter test (needs ruffy to be available during test somehow). 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt ac10bdc01c
First stab at dynamic timeout. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 44ae79bd50
Move command argument checking out of ctor into a dedicated method and check prior to execution. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 6faa1614ac
ComboFragment: rename Update Button to Refresh. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 5fad9b3a85
Cleanups. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 20a8350c67
Robustness for RuffyScripter. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt aa98864d65
... this should have gone into earlier commit, the UI one? 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt ecf3866b43
Improve alerter. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt c131280e91
RuffyScripter.verifyMenuIsDisplayed: don't call waitForMenuUpdate, menu should already be displayed. If not, wait up to 1 second. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt ccffa3bfca
Add alerter thread to ComboPlugin that raises an alarm every 6 minutes (Android will by default silence alarms that go off within less than 5 minutes) when the pump state shows an error condition. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 362c3681d5
Clean up commands package. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt c63c86f98a
RuffyScripter improvements:
* Keep track of connection status rather than relying in IRuffyService.isConnected
* Abort running command if pump stops sending menu updates
* Fail if ruffy goes away (binding becomes invalid), currently only if this happens during disconnect attempts
2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt 52b9621e29
Paranoia: check we're in the expected menu before each and every button press. 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt d619796019
Improving pump status in the UI (combo tab) 2017-07-18 21:20:40 +02:00
Johannes Mockenhaupt f7586268c7
Dead code be gone. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 93c0147b23
RuffyScripter: take over connection management. Disconnect after 5s of inactivity. Plus some fixes. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt b954ddaa84
Clean up ComoPlugin a bit. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt ccd81c67fd
UI for pump state. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 2ddccd3c31
RuffyScripter.runCommand: Next shot at understanding threading better. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 83e9ec743e
Properly accessing volatile field pumpState. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 69e560baee
Cleanup. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 4c0944b9f8
Optimize cancelling TBR. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 3aecf0f58b
Be more cautious handling command failures. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 8dd714b390
UI crimes 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 8ecf6922f7
Misc improvements:
* Make command execution (RuffyScripter/ComoboPlugin.runCommand) more robust (I still suck at threading).
* Return all possible states in PumpState
* Add absolute TBR to PumpState
* Add NoOpCommand to fetch state data from pump
* Display returned pump state in Combo fragment/tab.
2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt f251427d1b
Remove ReadStateCommand, all state will be return through the PumpState field on CommandResult, so it's passed back after every command. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt ec6491fcb7
Return absolute TBR rate in PumpState. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 69b98c54c6
Polish. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 9653af5501
RuffyScripter.navigateToMenu: detect if we're wrapping around not finding a menu (likely because it's hidden) 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 7e538cbcf6
Update PumpState s/errorCode/errorMsg/g 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 99830b05b6
Fix detecting error state on connection and fix cancelling TBR.
When there's an error, timing is crucial. Waiting for the blinking error code
to be readable hangs the thread running the command.
2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt f6c8f3638b
Reflect reject TBR change in comment. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 4ff81e885c
Simplify reading alerts (message doesn't blink) 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt e01e85c54f
On connect, check if pump is in an error state. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 364123c261
Fix carb only treatment. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt d0dabf34da
Fix handling TBR CANCELLED alert, remove ill-advised attempts to fake a command queue and have all commands return a state object. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 952aa0e8a2
RuffyScripter.waitForMenuToBeLeft: add timeout. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 77711b2174
ComboPlugin.runCommand: wait if pump is busy with a command. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt d8011aeaa4
Make cancelling TBR more robust to dismiss TBR cancelled alert specifially and only if it is raised.
Cancelling a TBR with a runtime < 60s (0:01 in the display) does NOT raise a TBR cancelled alert.
2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 2c706e7c22
Remove status logging in Ruffy, now done by command. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 8bc4cd255a
Don't close connection when other cmds are about to be run. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt f5ef666061
Add timestamp to State and rename to PumpState. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt f28a27a93f
Read pump state. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 9d8d12fcb9
Cleanups. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt eab9d8dcd7
Fix reducing duration of OpenAPS TBRs 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt e76524a539
Include state in CommandResult.toString. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt 375eb46695
ReadStateCommand: properly read TBR %. 2017-07-18 21:20:39 +02:00
Johannes Mockenhaupt fa039e6961
Note on cancelling TBRs that don't trigger a pump alert. 2017-07-18 21:20:18 +02:00
Johannes Mockenhaupt 0345a01fc1
Make CancelTbrCommand more robust. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt 30fc385970
Apply pump specific modifications to OpenAPS suggestion in ComboPlugin. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt 5631488cc8
Add ReadStateCommand. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt 8b21bb1203
Skip TBR changes smaller than 20%.
~50 TBR changes in a 6 hour night seem excessive, even if pump was
handicapped by not being connected and thus not having any effect
to work with.
2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt a2b3c26b33
Log pump status on connect. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt 347890496b
SetTbrCommand: wain for menu update when switching to TBR_DURATION to make it safer, hopefully. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt 8c107cb48a
RuffyScripter: Log button presses. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt df58b6d1c2
CancelTbrCommand: log running TBR to be cancelled. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt 8e2cd844a5
Round requested absolute TBR to percent TBR. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt a21da8aba7
Remove pointless events about connection status. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt 848a32eade
Logging cleanup. 2017-07-18 20:59:56 +02:00
Johannes Mockenhaupt 9674db8d85
CancelTbrCommand: set enacted=true, even when there was no TBR to cancel.
This helps recover when there was an issue. AAPS thinks there's a TBR
running and by reporting back 'enacted', the plugin will create a
"Cancel temp" treatment.
2017-07-18 20:55:48 +02:00
Johannes Mockenhaupt 264e252300
Set last command date.
Though this is only relevant when starting to fetch data from the pump.
2017-07-18 20:55:48 +02:00
Johannes Mockenhaupt 336315823e
ComboPlugin.getBaseBasalRate: return profile value. 2017-07-18 20:55:48 +02:00
Johannes Mockenhaupt 0729d7a114
RuffyScripter: Abort a running command after 90s timeout 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt f34fed1f05
Semi-fix bolusing not logging a treatment when there was an error. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt e29ef5ffce
Update treatment history when setting/cancelling a TBR. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt a27bb28e87
ComboPlugin.deliverTreatment: return command message as comment in PumpEnactResult.
Important when there's an error.
2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt d35d93ed44
RuffyScripter.verifyMenuIsDisplayed: wait a bit longer if needed.
Sometimes the pump seems to take a bit longer.
2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 76578872d1
ComoPlugin.deliverTreatment: take more time.
Even if not interacting with the pump, AAPS calculator doesn't dismiss the
dialog if we return within the first 5s.
2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt d39d58913d
Implement #8, add treatment to history. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt e07d62bf79
Fix setting TBR when existing TBR has runtime < 15m. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 97f9e99437
toString methods for Commands. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 1c1a28f0a8
Ignore requests to issue BolusCommands for zero units. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 5f1ab4e45c
Set duration in PumpEnactResult when issuing SetTbrCommand. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 6842abd157
Provide fake current basal rate. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 3b50a5ae70
Update Combo PumpDescription w.r.t extended bolus. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 1f5c03b64e
Cleanups. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 7cb0268afc
Disconnect after issuing comand to Combo. 2017-07-18 20:55:47 +02:00
Johannes Mockenhaupt 3280092566
Source ruffy scripter for the time being (already some fixes and tweaks in). 2017-07-18 20:55:44 +02:00
Johannes Mockenhaupt 481c63fa57
Initial work on the ComboPlugin. 2017-07-18 20:54:59 +02:00
Johannes Mockenhaupt ab9908438e
Add Combo short name. 2017-07-18 20:54:57 +02:00
Milos Kozak 30b7697002
adjust combo driver for latest changes 2017-07-18 20:54:14 +02:00
Milos Kozak e9f5241821
add missing interface functions to combo 2017-07-18 20:54:14 +02:00
Milos Kozak 253c2a34e5
combo plugin skeleton 2017-07-18 20:54:13 +02:00
PoweRGbg c3f85faede removed some "unneeded" translations 2017-07-18 18:10:24 +03:00
AdrianLxM c79a5725fd Update InsulinFastactingProlongedFragment.java
... in case DIA has changed.
2017-07-18 13:19:43 +02:00
AdrianLxM 741f6bd866 Update InsulinFastactingFragment.java
... in case DIA has changed
2017-07-18 13:18:41 +02:00
Johannes Mockenhaupt 435ec55580
Extract SubscriberFragment base class. 2017-07-18 12:59:25 +02:00
Johannes Mockenhaupt 7c6bdc0b31
Have most fragments update their content in onResume. 2017-07-18 12:38:42 +02:00
AdrianLxM e0c1f65b8b wear tdd weighted 2017-07-17 22:40:05 +02:00
AdrianLxM 50c26f28fd wear TDD status 2017-07-17 22:39:48 +02:00
AdrianLxM 387cfcccaf wear menu simplification 2017-07-17 22:39:00 +02:00
PoweRGbg 7216418f44 Translated latest additions strings.xml 2017-07-17 11:37:00 +03:00
AdrianLxM 0d1ff3d721 ns client quickfix now catch all 2017-07-16 16:49:26 +02:00
AdrianLxM c64c5f5401 NS client quickfix - catch even more 2017-07-16 16:38:01 +02:00
AdrianLxM d5599f1f00 catch TransactionTooLargeException 2017-07-16 16:00:04 +02:00
Milos Kozak 26ebceb4d9 Merge pull request #288 from AdrianLxM/wear-overviewnotification 2017-07-15 16:31:45 +02:00
Boyko Kazakov 7a2db43347 Added Images for different resolutions 2017-07-15 17:03:38 +03:00
AdrianLxM b79beda971 wear pass through overview notifications 2017-07-15 16:03:04 +02:00
AdrianLxM cb08d1d76b TT new "old" logic for temp targets 2017-07-15 13:37:48 +02:00
AdrianLxM 9eaba98dfa TT refactor OverlappingIntervals to two classes with an abstract superclass Intervals 2017-07-15 13:37:48 +02:00
Johannes Mockenhaupt 80124e6d7b
Bolus wizard: use PumpDescription to round final bolus to a value compatible with the pump. 2017-07-14 23:52:16 +02:00
Milos Kozak 0e6a93df90 Merge pull request #279 from AdrianLxM/cpp-wear2
Cpp wear
2017-07-12 08:18:57 +02:00
Milos Kozak 3e9734188b check for array size 2017-07-11 11:27:14 +02:00
Milos Kozak e33d757975 Merge pull request #277 from AdrianLxM/refactor-profileswitch
extract method for new ProfileSwitch
2017-07-10 08:13:07 +02:00
AdrianLxM b53c40c4ad cpp-watch update while in backtround 2017-07-10 05:26:24 +02:00
AdrianLxM 7fa8ea7224 cpp-watch working2 2017-07-10 04:46:29 +02:00
AdrianLxM 7f0e611783 cpp watch working1 2017-07-10 04:46:13 +02:00
AdrianLxM 0bff8e2778 extract method for new ProfileSwitch 2017-07-10 04:45:43 +02:00
AdrianLxM 26f3362ffc cpp-watch first roundtrip 2017-07-10 04:45:22 +02:00
AdrianLxM 85d028abff cpp watch openactivity 2017-07-10 04:45:08 +02:00
AdrianLxM 39ee68e62a cpp-watch external-function 2017-07-10 04:44:46 +02:00
AdrianLxM 5ea8cff751 extract method for new ProfileSwitch 2017-07-10 01:25:48 +02:00
Milos Kozak 059ac4040e fix 640g plugin 2017-07-09 23:12:57 +02:00
Milos Kozak 551ff70bc8 forgotten file 2017-07-07 19:35:45 +02:00
Milos Kozak 2724e10c2f 1.5d 2017-07-07 18:39:31 +02:00
Milos Kozak d61d35fa82 move class to correct place 2017-07-07 18:37:15 +02:00
Milos Kozak 0b5abae44f fix conflict 2017-07-07 15:10:29 +02:00
Milos Kozak 8de7e05dd5 weightedaverage sensitivity 2017-07-07 15:08:21 +02:00
drnoname82 e12e4ec55e Update strings.xml 2017-07-07 01:03:20 +02:00
Milos Kozak 31e9f3f55c Merge pull request #274 from AdrianLxM/wear-oaps-reason-result
wear show oaps result/reason
2017-07-04 12:01:47 +02:00
Milos Kozak 24259470ad Merge pull request #275 from AdrianLxM/fakeextended-fix
Fake extended fix
2017-07-04 12:01:12 +02:00
AdrianLxM a45fd1619e fake extended fix 3 2017-07-04 01:43:56 +02:00
AdrianLxM 1922a1b121 fake extended fix 2 2017-07-04 00:17:26 +02:00
Milos Kozak 7b9e5fec1e autosens warning 2017-07-04 00:16:35 +02:00
AdrianLxM 1574d94aa6 fake extended fix 2017-07-04 00:03:50 +02:00
Milos Kozak c75bb0e453 fix sensitivy 2017-07-03 21:21:20 +02:00
Milos Kozak ebf56d0032 double check units are in profile 2017-07-03 11:14:30 +02:00
AdrianLxM e81b217c94 wear show oaps result/reason 2017-07-03 01:47:58 +02:00
Milos Kozak 5a27f9afa1 allow lock screen in nsclient mode 2017-07-03 00:02:54 +02:00
Milos Kozak e0e0a75519 allow ISO format with miliseconds 2017-07-02 12:49:25 +02:00
Milos Kozak 771ff0d781 1.5c 2017-07-02 11:47:16 +02:00
Milos Kozak e9dba7136d nsclient layout for phones 2017-07-02 11:28:03 +02:00
Milos Kozak d4537a001f check for null profile in watchupdaterservice 2017-06-30 23:59:12 +02:00
Milos Kozak b4ab1d4109 fix types in configbuilder 2017-06-30 21:35:07 +02:00
Milos Kozak 4d16b04acd buttons on overview GONE before profile is loaded 2017-06-30 17:50:30 +02:00
Milos Kozak 37055cd917 allow decimal number in NumberPicker 2017-06-30 17:43:10 +02:00
Milos Kozak 09e5fdc61b sensitivity prefs cleanup 2017-06-30 11:56:36 +02:00