Skip to content

Service Proposal: FOTAService  #46

@AGlass0fMilk

Description

@AGlass0fMilk

BLE Standard Service:

  • Yes
  • No

Proposed UUID(s) or link to specification document:

See specification and documentation on fota-service branch here:

https://github.com/ARMmbed/mbed-os-experimental-ble-services/tree/5328cacea69452901a691b7380366b6a188cf503/services/FOTA

@pan- @noonfom @paul-szczepanek-arm I took aspects from our discussion in #13 and wrote up a more formal specification README, taking the LinkLossService as an example.

The newly-renamed FOTAService strips out some complexity from my original DFUService proposal. I think the new specification covers the most basic use cases while providing for more advanced features and extensions in the future.

I have yet to refactor the code, but I'm planning to split off the BlockDevice dependency into standard FOTAService::EventHandlers that we provide. A user can implement their own custom logic if they wish, but we can provide a basic event handler for writing to a given block device. This also serves as a way for us to provide modular extensions (eg: delta updates, trigger connection parameter updates, etc) in the future as part of our standard library of event handlers.

Before I go much further on the code and tests, I wanted to get your feedback.

Let me know what you think and if I missed any corner cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    serviceService proposal or submission

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions