FL-528 GUI: View, ViewDispather. Dolphin: first start. (#276)

* GUI: view. Flooper-blooper fix compilation error.
* GUI: view and viewdispatcher bones
* GUI: view implementation, view models, view dispatcher
* GUI: view navigation, model refinement. Power: use view, view dispatcher.
* HAL Flash: proper page write. Dolphin: views. Power: views
* Dolphin: transition idle scree to Views
* Dolphin: input events on stats view. Format sources.
* HAL: flash erase. Dolphin: permanent state storage.
* Dolphin: first start welcome. HAL: flash operation status, errata 2.2.9 crutch.
This commit is contained in:
あく
2021-01-08 07:42:48 +03:00
committed by GitHub
parent d65e9b04ce
commit 1b78418f9f
33 changed files with 995 additions and 212 deletions

View File

@@ -2,14 +2,28 @@
#include <api-hal-bt.h>
#include <stm32wbxx.h>
void api_hal_flash_write_dword(size_t address, uint64_t data) {
bool api_hal_flash_erase(uint8_t page, uint8_t count) {
api_hal_bt_lock_flash();
HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, address, data);
FLASH_EraseInitTypeDef erase;
erase.TypeErase = FLASH_TYPEERASE_PAGES;
erase.Page = page;
erase.NbPages = count;
uint32_t error;
HAL_StatusTypeDef status = HAL_FLASHEx_Erase(&erase, &error);
api_hal_bt_unlock_flash();
return status == HAL_OK;
}
void api_hal_flash_write_row(size_t address, size_t source_address) {
bool api_hal_flash_write_dword(size_t address, uint64_t data) {
api_hal_bt_lock_flash();
HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, address, source_address);
HAL_StatusTypeDef status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, address, data);
api_hal_bt_unlock_flash();
return status == HAL_OK;
}
bool api_hal_flash_write_row(size_t address, size_t source_address) {
api_hal_bt_lock_flash();
HAL_StatusTypeDef status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_FAST, address, source_address);
api_hal_bt_unlock_flash();
return status == HAL_OK;
}