Commit bdeaa192 authored by Thodoris Nestoridis's avatar Thodoris Nestoridis

smoke detector

parent 6a27d948
...@@ -35,6 +35,19 @@ ...@@ -35,6 +35,19 @@
//#define MSGQUEUE_OBJECTS 1 // number of Message Queue Objects //#define MSGQUEUE_OBJECTS 1 // number of Message Queue Objects
#define FLAG_DATA 0x00000001U #define FLAG_DATA 0x00000001U
#define FLAG_SLEEP 0x00000001U #define FLAG_SLEEP 0x00000001U
// Define I2C address and register addresses
#define ADPD188BI 0x64
#define MODE 0x10
#define SAMPLE_CLK 0x4B
#define PROGRAM_MODE_MSB 0b00000000
#define PROGRAM_MODE_LSB 0b00000001
#define NORMAL_MODE_MSB 0b00000000
#define NORMAL_MODE_LSB 0b00000010
#define SAMPLE_CLK_ENABLED_MSB 0b01001100
#define SAMPLE_CLK_ENABLED_LSB 0b10010010
/* USER CODE END PD */ /* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/
...@@ -48,7 +61,7 @@ ADC_HandleTypeDef hadc; ...@@ -48,7 +61,7 @@ ADC_HandleTypeDef hadc;
DAC_HandleTypeDef hdac; DAC_HandleTypeDef hdac;
SPI_HandleTypeDef hspi1; SPI_HandleTypeDef hspi1;
I2C_HandleTypeDef hi2c2;
TIM_HandleTypeDef htim6; TIM_HandleTypeDef htim6;
UART_HandleTypeDef huart2; UART_HandleTypeDef huart2;
...@@ -81,21 +94,23 @@ int ContactBounceTime = 0; // Timer to avoid contact bounce in interrupt routine ...@@ -81,21 +94,23 @@ int ContactBounceTime = 0; // Timer to avoid contact bounce in interrupt routine
int WindSpeed; // speed miles per hour int WindSpeed; // speed miles per hour
int counter=-1; int counter=-1;
osEventFlagsId_t evt_data; osEventFlagsId_t evt_data;
osEventFlagsId_t evt_sleep; osEventFlagsId_t evt_sleep;
/* USER CODE END PV */ /* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void); void SystemClock_Config(void);
static void MX_GPIO_Init(void); static void MX_GPIO_Init(void);
static void MX_USART2_UART_Init(void); static void MX_USART2_UART_Init(void);
static void MX_ADC_Init(void); static void MX_ADC_Init(void);
static void MX_DAC_Init(void); static void MX_DAC_Init(void);
static void MX_TIM6_Init(void); static void MX_TIM6_Init(void);
static void MX_SPI1_Init(void); static void MX_SPI1_Init(void);
static void MX_I2C2_Init(void);
void SendDataTask(void *argument); void SendDataTask(void *argument);
void CommandTask(void *argument); void CommandTask(void *argument);
void DataCollectionTask(void *argument); void DataCollectionTask(void *argument);
...@@ -106,7 +121,7 @@ void DataCollectionTask(void *argument); ...@@ -106,7 +121,7 @@ void DataCollectionTask(void *argument);
/* Private user code ---------------------------------------------------------*/ /* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */ /* USER CODE BEGIN 0 */
uint16_t SENSOR_DATA[3]; uint16_t SENSOR_DATA[4];
int STAND_BY = 0; int STAND_BY = 0;
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
...@@ -156,6 +171,62 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) ...@@ -156,6 +171,62 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
} }
uint8_t i2c_readRegisterByte(uint8_t deviceAddress, uint8_t registerAddress) {
uint8_t data;
HAL_I2C_Mem_Read(&hi2c2, deviceAddress << 1, registerAddress, 1, &data, 1, HAL_MAX_DELAY);
return data;
}
uint8_t i2c_writeRegisterByte(uint8_t deviceAddress, uint8_t registerAddress, uint8_t MSB_RegisterByte, uint8_t LSB_RegisterByte) {
uint8_t data[2] = {MSB_RegisterByte, LSB_RegisterByte};
return HAL_I2C_Mem_Write(&hi2c2, deviceAddress << 1, registerAddress, 1, data, 2, HAL_MAX_DELAY);
}
void ADPD188BI_StartSampling(void) {
// Set CLK32K_EN bit to 1 and force the device into program mode
i2c_writeRegisterByte(ADPD188BI, SAMPLE_CLK, SAMPLE_CLK_ENABLED_MSB, SAMPLE_CLK_ENABLED_LSB);
i2c_writeRegisterByte(ADPD188BI, MODE, PROGRAM_MODE_MSB, PROGRAM_MODE_LSB);
// Recommended settings ADPD188BI (Table 26 from Data Sheet)
i2c_writeRegisterByte(ADPD188BI, 0x11, 0x30, 0x68);
i2c_writeRegisterByte(ADPD188BI, 0x12, 0x02, 0x00);
i2c_writeRegisterByte(ADPD188BI, 0x14, 0x01, 0x1D);
i2c_writeRegisterByte(ADPD188BI, 0x15, 0x00, 0x00);
i2c_writeRegisterByte(ADPD188BI, 0x17, 0x00, 0x09);
i2c_writeRegisterByte(ADPD188BI, 0x18, 0x00, 0x00);
i2c_writeRegisterByte(ADPD188BI, 0x19, 0x3F, 0xFF);
i2c_writeRegisterByte(ADPD188BI, 0x1A, 0x3F, 0xFF);
i2c_writeRegisterByte(ADPD188BI, 0x1B, 0x3F, 0xFF);
i2c_writeRegisterByte(ADPD188BI, 0x1D, 0x00, 0x09);
i2c_writeRegisterByte(ADPD188BI, 0x1E, 0x00, 0x00);
i2c_writeRegisterByte(ADPD188BI, 0x1F, 0x3F, 0xFF);
i2c_writeRegisterByte(ADPD188BI, 0x20, 0x3F, 0xFF);
i2c_writeRegisterByte(ADPD188BI, 0x21, 0x3F, 0xFF);
i2c_writeRegisterByte(ADPD188BI, 0x22, 0x35, 0x39);
i2c_writeRegisterByte(ADPD188BI, 0x23, 0x35, 0x36);
i2c_writeRegisterByte(ADPD188BI, 0x24, 0x15, 0x30);
i2c_writeRegisterByte(ADPD188BI, 0x25, 0x63, 0x0C);
i2c_writeRegisterByte(ADPD188BI, 0x30, 0x03, 0x20);
i2c_writeRegisterByte(ADPD188BI, 0x31, 0x04, 0x0E);
i2c_writeRegisterByte(ADPD188BI, 0x35, 0x03, 0x20);
i2c_writeRegisterByte(ADPD188BI, 0x36, 0x04, 0x0E);
i2c_writeRegisterByte(ADPD188BI, 0x39, 0x22, 0xF0);
i2c_writeRegisterByte(ADPD188BI, 0x3B, 0x22, 0xF0);
i2c_writeRegisterByte(ADPD188BI, 0x3C, 0x31, 0xC6);
i2c_writeRegisterByte(ADPD188BI, 0x42, 0x1C, 0x34);
i2c_writeRegisterByte(ADPD188BI, 0x43, 0xAD, 0xA5);
i2c_writeRegisterByte(ADPD188BI, 0x44, 0x1C, 0x34);
i2c_writeRegisterByte(ADPD188BI, 0x45, 0xAD, 0xA5);
i2c_writeRegisterByte(ADPD188BI, 0x58, 0x05, 0x44);
i2c_writeRegisterByte(ADPD188BI, 0x11, 0x30, 0xA9);
// Start normal Sampling operation
i2c_writeRegisterByte(ADPD188BI, MODE, NORMAL_MODE_MSB, NORMAL_MODE_LSB);
}
// Function for SPI Communication to send data to IoT Tracker // Function for SPI Communication to send data to IoT Tracker
int iot_tracker_communication(uint8_t* TX_Data, uint8_t* RX_Data ) { int iot_tracker_communication(uint8_t* TX_Data, uint8_t* RX_Data ) {
//char spimsg[50]; //char spimsg[50];
...@@ -172,7 +243,7 @@ int iot_tracker_communication(uint8_t* TX_Data, uint8_t* RX_Data ) { ...@@ -172,7 +243,7 @@ int iot_tracker_communication(uint8_t* TX_Data, uint8_t* RX_Data ) {
uint8_t i = *RX_Data; uint8_t i = *RX_Data;
//NEED TO MAKE NORMILIZATION FOR THE SENSOR DATA //NEED TO MAKE NORMILIZATION FOR THE SENSOR DATA
if (i == 0){ if (i == 0 || i == 3){
*TX_Data = SENSOR_DATA[i]; *TX_Data = SENSOR_DATA[i];
//sprintf(msg, "I got the command to send the %d st and i will send the value: %d \r\n", i, *TX_Data); //sprintf(msg, "I got the command to send the %d st and i will send the value: %d \r\n", i, *TX_Data);
//HAL_UART_Transmit(&huart2, (uint16_t*)msg, strlen(msg), HAL_MAX_DELAY); //HAL_UART_Transmit(&huart2, (uint16_t*)msg, strlen(msg), HAL_MAX_DELAY);
...@@ -219,6 +290,7 @@ int main(void) ...@@ -219,6 +290,7 @@ int main(void)
MX_DAC_Init(); MX_DAC_Init();
MX_TIM6_Init(); MX_TIM6_Init();
MX_SPI1_Init(); MX_SPI1_Init();
MX_I2C2_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
/* USER CODE END 2 */ /* USER CODE END 2 */
...@@ -253,6 +325,8 @@ int main(void) ...@@ -253,6 +325,8 @@ int main(void)
/* creation of Command */ /* creation of Command */
CommandHandle = osThreadNew(CommandTask, NULL, &Command_attributes); CommandHandle = osThreadNew(CommandTask, NULL, &Command_attributes);
/* USER CODE BEGIN RTOS_THREADS */ /* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */ /* add threads, ... */
/* USER CODE END RTOS_THREADS */ /* USER CODE END RTOS_THREADS */
...@@ -673,7 +747,7 @@ void SendDataTask(void *argument) ...@@ -673,7 +747,7 @@ void SendDataTask(void *argument)
TX_Data = SENSOR_DATA[0]; TX_Data = SENSOR_DATA[0];
while(counter !=3){ while(counter !=4){
iot_tracker_communication((uint8_t*) &TX_Data,(uint8_t*) &RX_Data ); iot_tracker_communication((uint8_t*) &TX_Data,(uint8_t*) &RX_Data );
counter = RX_Data; counter = RX_Data;
} }
...@@ -706,6 +780,7 @@ void DataCollectionTask(void *argument) ...@@ -706,6 +780,7 @@ void DataCollectionTask(void *argument)
uint8_t wind_speed_val; uint8_t wind_speed_val;
uint16_t wind_direction_val; uint16_t wind_direction_val;
uint16_t flame_val; uint16_t flame_val;
uint16_t smoke_detection_data;
char msg[50]; char msg[50];
...@@ -790,7 +865,23 @@ void DataCollectionTask(void *argument) ...@@ -790,7 +865,23 @@ void DataCollectionTask(void *argument)
SENSOR_DATA[2] = flame_val; SENSOR_DATA[2] = flame_val;
sprintf(msg, "DATA COLLECTION TASK END!2!! %d %d %d \r\n", wind_speed_val, wind_direction_val/16, flame_val/16 );
ADPD188BI_StartSampling(); // Start sampling operation
// Add your main loop logic here
smoke_detection_data = i2c_readRegisterByte(ADPD188BI, 0x64) << 8;
smoke_detection_data |= i2c_readRegisterByte(ADPD188BI, 0x65);
// Process the data as needed
//char buffer[20]; // A buffer to hold the string representation of the data
//sprintf(buffer, "Smoke data: %02d\r\n", smoke_detection_data);
//HAL_UART_Transmit(&huart2, buffer, strlen((char*)buffer), HAL_MAX_DELAY);
i2c_writeRegisterByte(ADPD188BI, MODE, 0x00, 0x00); //sleep mode
SENSOR_DATA[3] = smoke_detection_data/125;
sprintf(msg, "DATA COLLECTION TASK END!2!! %d %d %d %d \r\n", wind_speed_val, wind_direction_val/16, flame_val/16, smoke_detection_data/125 );
HAL_UART_Transmit(&huart2, (uint16_t*)msg, strlen(msg), HAL_MAX_DELAY); HAL_UART_Transmit(&huart2, (uint16_t*)msg, strlen(msg), HAL_MAX_DELAY);
osEventFlagsSet(evt_data, FLAG_DATA); osEventFlagsSet(evt_data, FLAG_DATA);
...@@ -821,6 +912,51 @@ void Error_Handler(void) ...@@ -821,6 +912,51 @@ void Error_Handler(void)
/* USER CODE END Error_Handler_Debug */ /* USER CODE END Error_Handler_Debug */
} }
static void MX_I2C2_Init(void)
{
/* USER CODE BEGIN I2C2_Init 0 */
/* USER CODE END I2C2_Init 0 */
/* USER CODE BEGIN I2C2_Init 1 */
/* USER CODE END I2C2_Init 1 */
hi2c2.Instance = I2C2;
hi2c2.Init.Timing = 0x00707CBB;
hi2c2.Init.OwnAddress1 = 0;
hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
hi2c2.Init.OwnAddress2 = 0;
hi2c2.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
if (HAL_I2C_Init(&hi2c2) != HAL_OK)
{
Error_Handler();
}
/** Configure Analogue filter
*/
if (HAL_I2CEx_ConfigAnalogFilter(&hi2c2, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
{
Error_Handler();
}
/** Configure Digital filter
*/
if (HAL_I2CEx_ConfigDigitalFilter(&hi2c2, 0) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN I2C2_Init 2 */
/* USER CODE END I2C2_Init 2 */
}
#ifdef USE_FULL_ASSERT #ifdef USE_FULL_ASSERT
/** /**
* @brief Reports the name of the source file and the source line number * @brief Reports the name of the source file and the source line number
......
...@@ -202,6 +202,73 @@ void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac) ...@@ -202,6 +202,73 @@ void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac)
} }
/**
* @brief I2C MSP Initialization
* This function configures the hardware resources used in this example
* @param hi2c: I2C handle pointer
* @retval None
*/
void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(hi2c->Instance==I2C2)
{
/* USER CODE BEGIN I2C2_MspInit 0 */
/* USER CODE END I2C2_MspInit 0 */
__HAL_RCC_GPIOB_CLK_ENABLE();
/**I2C2 GPIO Configuration
PB10 ------> I2C2_SCL
PB11 ------> I2C2_SDA
*/
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF6_I2C2;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* Peripheral clock enable */
__HAL_RCC_I2C2_CLK_ENABLE();
/* USER CODE BEGIN I2C2_MspInit 1 */
/* USER CODE END I2C2_MspInit 1 */
}
}
/**
* @brief I2C MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param hi2c: I2C handle pointer
* @retval None
*/
void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
{
if(hi2c->Instance==I2C2)
{
/* USER CODE BEGIN I2C2_MspDeInit 0 */
/* USER CODE END I2C2_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_I2C2_CLK_DISABLE();
/**I2C2 GPIO Configuration
PB10 ------> I2C2_SCL
PB11 ------> I2C2_SDA
*/
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10);
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_11);
/* USER CODE BEGIN I2C2_MspDeInit 1 */
/* USER CODE END I2C2_MspDeInit 1 */
}
}
/** /**
* @brief SPI MSP Initialization * @brief SPI MSP Initialization
* This function configures the hardware resources used in this example * This function configures the hardware resources used in this example
......
../Core/Src/main.c:116:6:HAL_GPIO_EXTI_Callback 72 static,ignoring_inline_asm ../Core/Src/main.c:131:6:HAL_GPIO_EXTI_Callback 72 static,ignoring_inline_asm
../Core/Src/main.c:160:5:iot_tracker_communication 32 static ../Core/Src/main.c:174:9:i2c_readRegisterByte 48 static
../Core/Src/main.c:196:5:main 8 static ../Core/Src/main.c:180:9:i2c_writeRegisterByte 48 static
../Core/Src/main.c:275:6:SystemClock_Config 136 static ../Core/Src/main.c:186:6:ADPD188BI_StartSampling 8 static
../Core/Src/main.c:326:13:MX_ADC_Init 16 static ../Core/Src/main.c:231:5:iot_tracker_communication 32 static
../Core/Src/main.c:390:13:MX_DAC_Init 16 static ../Core/Src/main.c:267:5:main 8 static
../Core/Src/main.c:430:13:MX_SPI1_Init 8 static ../Core/Src/main.c:349:6:SystemClock_Config 136 static
../Core/Src/main.c:468:13:MX_TIM6_Init 16 static ../Core/Src/main.c:400:13:MX_ADC_Init 16 static
../Core/Src/main.c:506:13:MX_USART2_UART_Init 8 static ../Core/Src/main.c:464:13:MX_DAC_Init 16 static
../Core/Src/main.c:541:13:MX_GPIO_Init 56 static ../Core/Src/main.c:504:13:MX_SPI1_Init 8 static
../Core/Src/main.c:592:1:__io_putchar 16 static ../Core/Src/main.c:542:13:MX_TIM6_Init 16 static
../Core/Src/main.c:612:6:CommandTask 80 static,ignoring_inline_asm ../Core/Src/main.c:580:13:MX_USART2_UART_Init 8 static
../Core/Src/main.c:656:6:SendDataTask 88 static ../Core/Src/main.c:615:13:MX_GPIO_Init 56 static
../Core/Src/main.c:703:6:DataCollectionTask 112 static,ignoring_inline_asm ../Core/Src/main.c:666:1:__io_putchar 16 static
../Core/Src/main.c:808:6:Error_Handler 64 static,ignoring_inline_asm ../Core/Src/main.c:686:6:CommandTask 80 static,ignoring_inline_asm
../Core/Src/main.c:730:6:SendDataTask 88 static
../Core/Src/main.c:777:6:DataCollectionTask 120 static,ignoring_inline_asm
../Core/Src/main.c:899:6:Error_Handler 64 static,ignoring_inline_asm
../Core/Src/main.c:916:13:MX_I2C2_Init 8 static
...@@ -3,9 +3,11 @@ ...@@ -3,9 +3,11 @@
../Core/Src/stm32l0xx_hal_msp.c:121:6:HAL_ADC_MspDeInit 16 static ../Core/Src/stm32l0xx_hal_msp.c:121:6:HAL_ADC_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:150:6:HAL_DAC_MspInit 48 static ../Core/Src/stm32l0xx_hal_msp.c:150:6:HAL_DAC_MspInit 48 static
../Core/Src/stm32l0xx_hal_msp.c:183:6:HAL_DAC_MspDeInit 16 static ../Core/Src/stm32l0xx_hal_msp.c:183:6:HAL_DAC_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:211:6:HAL_SPI_MspInit 56 static ../Core/Src/stm32l0xx_hal_msp.c:211:6:HAL_I2C_MspInit 48 static
../Core/Src/stm32l0xx_hal_msp.c:257:6:HAL_SPI_MspDeInit 16 static ../Core/Src/stm32l0xx_hal_msp.c:247:6:HAL_I2C_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:290:6:HAL_TIM_Base_MspInit 16 static ../Core/Src/stm32l0xx_hal_msp.c:278:6:HAL_SPI_MspInit 56 static
../Core/Src/stm32l0xx_hal_msp.c:312:6:HAL_TIM_Base_MspDeInit 16 static ../Core/Src/stm32l0xx_hal_msp.c:324:6:HAL_SPI_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:334:6:HAL_UART_MspInit 48 static ../Core/Src/stm32l0xx_hal_msp.c:357:6:HAL_TIM_Base_MspInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:370:6:HAL_UART_MspDeInit 16 static ../Core/Src/stm32l0xx_hal_msp.c:379:6:HAL_TIM_Base_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:401:6:HAL_UART_MspInit 48 static
../Core/Src/stm32l0xx_hal_msp.c:437:6:HAL_UART_MspDeInit 16 static
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -4,19 +4,22 @@ FREERTOS.IPParameters=Tasks01,FootprintOK ...@@ -4,19 +4,22 @@ FREERTOS.IPParameters=Tasks01,FootprintOK
FREERTOS.Tasks01=Communications,24,128,CommunicationsTask,Default,NULL,Dynamic,NULL,NULL;Sensor,24,128,SensorTask,Default,NULL,Dynamic,NULL,NULL FREERTOS.Tasks01=Communications,24,128,CommunicationsTask,Default,NULL,Dynamic,NULL,NULL;Sensor,24,128,SensorTask,Default,NULL,Dynamic,NULL,NULL
File.Version=6 File.Version=6
GPIO.groupedBy=Group By Peripherals GPIO.groupedBy=Group By Peripherals
I2C2.IPParameters=Timing
I2C2.Timing=0x00707CBB
KeepUserPlacement=false KeepUserPlacement=false
Mcu.CPN=STM32L073RZT3 Mcu.CPN=STM32L073RZT3
Mcu.Family=STM32L0 Mcu.Family=STM32L0
Mcu.IP0=ADC Mcu.IP0=ADC
Mcu.IP1=DAC Mcu.IP1=DAC
Mcu.IP2=FREERTOS Mcu.IP2=FREERTOS
Mcu.IP3=NVIC Mcu.IP3=I2C2
Mcu.IP4=RCC Mcu.IP4=NVIC
Mcu.IP5=SPI1 Mcu.IP5=RCC
Mcu.IP6=SYS Mcu.IP6=SPI1
Mcu.IP7=TIM6 Mcu.IP7=SYS
Mcu.IP8=USART2 Mcu.IP8=TIM6
Mcu.IPNb=9 Mcu.IP9=USART2
Mcu.IPNb=10
Mcu.Name=STM32L073R(B-Z)Tx Mcu.Name=STM32L073R(B-Z)Tx
Mcu.Package=LQFP64 Mcu.Package=LQFP64
Mcu.Pin0=PC13 Mcu.Pin0=PC13
...@@ -24,16 +27,18 @@ Mcu.Pin1=PC14-OSC32_IN ...@@ -24,16 +27,18 @@ Mcu.Pin1=PC14-OSC32_IN
Mcu.Pin10=PA6 Mcu.Pin10=PA6
Mcu.Pin11=PA7 Mcu.Pin11=PA7
Mcu.Pin12=PB1 Mcu.Pin12=PB1
Mcu.Pin13=PA9 Mcu.Pin13=PB10
Mcu.Pin14=PA10 Mcu.Pin14=PB11
Mcu.Pin15=PA13 Mcu.Pin15=PA9
Mcu.Pin16=PA14 Mcu.Pin16=PA10
Mcu.Pin17=PA15 Mcu.Pin17=PA13
Mcu.Pin18=PB3 Mcu.Pin18=PA14
Mcu.Pin19=VP_FREERTOS_VS_CMSIS_V2 Mcu.Pin19=PA15
Mcu.Pin2=PC15-OSC32_OUT Mcu.Pin2=PC15-OSC32_OUT
Mcu.Pin20=VP_SYS_VS_Systick Mcu.Pin20=PB3
Mcu.Pin21=VP_TIM6_VS_ClockSourceINT Mcu.Pin21=VP_FREERTOS_VS_CMSIS_V2
Mcu.Pin22=VP_SYS_VS_Systick
Mcu.Pin23=VP_TIM6_VS_ClockSourceINT
Mcu.Pin3=PH0-OSC_IN Mcu.Pin3=PH0-OSC_IN
Mcu.Pin4=PA0 Mcu.Pin4=PA0
Mcu.Pin5=PA1 Mcu.Pin5=PA1
...@@ -41,7 +46,7 @@ Mcu.Pin6=PA2 ...@@ -41,7 +46,7 @@ Mcu.Pin6=PA2
Mcu.Pin7=PA3 Mcu.Pin7=PA3
Mcu.Pin8=PA4 Mcu.Pin8=PA4
Mcu.Pin9=PA5 Mcu.Pin9=PA5
Mcu.PinsNb=22 Mcu.PinsNb=24
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32L073RZTx Mcu.UserName=STM32L073RZTx
...@@ -96,6 +101,10 @@ PA9.Locked=true ...@@ -96,6 +101,10 @@ PA9.Locked=true
PA9.Signal=GPXTI9 PA9.Signal=GPXTI9
PB1.Locked=true PB1.Locked=true
PB1.Signal=GPXTI1 PB1.Signal=GPXTI1
PB10.Mode=I2C
PB10.Signal=I2C2_SCL
PB11.Mode=I2C
PB11.Signal=I2C2_SDA
PB3.Mode=Full_Duplex_Slave PB3.Mode=Full_Duplex_Slave
PB3.Signal=SPI1_SCK PB3.Signal=SPI1_SCK
PC13.Locked=true PC13.Locked=true
...@@ -126,14 +135,14 @@ ProjectManager.FreePins=false ...@@ -126,14 +135,14 @@ ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x200 ProjectManager.HeapSize=0x200
ProjectManager.KeepUserCode=true ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true ProjectManager.LastFirmware=false
ProjectManager.LibraryCopy=1 ProjectManager.LibraryCopy=1
ProjectManager.MainLocation=Core/Src ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false ProjectManager.NoMain=false
ProjectManager.PreviousToolchain= ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=final_project.ioc ProjectManager.ProjectFileName=LoRa_Nucleo.ioc
ProjectManager.ProjectName=final_project ProjectManager.ProjectName=LoRa_Nucleo
ProjectManager.RegisterCallBack= ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x400 ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE ProjectManager.TargetToolchain=STM32CubeIDE
......
...@@ -137,6 +137,7 @@ typedef struct ...@@ -137,6 +137,7 @@ typedef struct
uint8_t wind_speed; uint8_t wind_speed;
uint8_t wind_direction; uint8_t wind_direction;
uint8_t flame_sensor; uint8_t flame_sensor;
uint8_t smoke_data;
/**more may be added*/ /**more may be added*/
} sensor_t; } sensor_t;
......
...@@ -167,6 +167,7 @@ typedef void (*pCmdHandlerFunc_t)(char *pcInStr); ...@@ -167,6 +167,7 @@ typedef void (*pCmdHandlerFunc_t)(char *pcInStr);
uint8_t wind_speed; uint8_t wind_speed;
uint8_t wind_direction; uint8_t wind_direction;
uint8_t flame_sensor; uint8_t flame_sensor;
uint8_t smoke_data;
} LogData_t; } LogData_t;
......
...@@ -134,7 +134,7 @@ static uint32_t SpiFrequency( uint32_t hz ); ...@@ -134,7 +134,7 @@ static uint32_t SpiFrequency( uint32_t hz );
/* Buffer used for transmission */ /* Buffer used for transmission */
uint8_t aRxBuffer = 0x6FU; uint8_t aRxBuffer = 0x6FU;
uint8_t aTxBuffer = 0xA1U; uint8_t aTxBuffer = 0xA1U;
uint8_t nucleo_data[3]; uint8_t nucleo_data[4];
HAL_StatusTypeDef status = HAL_OK; HAL_StatusTypeDef status = HAL_OK;
/*! /*!
...@@ -362,7 +362,7 @@ void receive_SPI_data() { ...@@ -362,7 +362,7 @@ void receive_SPI_data() {
aRxBuffer = 0x0; aRxBuffer = 0x0;
aTxBuffer = 0x0; aTxBuffer = 0x0;
//HW_SPI_InOut_Message(); //HW_SPI_InOut_Message();
for(int i=0; i<4; i++){ for(int i=0; i<5; i++){
HW_SPI_InOut_Message(); HW_SPI_InOut_Message();
aTxBuffer++; aTxBuffer++;
} }
......
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
*/ */
#define BATTERY_READ_INTERVAL 5000 #define BATTERY_READ_INTERVAL 5000
#define SENSOR_POLL_INTERVAL 10000 #define SENSOR_POLL_INTERVAL 60000 //10000 //Monitor Timer
#define GNSS_CMD_DELAY (500) #define GNSS_CMD_DELAY (500)
#define GNSS_NUM_LOOPS_WITHOUT_DATA (5) #define GNSS_NUM_LOOPS_WITHOUT_DATA (5)
...@@ -196,14 +196,14 @@ ...@@ -196,14 +196,14 @@
* @ note Defines the application data transmission interval. 5s, value in [ms]. * @ note Defines the application data transmission interval. 5s, value in [ms].
* @{ * @{
*/ */
#define SEND_INTERVAL_FIRST_TIME 240000 //TED 10000 #define SEND_INTERVAL_FIRST_TIME 10000
#define TESEO_READ_INTERVAL 10000 #define TESEO_READ_INTERVAL 10000
#define SLEEP_TIMER_FIRST_TIME 10000 #define SLEEP_TIMER_FIRST_TIME 10000
#define SLEEP_TIMER_INTERVAL 240000 //TED 60000 #define SLEEP_TIMER_INTERVAL 240000 //TED 60000
#define N_PACKETS_SENT_BEFORE_LOW_POWER 1 //TED 2 /* 0 for power consumption tests */ #define N_PACKETS_SENT_BEFORE_LOW_POWER 1 //TED 2 /* 0 for power consumption tests */
#define MAX_TX_WITHOUT_LOW_POWER 0 #define MAX_TX_WITHOUT_LOW_POWER 0
#define SEND_IDLE_INTERVAL 10000 #define SEND_IDLE_INTERVAL 240000 //TED 10000
#define RESTART_MSG_INTERVAL 10000 #define RESTART_MSG_INTERVAL 10000
/** /**
...@@ -216,7 +216,7 @@ ...@@ -216,7 +216,7 @@
* @{ * @{
*/ */
#define LORAWAN_ADR_STATE LORAWAN_ADR_OFF #define LORAWAN_ADR_STATE LORAWAN_ADR_ON
/** /**
* @} * @}
...@@ -284,7 +284,7 @@ ...@@ -284,7 +284,7 @@
* @{ * @{
*/ */
#define USE_EEPROM_SETTINGS 1 /* Allowed values: 0 Application settings from code that are not changeble via USB, 1 (default) Application settings from EEPROM */ #define USE_EEPROM_SETTINGS 0// Ted 1 /* Allowed values: 0 Application settings from code that are not changeble via USB, 1 (default) Application settings from EEPROM */
#define LOW_POWER_ON_SLEEP_TIMER_DEF 1 /* Low power on sleep timer expiration. Allowed values: 0 (default) disabled, 1 enabled */ #define LOW_POWER_ON_SLEEP_TIMER_DEF 1 /* Low power on sleep timer expiration. Allowed values: 0 (default) disabled, 1 enabled */
#define LOW_POWER_ON_SENSOR_EVENT_DEF 0 //TED 1 /* Low power on accelerometer inactivity event. Allowed values: 0 disabled, 1 (default) enabled */ #define LOW_POWER_ON_SENSOR_EVENT_DEF 0 //TED 1 /* Low power on accelerometer inactivity event. Allowed values: 0 disabled, 1 (default) enabled */
...@@ -303,7 +303,7 @@ ...@@ -303,7 +303,7 @@
#define LORA_DR_DEF LORAWAN_DEFAULT_DATA_RATE #define LORA_DR_DEF LORAWAN_DEFAULT_DATA_RATE
#define LORA_ADR_DEF LORAWAN_ADR_STATE #define LORA_ADR_DEF LORAWAN_ADR_STATE
#define SEND_INTERVAL_DEF 240000 //TED 120000 #define SEND_INTERVAL_DEF 240000 //TED 120000
#define TX_TIMER_INTERVAL_DEF 10000 #define TX_TIMER_INTERVAL_DEF 240000 //TED 10000
#define SHORTEN_JOIN_REQ_INTV_DEF 1 /* Enable skip sensor read to speedup first LoRa join requests when not joined. Allowed values: 0 disabled, 1 (default) enabled */ #define SHORTEN_JOIN_REQ_INTV_DEF 1 /* Enable skip sensor read to speedup first LoRa join requests when not joined. Allowed values: 0 disabled, 1 (default) enabled */
...@@ -939,18 +939,23 @@ uint8_t UserMemsInterruptManager() ...@@ -939,18 +939,23 @@ uint8_t UserMemsInterruptManager()
{ {
if( LOW_POWER_WITH_USB_CONNECTED || PlatformStatus.b.USB_CONNECTED == 0 ) if( LOW_POWER_WITH_USB_CONNECTED || PlatformStatus.b.USB_CONNECTED == 0 )
{ {
if ( PlatformStatus.s.xCurrentState == State_Run ) if ( PlatformStatus.s.xCurrentState == State_Run )
{ {
if(nTxWithoutLowPower==0) if(nTxWithoutLowPower==0)
{ {
PlatformStatus.s.xNextState = State_PrepareLowPower; PlatformStatus.s.xNextState = State_PrepareLowPower;
PRINTF_MAIN1("--> Going low power (sensor event)...\r\n"); PRINTF_MAIN1("--> Going low power (sensor event)...\r\n");
} }
} }
else if ( PlatformStatus.s.xCurrentState == State_LowPower ) else if ( PlatformStatus.s.xCurrentState == State_LowPower )
{ {
if(nTxWithoutLowPower==0) if(nTxWithoutLowPower==0)
{ {
PlatformStatus.s.xNextState = State_PrepareUltraLowPower; PlatformStatus.s.xNextState = State_PrepareUltraLowPower;
PRINTF_MAIN1("--> Going ultra low power (sensor event)...\r\n"); PRINTF_MAIN1("--> Going ultra low power (sensor event)...\r\n");
} }
...@@ -960,13 +965,13 @@ uint8_t UserMemsInterruptManager() ...@@ -960,13 +965,13 @@ uint8_t UserMemsInterruptManager()
} }
else else
{ {
PRINTF_MAIN2("Accelerometer wake up interrupt\r\n"); // PRINTF_MAIN2("Accelerometer wake up interrupt\r\n");
accActInact = ACC_ACTIVITY; // accActInact = ACC_ACTIVITY;
PlatformStatus.s.xNextState = State_Run; // PlatformStatus.s.xNextState = State_Run;
if(PlatformStatus.b.SEND_ON_WAKE_EVENT) // if(PlatformStatus.b.SEND_ON_WAKE_EVENT)
{ // {
PlatformStatus.s.xNextState = State_Read; // PlatformStatus.s.xNextState = State_Read;
} // }
} }
} }
#endif #endif
...@@ -1167,9 +1172,12 @@ void UserStateMachine() ...@@ -1167,9 +1172,12 @@ void UserStateMachine()
uint8_t wind_speed = get_nucleo_data(0); uint8_t wind_speed = get_nucleo_data(0);
uint8_t wind_direction = get_nucleo_data(1); uint8_t wind_direction = get_nucleo_data(1);
uint8_t flame_sensor = get_nucleo_data(2); uint8_t flame_sensor = get_nucleo_data(2);
uint8_t smoke_data = get_nucleo_data(3);
sensor_data.wind_speed = wind_speed; sensor_data.wind_speed = wind_speed;
sensor_data.wind_direction = wind_direction; sensor_data.wind_direction = wind_direction;
sensor_data.flame_sensor = flame_sensor; sensor_data.flame_sensor = flame_sensor;
sensor_data.smoke_data = smoke_data;
BSP_sensor_Enable(); BSP_sensor_Enable();
BSP_accelero_Enable(); BSP_accelero_Enable();
...@@ -1230,6 +1238,7 @@ void UserStateMachine() ...@@ -1230,6 +1238,7 @@ void UserStateMachine()
data_logged.wind_speed =( sensor_data.wind_speed ); data_logged.wind_speed =( sensor_data.wind_speed );
data_logged.wind_direction = ( sensor_data.wind_direction ); data_logged.wind_direction = ( sensor_data.wind_direction );
data_logged.flame_sensor = ( sensor_data.flame_sensor ); data_logged.flame_sensor = ( sensor_data.flame_sensor );
data_logged.smoke_data = (sensor_data.smoke_data);
data_logged.batteryLevel = (uint32_t) (BSP_GetBatteryLevel16()/10); data_logged.batteryLevel = (uint32_t) (BSP_GetBatteryLevel16()/10);
data_logged.epoch_value = App_GetTimeStamp(); data_logged.epoch_value = App_GetTimeStamp();
...@@ -1240,7 +1249,9 @@ void UserStateMachine() ...@@ -1240,7 +1249,9 @@ void UserStateMachine()
if(PlatformStatus.b.LOG_MANAGER) if(PlatformStatus.b.LOG_MANAGER)
{ {
PRINTF_MAIN1("Save data...\r\n"); PRINTF_MAIN1("Save data...\r\n");
LogEvent_Push_Printf(LOG_EV_NRM, "NRM_%c:%d:%d|%d|%d|%d|%d|%d|%d|%d|%d-%d-%d-", 'X', data_logged.sentFlag, data_logged.AccEnable, data_logged.temperature, data_logged.pressure, data_logged.humidity, data_logged.latitude, data_logged.longitude, data_logged.altitudeGps, data_logged.batteryLevel,data_logged.wind_speed, data_logged.wind_direction, data_logged.flame_sensor);
LogEvent_Push_Printf(LOG_EV_NRM, "NRM_%c:%d:%d|%d|%d|%d|%d|%d|%d|%d|%d-%d-%d-%d", 'X', data_logged.sentFlag, data_logged.AccEnable, data_logged.temperature, data_logged.pressure, data_logged.humidity, data_logged.latitude, data_logged.longitude, data_logged.altitudeGps, data_logged.batteryLevel,data_logged.wind_speed, data_logged.wind_direction, data_logged.flame_sensor, data_logged.smoke_data);
PRINTF_MAIN1("\r\nTS:%d\r\n", App_GetTimeStamp()); PRINTF_MAIN1("\r\nTS:%d\r\n", App_GetTimeStamp());
PlatformStatus.s.lastSavedIndex = LogEvent_GetCount(LOG_EV_NRM); PlatformStatus.s.lastSavedIndex = LogEvent_GetCount(LOG_EV_NRM);
PRINTF_MAIN1("Saved item %d\r\n", PlatformStatus.s.lastSavedIndex); PRINTF_MAIN1("Saved item %d\r\n", PlatformStatus.s.lastSavedIndex);
...@@ -1363,6 +1374,8 @@ void UserStateMachine() ...@@ -1363,6 +1374,8 @@ void UserStateMachine()
} }
ReloadSleepTimer(); ReloadSleepTimer();
PlatformStatus.s.xNextState = State_PrepareLowPower;
PRINTF_MAIN1("--> Going low power (timer event)...\r\n");
} }
break; break;
case State_IdleAfterSend: case State_IdleAfterSend:
...@@ -1390,9 +1403,12 @@ void UserStateMachine() ...@@ -1390,9 +1403,12 @@ void UserStateMachine()
uint8_t wind_speed = get_nucleo_data(0); uint8_t wind_speed = get_nucleo_data(0);
uint8_t wind_direction = get_nucleo_data(1); uint8_t wind_direction = get_nucleo_data(1);
uint8_t flame_sensor = get_nucleo_data(2); uint8_t flame_sensor = get_nucleo_data(2);
uint8_t smoke_data = get_nucleo_data(3);
sensor_data.wind_speed = wind_speed; sensor_data.wind_speed = wind_speed;
sensor_data.wind_direction = wind_direction; sensor_data.wind_direction = wind_direction;
sensor_data.flame_sensor = flame_sensor; sensor_data.flame_sensor = flame_sensor;
sensor_data.smoke_data = smoke_data;
BSP_accelero_Enable(); BSP_accelero_Enable();
// HW_SPI_InOut_Message(); // HW_SPI_InOut_Message();
...@@ -1438,7 +1454,7 @@ void UserStateMachine() ...@@ -1438,7 +1454,7 @@ void UserStateMachine()
{ {
HAL_Delay(500); HAL_Delay(500);
LED_Off( LED_WHITE ); LED_Off( LED_WHITE );
PRINTF_MAIN1("LOWPOWER"); // PRINTF_MAIN1("LOWPOWER");
LPM_SetOffMode(LPM_APPLI_Id, LPM_Disable ); LPM_SetOffMode(LPM_APPLI_Id, LPM_Disable );
LPM_SetStopMode(LPM_APPLI_Id, LPM_Disable ); LPM_SetStopMode(LPM_APPLI_Id, LPM_Disable );
...@@ -1742,6 +1758,7 @@ static uint8_t SendData( void ) ...@@ -1742,6 +1758,7 @@ static uint8_t SendData( void )
uint8_t wind_speed = -1; uint8_t wind_speed = -1;
uint8_t wind_direction = -1; uint8_t wind_direction = -1;
uint8_t flame_sensor = -1; uint8_t flame_sensor = -1;
uint8_t smoke_data = -1;
if ( CHECK_LORA_JOIN () != LORA_SET) if ( CHECK_LORA_JOIN () != LORA_SET)
{ {
...@@ -1778,6 +1795,7 @@ static uint8_t SendData( void ) ...@@ -1778,6 +1795,7 @@ static uint8_t SendData( void )
wind_speed = data_logged.wind_speed; wind_speed = data_logged.wind_speed;
wind_direction = data_logged.wind_direction; wind_direction = data_logged.wind_direction;
flame_sensor = data_logged.flame_sensor; flame_sensor = data_logged.flame_sensor;
smoke_data = data_logged.smoke_data;
epoch_value = data_logged.epoch_value; epoch_value = data_logged.epoch_value;
accelero_x = ( int32_t )( data_logged.accelero_x ); accelero_x = ( int32_t )( data_logged.accelero_x );
...@@ -1831,6 +1849,9 @@ static uint8_t SendData( void ) ...@@ -1831,6 +1849,9 @@ static uint8_t SendData( void )
AppData.Buff[i++] = cchannel++; AppData.Buff[i++] = cchannel++;
AppData.Buff[i++] = LPP_DATATYPE_DIGITAL_OUTPUT; AppData.Buff[i++] = LPP_DATATYPE_DIGITAL_OUTPUT;
AppData.Buff[i++] = ( flame_sensor) & 0xFF; AppData.Buff[i++] = ( flame_sensor) & 0xFF;
AppData.Buff[i++] = cchannel++;
AppData.Buff[i++] = LPP_DATATYPE_DIGITAL_OUTPUT;
AppData.Buff[i++] = (smoke_data ) & 0xFF;
#if defined( REGION_US915 ) || defined ( REGION_AU915 ) || defined ( REGION_AS923 ) #if defined( REGION_US915 ) || defined ( REGION_AU915 ) || defined ( REGION_AS923 )
...@@ -2825,9 +2846,9 @@ uint8_t GetSingleItem(uint16_t nbitem) ...@@ -2825,9 +2846,9 @@ uint8_t GetSingleItem(uint16_t nbitem)
if(nQuoteIndex != NULL) if(nQuoteIndex != NULL)
{ {
uint32_t nScOut = 0; uint32_t nScOut = 0;
uint8_t wind_speed, wind_direction, flame_sensor; uint8_t wind_speed, wind_direction, flame_sensor, smoke_data;
int tsentFlag, tAccEnable, ttemperature, tpressure, thumidity, tlatitude, tlongitude, taltitudeGps, tbatteryLevel; int tsentFlag, tAccEnable, ttemperature, tpressure, thumidity, tlatitude, tlongitude, taltitudeGps, tbatteryLevel;
nScOut = sscanf(nQuoteIndex, ":%d:%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d", &tsentFlag, &tAccEnable, &ttemperature, &tpressure, &thumidity, &tlatitude, &tlongitude, &taltitudeGps, &tbatteryLevel, &wind_speed, &wind_direction, &flame_sensor); nScOut = sscanf(nQuoteIndex, ":%d:%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d", &tsentFlag, &tAccEnable, &ttemperature, &tpressure, &thumidity, &tlatitude, &tlongitude, &taltitudeGps, &tbatteryLevel, &wind_speed, &wind_direction, &flame_sensor, &smoke_data);
if(nScOut == 9) if(nScOut == 9)
{ {
data_logged.sentFlag = (tsentFlag != 0); data_logged.sentFlag = (tsentFlag != 0);
...@@ -2842,8 +2863,9 @@ uint8_t GetSingleItem(uint16_t nbitem) ...@@ -2842,8 +2863,9 @@ uint8_t GetSingleItem(uint16_t nbitem)
data_logged.wind_speed = wind_speed; data_logged.wind_speed = wind_speed;
data_logged.wind_direction = wind_direction; data_logged.wind_direction = wind_direction;
data_logged.flame_sensor = flame_sensor; data_logged.flame_sensor = flame_sensor;
data_logged.smoke_data = smoke_data;
PRINTF_MAIN1("%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\r\n", data_logged.sentFlag, data_logged.AccEnable, data_logged.temperature, data_logged.pressure, data_logged.humidity, data_logged.latitude, data_logged.longitude, data_logged.altitudeGps, data_logged.batteryLevel, data_logged.wind_speed, data_logged.wind_direction, data_logged.flame_sensor); PRINTF_MAIN1("%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\r\n", data_logged.sentFlag, data_logged.AccEnable, data_logged.temperature, data_logged.pressure, data_logged.humidity, data_logged.latitude, data_logged.longitude, data_logged.altitudeGps, data_logged.batteryLevel, data_logged.wind_speed, data_logged.wind_direction, data_logged.flame_sensor, data_logged.smoke_data);
data_logged.epoch_value = xLogItem.Header.TimeStamp; data_logged.epoch_value = xLogItem.Header.TimeStamp;
retval = 0; retval = 0;
} }
......
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:598:6:LoraMacProcessNotify 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:598:6:LoraMacProcessNotify 0 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1988:13:OnTxTimerEvent 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2009:13:OnTxTimerEvent 0 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2011:13:OnReadTimerEvent 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2032:13:OnReadTimerEvent 0 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2710:13:OnSleepTimerEvent 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2731:13:OnSleepTimerEvent 0 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2064:13:LORA_TxNeeded 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2085:13:LORA_TxNeeded 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2046:13:LORA_ConfirmClass 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2067:13:LORA_ConfirmClass 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1706:13:LORA_HasJoined 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1722:13:LORA_HasJoined 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1913:13:LORA_RxData 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1934:13:LORA_RxData 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2984:9:LORA_GetBatteryLevel 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:3006:9:LORA_GetBatteryLevel 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1731:16:SendData.part.0 104 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1747:16:SendData.part.0 112 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:608:6:Board_GetDevEui 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:608:6:Board_GetDevEui 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:875:9:UserMemsInterruptManager.part.0 24 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:875:9:UserMemsInterruptManager.part.0 24 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2382:6:TeseoConsumerTask.constprop 160 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2403:6:TeseoConsumerTask.constprop 160 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:629:6:TestLoraSmartTrackerTransmit 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:629:6:TestLoraSmartTrackerTransmit 0 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:639:13:UserAuxFunction 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:639:13:UserAuxFunction 0 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:648:6:TeseoGeofenceCallback 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:648:6:TeseoGeofenceCallback 0 static
...@@ -23,24 +23,24 @@ ...@@ -23,24 +23,24 @@
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:758:6:UserButtonsManager 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:758:6:UserButtonsManager 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:826:6:UserTestBattery 24 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:826:6:UserTestBattery 24 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:875:9:UserMemsInterruptManager 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:875:9:UserMemsInterruptManager 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:982:9:UserReadTimerManager 16 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:987:9:UserReadTimerManager 16 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1003:9:UserTxTimerManager 16 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1008:9:UserTxTimerManager 16 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1023:9:UserSleepTimerManager 16 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1028:9:UserSleepTimerManager 16 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1071:9:UserEnvSensorManager 16 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1076:9:UserEnvSensorManager 16 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2124:9:TeseoManageCommands 224 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2145:9:TeseoManageCommands 224 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2581:6:TeseoReadData 40 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2602:6:TeseoReadData 40 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:859:6:UserGnssManager 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:859:6:UserGnssManager 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2346:10:ConvertToEpochTime 48 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2367:10:ConvertToEpochTime 48 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2366:10:App_GetTimeStamp 16 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2387:10:App_GetTimeStamp 16 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2749:6:GetTeseoData 24 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2770:6:GetTeseoData 24 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2766:6:TeseoSendColdStart 8 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2787:6:TeseoSendColdStart 8 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2777:6:LoraGetInitParams 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2798:6:LoraGetInitParams 0 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2788:6:PushLogFlag 88 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2809:6:PushLogFlag 88 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2816:9:GetSingleItem 184 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2837:9:GetSingleItem 184 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2872:10:GetFirstItemToSend 32 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2894:10:GetFirstItemToSend 32 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1092:6:UserStateMachine 88 static,ignoring_inline_asm /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1097:6:UserStateMachine 88 static,ignoring_inline_asm
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1651:6:UserProcess 16 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1667:6:UserProcess 16 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1499:6:UserHwInit 64 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:1515:6:UserHwInit 16 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:514:5:main 48 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:514:5:main 48 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2956:6:LoraSetAck 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2978:6:LoraSetAck 0 static
/home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2967:6:LoraSetDR 0 static /home/nestorid/Downloads/en.fp-atr-lora1/STM32CubeFunctionPack_LORA1_V2.2.0/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/LoRaWAN/App/src/main.c:2989:6:LoraSetDR 0 static
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment