50 lines
1.9 KiB
Text
50 lines
1.9 KiB
Text
|
rBoot - User API and OTA support for rBoot on the ESP8266
|
||
|
---------------------------------------------------------
|
||
|
by Richard A Burton, richardaburton@gmail.com
|
||
|
http://richard.burtons.org/
|
||
|
|
||
|
See rBoot readme.txt for how to create suitable rom images to update OTA.
|
||
|
|
||
|
This provides a couple of simple APIs for getting rBoot config and one for over
|
||
|
the air updates (OTA):
|
||
|
|
||
|
rboot_config rboot_get_config();
|
||
|
Returns rboot_config (defined in rboot.h) allowing you to modify any values
|
||
|
in it, including the rom layout.
|
||
|
|
||
|
bool rboot_set_config(rboot_config *conf);
|
||
|
Saves the rboot_config structure back to sector 2 of the flash, while
|
||
|
maintaining the contents of the rest of the sector. You can use the rest of
|
||
|
this sector for your app settings, as long as protect this structure when
|
||
|
you do so.
|
||
|
|
||
|
uint8 rboot_get_current_rom();
|
||
|
Get the currently selected boot rom (the currently running rom, as long as
|
||
|
you haven't changed it since boot).
|
||
|
|
||
|
bool rboot_set_current_rom(uint8 rom);
|
||
|
Set the current boot rom, which will be used when next restarted.
|
||
|
|
||
|
bool rboot_ota_start(rboot_ota *ota);
|
||
|
Starts an OTA. Pass it an rboot_ota structure with appropriate options. This
|
||
|
function works very much like the SDK libupgrade code you may already be
|
||
|
using, very few changes will be needed to switch to this.
|
||
|
|
||
|
typedef struct {
|
||
|
uint8 ip[4];
|
||
|
uint16 port;
|
||
|
uint8 *request;
|
||
|
uint8 rom_slot;
|
||
|
uint32 rom_addr;
|
||
|
ota_callback callback;
|
||
|
} rboot_ota;
|
||
|
|
||
|
- ip is the ip of the OTA http server.
|
||
|
- port is the server port (e.g. 80).
|
||
|
- request is the http request to send.
|
||
|
- rom_slot is the rom slot to write to (numbered from zero), or set to
|
||
|
FLASH_BY_ADDR to flash by address instead of by rom slot.
|
||
|
- rom_addr is the flash address to write to when using FLASH_BY_ADDR,
|
||
|
otherwise it is ignored.
|
||
|
- call back is the user code function to call on completion of OTA.
|