Files
clinx02-androidpebble/doc/Developer_Guide.txt
2018-02-18 10:00:21 +00:00

63 lines
3.1 KiB
Plaintext

OpenSeizureDetector Developer Guide (for V3.0 and higher)
The OpenSeizureDetector main app is the alarm system. It monitors one
or more data sources which send it seizure detector data using broadcast
itents. If alarm conditions are experienced it will raise audible alarms
and SMS alarms if configured in the settings.
If seizure detector data is not received at the expected time, it will raise
fault alarms to warn the user of a problem.
The OpenSeizureDetector StartUpActivity does the following:
- Start the SdServer background service that does the seizure detector
monitoring.
- Monitors SdServer for a number of conditions to be met, which shows that it
is running correctly.
- Once it is running correctly, StartUpActivity exits, and MainActivity starts
to provide user display of seizure detector data.
The MainActivity does the following:
- Monitor the status of the SdServer background service, and display data
relating to the server on the screen for the user.
- Provide user interface to cancel audible alarms, accept alarms, and
open settings editing screens to configure OpenSeizureDetector.
The SdServer background service does the following.
- Reads configuration data from local stored preferences, including which
data sources are to be used.
- Sends a broadcast intent to the required data sources asking them to start.
- Monitors for broadcast intents from the data sources which contain seizure
detector data.
- Checks the time since the last data was received from the data source, and
if it is longer than a specified period, attempts to re-start the data
source. If data is still not received, raises a system fault alarm.
- Checks the seizure detector data received from the data source, and raises
audible and SMS alarms if an alarm state is detected.
- Provieds a web interface to allow users to monitor the seizure detector
status using a web browser or other http client.
Indidual Data Source apps are separate .apk packages. They provide:
- A broadcast receiver that will receive start/stop requests from the
main OpenSeizureDetector SdServer process.
- A background SdDataSourceService service that interfaces with the seizure
detector hardware (e.g. a smart watch) and receives data from the hardware.
It carries out the necessary processing to determine if an alarm condition
is present, and sends a broadcast intent to the OpenSeizureDetector SdServer
service with the data when it has been processed.
- A configuration user interface to allow the data source to be configured.
Version V3.0 will initially provide two data sources that will reproduce the
functionality of V2.5.x:
- SdDataSourcePebble - pebble watch data source
- SdDataSourceNetwork - actively request data from the web interface of another
OpenSeizureDetector instance.
These will be packages uk.org.openseizuredetector.datasource.pebble and
uk.org.openseizuredetector.datasource.network
Future data sources will be:
- SdDataSourceGarmin - uses a Garmin ConnectIQ smart watch.
- SdDataSourceAndroidWear - Uses an Android Wear smart watch.
- SdDataSourceAudio - uses the microphone on the phone to detect abnormal sounds.