What it solves
OTA staging needs an explicit state machine around erase, chunk receipt, verification and commit.
How it works
1Image metadata→2receive chunks→3read-back verify→4durable commit
Use it when
Stage fixed-size OTA chunks
Verify the complete staged image by read-back
Reconcile an indeterminate commit result
Quick Start
#include "mota.h"
/* Initialize mota_t with synchronous erase/write/read/commit callbacks. */
/* Begin, write exact chunks, verify, then commit. */Engineering evidence
- The repository documents exact state, chunk, power-loss and reentrancy contracts
Known limits
- No transport, bootloader, filesystem or crypto implementation
- CRC32 is corruption detection, not authentication
- Interrupted downloads do not resume; the next begin erases staging
- Commit recovery and rollback policy belong to the platform