new reset to factory default cmd
This commit is contained in:
parent
a579c67643
commit
1008ac9241
Binary file not shown.
|
@ -454,7 +454,12 @@
|
|||
|
||||
#define FLASH_USER_START_ADDR ((void *) 0x0803F800UL) // Last 2kB of flash
|
||||
#define FLASH_USER_CONFIG_SIZE ((void *) 0x000007FFUL) //0x400=1KB=1024
|
||||
#define FLASH_USER_END_ADDR (FLASH_USER_START_ADDR + FLASH_USER_CONFIG - 1)
|
||||
#define FLASH_USER_END_ADDR (FLASH_USER_START_ADDR + FLASH_USER_CONFIG - 1)
|
||||
|
||||
#define FLASH_MFG_DEFAULT_START_ADDR ((void *) 0x0803FC00UL) // Last 1kB of flash
|
||||
#define FLASH_MFG_DEFAULT_CONFIG_SIZE ((void *) 0x000003FFUL) //0x400=1KB=1024
|
||||
#define FLASH_MFG_DEFAULT_END_ADDR (FLASH_MFG_DEFAULT_START_ADDR + FLASH_MFG_DEFAULT_CONFIG_SIZE - 1)
|
||||
|
||||
/* 2KB = 2048 = 0x800 End @ of user Flash area */
|
||||
|
||||
/**
|
||||
|
|
|
@ -46,7 +46,7 @@ void MX_I2C2_Init(void)
|
|||
/* USER CODE END I2C2_Init 1 */
|
||||
hi2c2.Instance = I2C2;
|
||||
//hi2c2.Init.Timing = 0x20303E5D; //0x2010091A = 400K Fast Mode, 0x20303E5D, 100K Standard mode, 0x20000209 Fast Mode Plus, 1Mbps
|
||||
hi2c2.Init.Timing = I2C2_STANDARD_100K; //2024-07-12 UPDATE
|
||||
hi2c2.Init.Timing = I2C2_FAST_400K; //2024-07-12 UPDATE
|
||||
hi2c2.Init.OwnAddress1 = 0;
|
||||
hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
|
||||
hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
|
||||
|
|
|
@ -86,6 +86,7 @@ volatile bool p2_work_finished=true;
|
|||
extern volatile uint8_t luminance_level;
|
||||
uint8_t outbuf[255]={0x0};
|
||||
volatile static bool r_b=true;
|
||||
volatile sts_cfg_nvm_factory_default[64]={0xF0};
|
||||
volatile sts_cfg_nvm_t sts_cfg_nvm = {
|
||||
sts_mtmcode1,
|
||||
sts_mtmcode2,
|
||||
|
@ -1957,7 +1958,14 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
|||
__set_FAULTMASK(1);
|
||||
OnSystemReset();
|
||||
|
||||
} else if ((char)tlv_buf[CFG_CMD3] == 'S') { // Self Function Testing "YZS"
|
||||
} else if ((char)tlv_buf[CFG_CMD3] == 'F') { // RESET TO FACTORY ORIGINAL SETTING "YZF"
|
||||
|
||||
sts_cfg_nvm_factory_default[0] = 0x46; // F
|
||||
STS_REBOOT_CONFIG_Init();
|
||||
__set_FAULTMASK(1);
|
||||
OnSystemReset();
|
||||
|
||||
} else if ((char)tlv_buf[CFG_CMD3] == 'S') { // Self Function Testing "YZS"
|
||||
i=0;
|
||||
//outbuf[i++] = (uint8_t) 'Y';
|
||||
//outbuf[i++] = (uint8_t) 'Z';
|
||||
|
@ -2801,15 +2809,38 @@ void OnStoreSTSCFGContextRequest(void)
|
|||
if (FLASH_IF_Erase(STS_CONFIG_NVM_BASE_ADDRESS, FLASH_PAGE_SIZE) == FLASH_IF_OK)
|
||||
{
|
||||
FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)nvm_store_value, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
if (sts_cfg_nvm_factory_default[0] == 0xF0) {
|
||||
UTIL_MEM_cpy_8((void*)sts_cfg_nvm_factory_default, (void*)nvm_store_value, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
if ((sts_cfg_nvm.ac[0] != 0x0) && (sts_cfg_nvm.ac[19] != 0x0)) {
|
||||
sts_cfg_nvm_factory_default[0] = 0xF3; // with good ac code already
|
||||
} else {
|
||||
sts_cfg_nvm_factory_default[0] = 0xF2; // no good ac code yet
|
||||
}
|
||||
FLASH_IF_Write(FLASH_MFG_DEFAULT_START_ADDR, (const void *)sts_cfg_nvm_factory_default, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
} else if ((sts_cfg_nvm_factory_default[0] == 0xF2) && (hmac_result.ac_pass==1) ) //only store ac code at first time of ac_pass=1
|
||||
{
|
||||
if ((sts_cfg_nvm.ac[0]!=0x0) && (sts_cfg_nvm.ac[19]!=0x0)) {
|
||||
for (j = 0; j < YUNHORN_STS_AC_CODE_SIZE; j++) {
|
||||
sts_cfg_nvm_factory_default[YUNHORN_STS_MAX_NVM_CFG_SIZE-YUNHORN_STS_AC_CODE_SIZE+j] = (sts_cfg_nvm.ac[j]);
|
||||
}
|
||||
}
|
||||
sts_cfg_nvm_factory_default[0] = 0xF3; // with valid ac code
|
||||
FLASH_IF_Write(FLASH_MFG_DEFAULT_START_ADDR, (const void *)sts_cfg_nvm_factory_default, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* USER CODE BEGIN OnStoreContextRequest_Last */
|
||||
|
||||
|
||||
/* USER CODE END OnStoreContextRequest_Last */
|
||||
}
|
||||
|
||||
void OnRestoreSTSCFG_FactoryDefault_ContextRequest(void *cfg_in_nvm)
|
||||
{
|
||||
|
||||
}
|
||||
void OnRestoreSTSCFGContextRequest(void *cfg_in_nvm)
|
||||
{
|
||||
/* USER CODE BEGIN OnRestoreSTSCFGContextRequest_1 */
|
||||
|
@ -2828,7 +2859,6 @@ void OnRestoreSTSCFGContextRequest(void *cfg_in_nvm)
|
|||
/* USER CODE END OnRestoreSTSCFGContextRequest_Last */
|
||||
}
|
||||
|
||||
|
||||
void STS_REBOOT_CONFIG_Init(void)
|
||||
{
|
||||
/* USER CODE BEGIN OnRestoreContextRequest_1 */
|
||||
|
@ -2836,7 +2866,14 @@ void STS_REBOOT_CONFIG_Init(void)
|
|||
|
||||
/* USER CODE END OnRestoreContextRequest_1 */
|
||||
//UTIL_MEM_cpy_8(nvm_stored_value, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
FLASH_IF_Read(nvm_stored_value, STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
if (sts_cfg_nvm_factory_default[0] != 0x46) // for reset to factory default
|
||||
{
|
||||
FLASH_IF_Read(nvm_stored_value, STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
} else { // RESET TO FACTORY DEFAULT,CONFIG TO ORIGINAL SETTINGS
|
||||
FLASH_IF_Read(nvm_stored_value, FLASH_MFG_DEFAULT_START_ADDR, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
sts_cfg_nvm_factory_default[0] = 0xF3;
|
||||
}
|
||||
/* USER CODE BEGIN OnRestoreContextRequest_Last */
|
||||
|
||||
//#if (defined(STS_O7)||defined(STS_O5) || defined(STS_O6) || defined(STS_R0) || defined(STS_R5)|| defined(STS_R4)|| defined(STS_R1D))
|
||||
|
@ -2844,7 +2881,7 @@ void STS_REBOOT_CONFIG_Init(void)
|
|||
{
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "Initial Boot with Empty Config, Flash with default config....\r\n");
|
||||
OnStoreSTSCFGContextRequest();
|
||||
//UTIL_MEM_set_8((void *)sts_ac_code, 0x00, YUNHORN_STS_AC_CODE_SIZE);
|
||||
|
||||
HAL_Delay(1000);
|
||||
} else
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
# Toolchain: GNU Tools for STM32 (12.3.rel1)
|
||||
# Toolchain: GNU Tools for STM32 (13.3.rel1)
|
||||
################################################################################
|
||||
|
||||
-include ../makefile.init
|
||||
|
@ -12,9 +12,12 @@ RM := rm -rf
|
|||
-include Utilities/subdir.mk
|
||||
-include Middlewares/SubGHz_Phy/subdir.mk
|
||||
-include Middlewares/LoRaWAN/subdir.mk
|
||||
-include Drivers/vl53l1x_uld/subdir.mk
|
||||
-include Drivers/STM32WLxx_HAL_Driver/subdir.mk
|
||||
-include Drivers/CMSIS/subdir.mk
|
||||
-include Drivers/BSP/STM32WLxx_Nucleo/subdir.mk
|
||||
-include Application/User/TOF/Target/subdir.mk
|
||||
-include Application/User/TOF/App/subdir.mk
|
||||
-include Application/User/Startup/subdir.mk
|
||||
-include Application/User/LoRaWAN/Target/subdir.mk
|
||||
-include Application/User/LoRaWAN/App/subdir.mk
|
||||
|
@ -68,7 +71,7 @@ main-build: STS_O7.elf secondary-outputs
|
|||
|
||||
# Tool invocations
|
||||
STS_O7.elf STS_O7.map: $(OBJS) $(USER_OBJS) D:\ONEDRIVE\STM32WLV13\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\YUNHORN_STS_E5CC_AS923_POC\STM32CubeIDE\STM32WLE5CCUX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-gcc -o "STS_O7.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"D:\ONEDRIVE\STM32WLV13\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\YUNHORN_STS_E5CC_AS923_POC\STM32CubeIDE\STM32WLE5CCUX_FLASH.ld" --specs=nosys.specs -Wl,-Map="STS_O7.map" -Wl,--gc-sections -static -L"D:\ONEDRIVE\STM32WLV13\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\STS_O7\STM32CubeIDE\rss\lib" -Xlinker -no-enum-size-warning -z noexecstack --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
|
||||
arm-none-eabi-gcc -o "STS_O7.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"D:\ONEDRIVE\STM32WLV13\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\YUNHORN_STS_E5CC_AS923_POC\STM32CubeIDE\STM32WLE5CCUX_FLASH.ld" --specs=nosys.specs -Wl,-Map="STS_O7.map" -Wl,--gc-sections -static -Xlinker -no-enum-size-warning -z noexecstack --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
|
||||
@echo 'Finished building target: $@'
|
||||
@echo ' '
|
||||
|
||||
|
|
Binary file not shown.
|
@ -1,6 +1,6 @@
|
|||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
# Toolchain: GNU Tools for STM32 (12.3.rel1)
|
||||
# Toolchain: GNU Tools for STM32 (13.3.rel1)
|
||||
################################################################################
|
||||
|
||||
-include ../makefile.init
|
||||
|
|
|
@ -359,7 +359,8 @@ int sts_tof_vl53lx_peoplecount_init(void)
|
|||
APP_LOG(TS_OFF, VLEVEL_L,"VL53L1X: %X\n", wordData);
|
||||
while (sensorState == 0) {
|
||||
status = VL53L1X_BootState(dev, &sensorState);
|
||||
HAL_Delay(2);
|
||||
HAL_Delay(1);
|
||||
if (wordData++ > 4000) break;
|
||||
}
|
||||
APP_LOG(TS_OFF, VLEVEL_L,"Chip booted\n");
|
||||
|
||||
|
|
Loading…
Reference in New Issue