From 5ab6fb8731207b3bd7ee283a5774fddaa41c6c26 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Fri, 13 Sep 2024 20:25:38 +0800 Subject: [PATCH] --- parse buffer to uint8_t --- Core/Inc/yunhorn_sts_sensors.h | 3 ++- LoRaWAN/App/lora_app.c | 25 +++++++++++++------------ STM32CubeIDE/Debug/makefile | 2 +- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Core/Inc/yunhorn_sts_sensors.h b/Core/Inc/yunhorn_sts_sensors.h index e5fc084..493a1db 100644 --- a/Core/Inc/yunhorn_sts_sensors.h +++ b/Core/Inc/yunhorn_sts_sensors.h @@ -757,7 +757,8 @@ void STS_MOTION_SENSOR_Enable_Wake_Up_Detection(void); void STS_MOTION_SENSOR_Initialization(void); */ -void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size); +//void USER_APP_AUTO_RESPONDER_Parse(uint8_t *tlv_buf, uint8_t tlv_buf_size); +void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_size); void STS_SENSOR_Function_Test_Process(void); void STS_SENSOR_Distance_Test_Process(void); void STS_PRESENCE_SENSOR_Function_Test_Process(uint8_t *self_test_result, uint8_t count); diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 2c1a76f..2148617 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -91,15 +91,15 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = { sts_mtmcode2, sts_version, sts_hardware_ver, - 0x05, - 'M', //Uplink data interval for heart-beat uplink - 0x01, - 'S', //Sampling sensor interval for real-time sensing of MEMS - 0x04, // dual mode=4, uni_mode =5 - 0x00, // sts service mask - 0x00, //sts_ioc_mask - 0x20, //32 bytes, below start of p[0] 20 BYTES AND 12 BYTES FALL DOWN CFG - { // below 20 bytes + 0x05, //Regular TxPeriodicity interval + 'M', //Uplink data interval unit, for heart-beat uplink + 0x01, //Heart-beat interval or Sampling interval + 'S', //Sampling sensor interval unit, for real-time sensing of MEMS + 0x04, // dual mode=4, uni_mode =5 + 0x00, // sts service mask + 0x00, //sts_ioc_mask + 0x20, //32 bytes, below start of p[0] 20 BYTES AND 12 BYTES FALL DOWN CFG + { // below 20 bytes 0x08, //start_m [8]*0.1 meter =0.8 0x19, //lenght_m 0x19=[25]*0.1=2.5f meter 0x0F, //threshold 0X0F=[15]*0.1=1.5f @@ -896,7 +896,7 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params) if (appData->BufferSize != 1) { if (appData->BufferSize < 128) { - USER_APP_AUTO_RESPONDER_Parse((char*)appData->Buffer, appData->BufferSize); + USER_APP_AUTO_RESPONDER_Parse((uint8_t*)appData->Buffer, appData->BufferSize); } } break; @@ -1910,10 +1910,11 @@ static void OnYunhornSTSSamplingCheckTimerEvent(void *context) * */ -void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size) +void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_size) { - uint8_t i=0, mems_ver, invalid_flag=1; + uint8_t i=0, mems_ver, invalid_flag=1, tlv_buf[128]={0x0}; UTIL_MEM_set_8((void*)outbuf,0x0, sizeof(outbuf)); + UTIL_MEM_cpy_8((void*)tlv_buf,(void*)parse_buffer, parse_buffer_size&0x7F); /* 127 BYTES MAX */ if (((char)tlv_buf[CFG_CMD1] == 'Y') && (tlv_buf_size <=5)) // BEGIN OF *** BOARD LEVEL CONTROL OR REPORT { diff --git a/STM32CubeIDE/Debug/makefile b/STM32CubeIDE/Debug/makefile index 6ab2205..fe4c514 100644 --- a/STM32CubeIDE/Debug/makefile +++ b/STM32CubeIDE/Debug/makefile @@ -68,7 +68,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 ' '