Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create analysis data runner and sensor delegate adapter #42

Closed
3 tasks done
adamfowleruk opened this issue Mar 10, 2021 · 3 comments
Closed
3 tasks done

Create analysis data runner and sensor delegate adapter #42

adamfowleruk opened this issue Mar 10, 2021 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@adamfowleruk
Copy link
Contributor

adamfowleruk commented Mar 10, 2021

Please start with a use case description for a USER of this enhancement

[Who] As an epidemiologist-developer OR DCT app developer

[What] I need to easily 'plug in' my data analysis pipeline to a real app, live

[Value] In order to evaluate and use my analysis algorithms within an app and evaluate their efficacy, and provide value to app users (E.g. a read out of their risk exposure estimate)

Describe the potential solution you'd like

  • Add a helper container class to store multiple SampleLists, one per BLE Device contact, with lifecycle methods to handle new/to-be-deleted devices, and calling a instance of an analysis chain per device via the analysis runner
  • Create an analysis runner to own and manage the lists (with a method to get/create a list, invoke an analysis chain, etc.)
  • Add an adapter to link a Herald Sensor Delegate in to these analysis chains managed by the analysis runner

Describe alternatives you've considered

Manual linking - complex and a repeatable pattern everyone will need, so it makes sense to solve it once.

Additional context

Please use template classes to allow type of Device and DeviceID to be dynamic (i.e. not just limited to the BLEDevice class and data)

Relative priority

High: Required for release v1.3

@adamfowleruk adamfowleruk added the enhancement New feature or request label Mar 10, 2021
@adamfowleruk adamfowleruk self-assigned this Mar 11, 2021
@adamfowleruk
Copy link
Contributor Author

adamfowleruk commented Mar 21, 2021

Also required for completion:-

  • Add and test alongside existing dummy analysis delegate, a Herald Logging Analysis Delegate
  • Add Logging Analysis Delegate to demo wearable app
  • Test and validate on nRF5340dk
  • Ensure rebuild/retest for all 4 platforms works and is within memory/flash limits - See Task: Validate on nRF52840DK and nRF52832DK and nRF52833DK #24

@adamfowleruk
Copy link
Contributor Author

Currently experiencing a fatal error running on nRF5340dk. Likely caused by the logging delegate's default constructor due to how the analysis runner works currently. Need to investigate.

@adamfowleruk
Copy link
Contributor Author

Fixed for all but nRF52832 due to memory issue. Completing for now. Full test after memory tuning will fix that platform's issues.

adamfowleruk added a commit that referenced this issue Apr 21, 2021
Fixes #42. Analysis API complete.
Signed-off-by: Adam Fowler <adam@adamfowler.org>
adamfowleruk added a commit that referenced this issue Aug 30, 2021
Signed-off-by: Adam Fowler <adamfowleruk@gmail.com>
adamfowleruk added a commit that referenced this issue Aug 30, 2021
Known issue: Still experiencing stack overflows in wearable example.
Signed-off-by: Adam Fowler <adamfowleruk@gmail.com>
adamfowleruk added a commit that referenced this issue Aug 30, 2021
Known issues:-
- Sensor Logger doesn't allow data parameters to be logged without hard fault on Zephyr
Signed-off-by: Adam Fowler <adam@adamfowler.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant