NV14 fixed firmware and simu build.

This commit is contained in:
Richard Li
2021-07-27 14:16:06 +08:00
parent 15e19a52c4
commit 67bf2a4e2b
3 changed files with 41 additions and 11 deletions
+3 -2
View File
@@ -68,7 +68,7 @@ set(FIRMWARE_TARGET_SRC
set(BITMAPS_TARGET nv14_bitmaps)
set(FONTS_TARGET x12_fonts)
set(LCD_DRIVER lcd_driver.cpp)
set(LUA_EXPORT lua_export_x10)
set(LUA_EXPORT lua_export_nv14)
set(TOUCH_DRIVER touch_driver.cpp)
set(HARDWARE_TOUCH YES)
@@ -77,6 +77,8 @@ set(RADIO_DEPENDENCIES ${RADIO_DEPENDENCIES} ${BITMAPS_TARGET} truetype_fonts)
set(HARDWARE_TOUCH ON)
set(SOFTWARE_KEYBOARD ON)
set(FIRMWARE_DEPENDENCIES datacopy)
add_definitions(-DSTM32F429_439xx -DSDRAM -DCOLORLCD -DLIBOPENUI -DHARDWARE_TOUCH -DSOFTWARE_KEYBOARD)
add_definitions(-DEEPROM_VARIANT=0 -DAUDIO -DVOICE -DRTCLOCK)
add_definitions(-DGPS_USART_BAUDRATE=${INTERNAL_GPS_BAUDRATE})
@@ -212,4 +214,3 @@ if(PYTHONINTERP_FOUND)
)
endif()
set(LUA_EXPORT lua_export_nv14)
+36 -7
View File
@@ -21,10 +21,10 @@
#ifndef _BOARD_H_
#define _BOARD_H_
#include "../definitions.h"
#include "../opentx_constants.h"
#include "hal.h"
#include "definitions.h"
#include "opentx_constants.h"
#include "board_common.h"
#include "hal.h"
#if !defined(LUA_EXPORT_GENERATION)
#include "stm32f4xx_sdio.h"
@@ -265,10 +265,10 @@ uint32_t readTrims();
extern uint32_t powerupReason;
extern uint32_t boardState;
#define SHUTDOWN_REQUEST 0xDEADBEEF
/*#define SHUTDOWN_REQUEST 0xDEADBEEF
#define NO_SHUTDOWN_REQUEST ~SHUTDOWN_REQUEST
#define DIRTY_SHUTDOWN 0xCAFEDEAD
#define NORMAL_POWER_OFF ~DIRTY_SHUTDOWN
#define NORMAL_POWER_OFF ~DIRTY_SHUTDOWN*/
#define WDG_DURATION 500 /*ms*/
void watchdogInit(unsigned int duration);
@@ -361,6 +361,35 @@ uint16_t getBatteryVoltage(); // returns current battery voltage in 10mV steps
#define BATTERY_MIN 35 // 3.5V
#define BATTERY_MAX 42 // 4.2V
#if defined(__cplusplus)
enum PowerReason {
SHUTDOWN_REQUEST = 0xDEADBEEF,
SOFTRESET_REQUEST = 0xCAFEDEAD,
};
constexpr uint32_t POWER_REASON_SIGNATURE = 0x0178746F;
inline bool UNEXPECTED_SHUTDOWN()
{
#if defined(SIMU) || defined(NO_UNEXPECTED_SHUTDOWN)
return false;
#else
if (WAS_RESET_BY_WATCHDOG())
return true;
else if (WAS_RESET_BY_SOFTWARE())
return RTC->BKP0R != SOFTRESET_REQUEST;
else
return RTC->BKP1R == POWER_REASON_SIGNATURE && RTC->BKP0R != SHUTDOWN_REQUEST;
#endif
}
inline void SET_POWER_REASON(uint32_t value)
{
RTC->BKP0R = value;
RTC->BKP1R = POWER_REASON_SIGNATURE;
}
#endif
#if defined(__cplusplus) && !defined(SIMU)
extern "C" {
#endif
@@ -384,11 +413,11 @@ bool pwrPressed();
#define pwrForcePressed() false
#endif
uint32_t pwrPressedDuration();;
#if defined(SIMU) || defined(NO_UNEXPECTED_SHUTDOWN)
/*#if defined(SIMU) || defined(NO_UNEXPECTED_SHUTDOWN)
#define UNEXPECTED_SHUTDOWN() (false)
#else
#define UNEXPECTED_SHUTDOWN() (powerupReason == DIRTY_SHUTDOWN)
#endif
#endif*/
#define AUX_SERIAL_POWER_ON()
#define AUX_SERIAL_POWER_OFF()
+2 -2
View File
@@ -89,10 +89,10 @@ bool pwrPressed()
void pwrResetHandler()
{
if (boardState != BOARD_POWER_OFF) {
powerupReason = boardState != BOARD_REBOOT && WAS_RESET_BY_WATCHDOG_OR_SOFTWARE() ? DIRTY_SHUTDOWN : ~DIRTY_SHUTDOWN;
powerupReason = boardState != BOARD_REBOOT && WAS_RESET_BY_WATCHDOG_OR_SOFTWARE() ? SOFTRESET_REQUEST : SHUTDOWN_REQUEST;
RCC->CSR |= RCC_CSR_RMVF; //clear all flags
}
else {
powerupReason = ~DIRTY_SHUTDOWN;
powerupReason = SHUTDOWN_REQUEST;
}
}