๐พ Customizable menu system for M5Stack and ESP32-Chimera-Core - loads apps from the Micro SD card. Easily add you own apps
MIT License
Bot releases are hidden (Show)
Full Changelog: https://github.com/tobozo/M5Stack-SD-Updater/compare/v1.2.7...v1.2.8
Published by tobozo over 1 year ago
Full Changelog: https://github.com/tobozo/M5Stack-SD-Updater/compare/v1.2.5...v1.2.7
Published by tobozo over 1 year ago
SDUCfg.setBinFileName()
crashingSpecial thanks to @GOB52 for thinking out of the box ๐
Full Changelog: https://github.com/tobozo/M5Stack-SD-Updater/compare/v1.2.4...v1.2.5
Published by tobozo over 1 year ago
Full Changelog: https://github.com/tobozo/M5Stack-SD-Updater/compare/v1.2.1...v1.2.4
Published by tobozo about 2 years ago
Added support for:
Full Changelog: https://github.com/tobozo/M5Stack-SD-Updater/compare/v1.2.0...v1.2.1
Published by tobozo over 2 years ago
Published by tobozo over 2 years ago
Published by tobozo almost 3 years ago
Published by tobozo almost 3 years ago
SDU_APP_AUTHOR
and SDUCfg.setAuthorName()
for lobby screen.SDUCfg.onButtonDrawCb
type uses an extra argument (text shadow color), this will change again in a further release.Full Changelog: https://github.com/tobozo/M5Stack-SD-Updater/compare/v1.1.6...v1.1.7
Published by tobozo almost 3 years ago
use_rollback
along with SDUCfg.useRolllback( bool )
, setting it to false will disable the rollback checks and force the loading of menu.bin
from the SD Card. This adresses specific partition schemes that do not use OTA1/OTA2.Published by tobozo almost 3 years ago
Apologies for the colour choices, if it can be of any consolation, some elements of the lobby design can be customized and I'll be happy to integrate a better theme if a contribution shows up.
Customizing the colours is possible by overwriting some object propertis, see DefaultBtnStyle
, SplashTitleStyle
, SplashAppNameStyle
, SplashAppPathStyle
and ProgressStyle
in M5StackUpdaterUI.h
.
checkSDUpdater
, the lobby screen is visible at every boot and runs a countdown until that delay is expired: // Setting `5000` is strongly recommended with touch screens.
checkSDUpdater(
SD,
MENU_BIN,
5000, // <-- wait delay, (milliseconds, default=0)
TFCARD_CS_PIN
);
SDUCfg.setLabelSave( const char* label ); // change the label on the "Save" button
SDUCfg.setAppName( const char* name ); // set the application name (displayed in the lobby)
SDUCfg.setBinFileName( const char* path ); // set the application binary path (used by saveSketchToFS)
saveSketchToFS
is now implicit if a binary path is associated to the running sketch and the file does not exist on the SD Card
SDUCfg.setAppName( "My Application" ); // Lobby screen label: application name
SDUCfg.setBinFileName( "/MyApplication.bin" ); // If file path to bin is set for this app, it will be checked at boot and created if not exist
Whether the binary file exists or not, an extra Save
button associated to BtnC
will be shown in the lobby.
Using the Save
button will manually create or overwrite the binary at the path specified by SDUCfg.setBinFileName
.
This can be handy during development as well as for backuping both the menu.bin and the running app.
While the library is still under development, it may need some quirks to work outside M5Stack scope such as manually defining TFCARD_CS_PIN
(default=4) before #include <M5StackUpdater.h>
.
setFont()
method in the M5StickC.h
library and no BtnC
implementationM5StickC.h
will soon be dropped and replaced by M5Unified.h
M5Core2.h
will soon be dropped and replaced by M5Unified.h
Published by tobozo about 3 years ago
Added SDUCfg.setLabelMenu( const char* )
and SDUCfg.setLabelSkip( const char* )
to the config loader, to let the user customize the text in the action buttons visible in the lobby.
It must be called before checkSDUpdater()
.
An few extra macros have been added, see gitTagVersion.h
#if defined M5_SD_UPDATER_VERSION_INT
SDUCfg.setLabelMenu("<< Menu");
SDUCfg.setLabelSkip("Launch");
#endif
Published by tobozo about 3 years ago
Restored a macro based on esp-idf version rather than using the new ESP_ARDUINO_VERSION_VAL()
macro which gives errors with older core versions.
See #156, thanks to @fermintm for reporting.
Published by tobozo about 3 years ago
Support added for:
New Features:
saveSketchToFS()
: copy sketch from flash to filesystem#define SDU_APP_NAME
to customize lobby screen#define SDU_HEADLESS
to use serial as action source for update SDUCfg.setProgressCb ( myProgress ); // void (*onProgress)( int state, int size )
SDUCfg.setMessageCb ( myDrawMsg ); // void (*onMessage)( const String& label )
SDUCfg.setErrorCb ( myErrorMsg ); // void (*onError)( const String& message, unsigned long delay )
SDUCfg.setBeforeCb ( myBeforeCb ); // void (*onBefore)()
SDUCfg.setAfterCb ( myAfterCb ); // void (*onAfter)()
SDUCfg.setSplashPageCb( myDrawSplashPage ); // void (*onSplashPage)( const char* msg )
SDUCfg.setButtonDrawCb( myDrawPushButton ); // void (*onButtonDraw)( const char* label, uint8_t position, uint16_t outlinecolor, uint16_t fillcolor, uint16_t textcolor )
SDUCfg.setWaitForActionCb( myActionTrigger ); // int (*onWaitForAction)( char* labelLoad, char* labelSkip, unsigned long waitdelay )
Breaking changes:
checkSDUpdater()
's first argument (fs::FS
) is now mandatoryM5StackUpdater.h
Examples:
saveSketchToFS()
featurePublished by tobozo almost 4 years ago
added library.json fix for platformio
Published by tobozo almost 4 years ago
compilation fix & code improvement
Published by tobozo about 4 years ago
Published by tobozo about 4 years ago
Published by tobozo over 4 years ago
Published by tobozo over 4 years ago