Commit bdeaa192 authored by Thodoris Nestoridis's avatar Thodoris Nestoridis

smoke detector

parent 6a27d948
......@@ -35,6 +35,19 @@
//#define MSGQUEUE_OBJECTS 1 // number of Message Queue Objects
#define FLAG_DATA 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 */
/* Private macro -------------------------------------------------------------*/
......@@ -48,7 +61,7 @@ ADC_HandleTypeDef hadc;
DAC_HandleTypeDef hdac;
SPI_HandleTypeDef hspi1;
I2C_HandleTypeDef hi2c2;
TIM_HandleTypeDef htim6;
UART_HandleTypeDef huart2;
......@@ -81,21 +94,23 @@ int ContactBounceTime = 0; // Timer to avoid contact bounce in interrupt routine
int WindSpeed; // speed miles per hour
int counter=-1;
osEventFlagsId_t evt_data;
osEventFlagsId_t evt_sleep;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART2_UART_Init(void);
static void MX_ADC_Init(void);
static void MX_DAC_Init(void);
static void MX_TIM6_Init(void);
static void MX_SPI1_Init(void);
static void MX_I2C2_Init(void);
void SendDataTask(void *argument);
void CommandTask(void *argument);
void DataCollectionTask(void *argument);
......@@ -106,7 +121,7 @@ void DataCollectionTask(void *argument);
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
uint16_t SENSOR_DATA[3];
uint16_t SENSOR_DATA[4];
int STAND_BY = 0;
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
......@@ -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
int iot_tracker_communication(uint8_t* TX_Data, uint8_t* RX_Data ) {
//char spimsg[50];
......@@ -172,7 +243,7 @@ int iot_tracker_communication(uint8_t* TX_Data, uint8_t* RX_Data ) {
uint8_t i = *RX_Data;
//NEED TO MAKE NORMILIZATION FOR THE SENSOR DATA
if (i == 0){
if (i == 0 || i == 3){
*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);
//HAL_UART_Transmit(&huart2, (uint16_t*)msg, strlen(msg), HAL_MAX_DELAY);
......@@ -219,6 +290,7 @@ int main(void)
MX_DAC_Init();
MX_TIM6_Init();
MX_SPI1_Init();
MX_I2C2_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
......@@ -253,6 +325,8 @@ int main(void)
/* creation of Command */
CommandHandle = osThreadNew(CommandTask, NULL, &Command_attributes);
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
......@@ -673,7 +747,7 @@ void SendDataTask(void *argument)
TX_Data = SENSOR_DATA[0];
while(counter !=3){
while(counter !=4){
iot_tracker_communication((uint8_t*) &TX_Data,(uint8_t*) &RX_Data );
counter = RX_Data;
}
......@@ -706,6 +780,7 @@ void DataCollectionTask(void *argument)
uint8_t wind_speed_val;
uint16_t wind_direction_val;
uint16_t flame_val;
uint16_t smoke_detection_data;
char msg[50];
......@@ -790,7 +865,23 @@ void DataCollectionTask(void *argument)
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);
osEventFlagsSet(evt_data, FLAG_DATA);
......@@ -821,6 +912,51 @@ void Error_Handler(void)
/* 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
/**
* @brief Reports the name of the source file and the source line number
......
......@@ -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
* 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:160:5:iot_tracker_communication 32 static
../Core/Src/main.c:196:5:main 8 static
../Core/Src/main.c:275:6:SystemClock_Config 136 static
../Core/Src/main.c:326:13:MX_ADC_Init 16 static
../Core/Src/main.c:390:13:MX_DAC_Init 16 static
../Core/Src/main.c:430:13:MX_SPI1_Init 8 static
../Core/Src/main.c:468:13:MX_TIM6_Init 16 static
../Core/Src/main.c:506:13:MX_USART2_UART_Init 8 static
../Core/Src/main.c:541:13:MX_GPIO_Init 56 static
../Core/Src/main.c:592:1:__io_putchar 16 static
../Core/Src/main.c:612:6:CommandTask 80 static,ignoring_inline_asm
../Core/Src/main.c:656:6:SendDataTask 88 static
../Core/Src/main.c:703:6:DataCollectionTask 112 static,ignoring_inline_asm
../Core/Src/main.c:808:6:Error_Handler 64 static,ignoring_inline_asm
../Core/Src/main.c:131:6:HAL_GPIO_EXTI_Callback 72 static,ignoring_inline_asm
../Core/Src/main.c:174:9:i2c_readRegisterByte 48 static
../Core/Src/main.c:180:9:i2c_writeRegisterByte 48 static
../Core/Src/main.c:186:6:ADPD188BI_StartSampling 8 static
../Core/Src/main.c:231:5:iot_tracker_communication 32 static
../Core/Src/main.c:267:5:main 8 static
../Core/Src/main.c:349:6:SystemClock_Config 136 static
../Core/Src/main.c:400:13:MX_ADC_Init 16 static
../Core/Src/main.c:464:13:MX_DAC_Init 16 static
../Core/Src/main.c:504:13:MX_SPI1_Init 8 static
../Core/Src/main.c:542:13:MX_TIM6_Init 16 static
../Core/Src/main.c:580:13:MX_USART2_UART_Init 8 static
../Core/Src/main.c:615:13:MX_GPIO_Init 56 static
../Core/Src/main.c:666:1:__io_putchar 16 static
../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 @@
../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: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:257:6:HAL_SPI_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:290:6:HAL_TIM_Base_MspInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:312:6:HAL_TIM_Base_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:334:6:HAL_UART_MspInit 48 static
../Core/Src/stm32l0xx_hal_msp.c:370:6:HAL_UART_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:211:6:HAL_I2C_MspInit 48 static
../Core/Src/stm32l0xx_hal_msp.c:247:6:HAL_I2C_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:278:6:HAL_SPI_MspInit 56 static
../Core/Src/stm32l0xx_hal_msp.c:324:6:HAL_SPI_MspDeInit 16 static
../Core/Src/stm32l0xx_hal_msp.c:357:6:HAL_TIM_Base_MspInit 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
FREERTOS.Tasks01=Communications,24,128,CommunicationsTask,Default,NULL,Dynamic,NULL,NULL;Sensor,24,128,SensorTask,Default,NULL,Dynamic,NULL,NULL
File.Version=6
GPIO.groupedBy=Group By Peripherals
I2C2.IPParameters=Timing
I2C2.Timing=0x00707CBB
KeepUserPlacement=false
Mcu.CPN=STM32L073RZT3
Mcu.Family=STM32L0
Mcu.IP0=ADC
Mcu.IP1=DAC
Mcu.IP2=FREERTOS
Mcu.IP3=NVIC
Mcu.IP4=RCC
Mcu.IP5=SPI1
Mcu.IP6=SYS
Mcu.IP7=TIM6
Mcu.IP8=USART2
Mcu.IPNb=9
Mcu.IP3=I2C2
Mcu.IP4=NVIC
Mcu.IP5=RCC
Mcu.IP6=SPI1
Mcu.IP7=SYS
Mcu.IP8=TIM6
Mcu.IP9=USART2
Mcu.IPNb=10
Mcu.Name=STM32L073R(B-Z)Tx
Mcu.Package=LQFP64
Mcu.Pin0=PC13
......@@ -24,16 +27,18 @@ Mcu.Pin1=PC14-OSC32_IN
Mcu.Pin10=PA6
Mcu.Pin11=PA7
Mcu.Pin12=PB1
Mcu.Pin13=PA9
Mcu.Pin14=PA10
Mcu.Pin15=PA13
Mcu.Pin16=PA14
Mcu.Pin17=PA15
Mcu.Pin18=PB3
Mcu.Pin19=VP_FREERTOS_VS_CMSIS_V2
Mcu.Pin13=PB10
Mcu.Pin14=PB11
Mcu.Pin15=PA9
Mcu.Pin16=PA10
Mcu.Pin17=PA13
Mcu.Pin18=PA14
Mcu.Pin19=PA15
Mcu.Pin2=PC15-OSC32_OUT
Mcu.Pin20=VP_SYS_VS_Systick
Mcu.Pin21=VP_TIM6_VS_ClockSourceINT
Mcu.Pin20=PB3
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.Pin4=PA0
Mcu.Pin5=PA1
......@@ -41,7 +46,7 @@ Mcu.Pin6=PA2
Mcu.Pin7=PA3
Mcu.Pin8=PA4
Mcu.Pin9=PA5
Mcu.PinsNb=22
Mcu.PinsNb=24
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32L073RZTx
......@@ -96,6 +101,10 @@ PA9.Locked=true
PA9.Signal=GPXTI9
PB1.Locked=true
PB1.Signal=GPXTI1
PB10.Mode=I2C
PB10.Signal=I2C2_SCL
PB11.Mode=I2C
PB11.Signal=I2C2_SDA
PB3.Mode=Full_Duplex_Slave
PB3.Signal=SPI1_SCK
PC13.Locked=true
......@@ -126,14 +135,14 @@ ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x200
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LastFirmware=false
ProjectManager.LibraryCopy=1
ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=final_project.ioc
ProjectManager.ProjectName=final_project
ProjectManager.ProjectFileName=LoRa_Nucleo.ioc
ProjectManager.ProjectName=LoRa_Nucleo
ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE
......
......@@ -137,6 +137,7 @@ typedef struct
uint8_t wind_speed;
uint8_t wind_direction;
uint8_t flame_sensor;
uint8_t smoke_data;
/**more may be added*/
} sensor_t;
......
......@@ -167,6 +167,7 @@ typedef void (*pCmdHandlerFunc_t)(char *pcInStr);
uint8_t wind_speed;
uint8_t wind_direction;
uint8_t flame_sensor;
uint8_t smoke_data;
} LogData_t;
......
......@@ -134,7 +134,7 @@ static uint32_t SpiFrequency( uint32_t hz );
/* Buffer used for transmission */
uint8_t aRxBuffer = 0x6FU;
uint8_t aTxBuffer = 0xA1U;
uint8_t nucleo_data[3];
uint8_t nucleo_data[4];
HAL_StatusTypeDef status = HAL_OK;
/*!
......@@ -362,7 +362,7 @@ void receive_SPI_data() {
aRxBuffer = 0x0;
aTxBuffer = 0x0;
//HW_SPI_InOut_Message();
for(int i=0; i<4; i++){
for(int i=0; i<5; i++){
HW_SPI_InOut_Message();
aTxBuffer++;
}
......
......@@ -179,7 +179,7 @@
*/
#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_NUM_LOOPS_WITHOUT_DATA (5)
......@@ -196,14 +196,14 @@
* @ 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 SLEEP_TIMER_FIRST_TIME 10000
#define SLEEP_TIMER_INTERVAL 240000 //TED 60000
#define N_PACKETS_SENT_BEFORE_LOW_POWER 1 //TED 2 /* 0 for power consumption tests */
#define MAX_TX_WITHOUT_LOW_POWER 0
#define SEND_IDLE_INTERVAL 10000
#define SEND_IDLE_INTERVAL 240000 //TED 10000
#define RESTART_MSG_INTERVAL 10000
/**
......@@ -216,7 +216,7 @@
* @{
*/
#define LORAWAN_ADR_STATE LORAWAN_ADR_OFF
#define LORAWAN_ADR_STATE LORAWAN_ADR_ON
/**
* @}
......@@ -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_SENSOR_EVENT_DEF 0 //TED 1 /* Low power on accelerometer inactivity event. Allowed values: 0 disabled, 1 (default) enabled */
......@@ -303,7 +303,7 @@
#define LORA_DR_DEF LORAWAN_DEFAULT_DATA_RATE
#define LORA_ADR_DEF LORAWAN_ADR_STATE
#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 */
......@@ -939,18 +939,23 @@ uint8_t UserMemsInterruptManager()
{
if( LOW_POWER_WITH_USB_CONNECTED || PlatformStatus.b.USB_CONNECTED == 0 )
{
if ( PlatformStatus.s.xCurrentState == State_Run )
{
if(nTxWithoutLowPower==0)
{
PlatformStatus.s.xNextState = State_PrepareLowPower;
PRINTF_MAIN1("--> Going low power (sensor event)...\r\n");
}
}
else if ( PlatformStatus.s.xCurrentState == State_LowPower )
{
if(nTxWithoutLowPower==0)
{
PlatformStatus.s.xNextState = State_PrepareUltraLowPower;
PRINTF_MAIN1("--> Going ultra low power (sensor event)...\r\n");
}
......@@ -960,13 +965,13 @@ uint8_t UserMemsInterruptManager()
}
else
{
PRINTF_MAIN2("Accelerometer wake up interrupt\r\n");
accActInact = ACC_ACTIVITY;
PlatformStatus.s.xNextState = State_Run;
if(PlatformStatus.b.SEND_ON_WAKE_EVENT)
{
PlatformStatus.s.xNextState = State_Read;
}
// PRINTF_MAIN2("Accelerometer wake up interrupt\r\n");
// accActInact = ACC_ACTIVITY;
// PlatformStatus.s.xNextState = State_Run;
// if(PlatformStatus.b.SEND_ON_WAKE_EVENT)
// {
// PlatformStatus.s.xNextState = State_Read;
// }
}
}
#endif
......@@ -1167,9 +1172,12 @@ void UserStateMachine()
uint8_t wind_speed = get_nucleo_data(0);
uint8_t wind_direction = get_nucleo_data(1);
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_direction = wind_direction;
sensor_data.flame_sensor = flame_sensor;
sensor_data.smoke_data = smoke_data;
BSP_sensor_Enable();
BSP_accelero_Enable();
......@@ -1230,6 +1238,7 @@ void UserStateMachine()
data_logged.wind_speed =( sensor_data.wind_speed );
data_logged.wind_direction = ( sensor_data.wind_direction );
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.epoch_value = App_GetTimeStamp();
......@@ -1240,7 +1249,9 @@ void UserStateMachine()
if(PlatformStatus.b.LOG_MANAGER)
{
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());
PlatformStatus.s.lastSavedIndex = LogEvent_GetCount(LOG_EV_NRM);
PRINTF_MAIN1("Saved item %d\r\n", PlatformStatus.s.lastSavedIndex);
......@@ -1363,6 +1374,8 @@ void UserStateMachine()
}
ReloadSleepTimer();
PlatformStatus.s.xNextState = State_PrepareLowPower;
PRINTF_MAIN1("--> Going low power (timer event)...\r\n");
}
break;
case State_IdleAfterSend:
......@@ -1390,9 +1403,12 @@ void UserStateMachine()
uint8_t wind_speed = get_nucleo_data(0);
uint8_t wind_direction = get_nucleo_data(1);
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_direction = wind_direction;
sensor_data.flame_sensor = flame_sensor;
sensor_data.smoke_data = smoke_data;
BSP_accelero_Enable();
// HW_SPI_InOut_Message();
......@@ -1438,7 +1454,7 @@ void UserStateMachine()
{
HAL_Delay(500);
LED_Off( LED_WHITE );
PRINTF_MAIN1("LOWPOWER");
// PRINTF_MAIN1("LOWPOWER");
LPM_SetOffMode(LPM_APPLI_Id, LPM_Disable );
LPM_SetStopMode(LPM_APPLI_Id, LPM_Disable );
......@@ -1742,6 +1758,7 @@ static uint8_t SendData( void )
uint8_t wind_speed = -1;
uint8_t wind_direction = -1;
uint8_t flame_sensor = -1;
uint8_t smoke_data = -1;
if ( CHECK_LORA_JOIN () != LORA_SET)
{
......@@ -1778,6 +1795,7 @@ static uint8_t SendData( void )
wind_speed = data_logged.wind_speed;
wind_direction = data_logged.wind_direction;
flame_sensor = data_logged.flame_sensor;
smoke_data = data_logged.smoke_data;
epoch_value = data_logged.epoch_value;
accelero_x = ( int32_t )( data_logged.accelero_x );
......@@ -1831,6 +1849,9 @@ static uint8_t SendData( void )
AppData.Buff[i++] = cchannel++;
AppData.Buff[i++] = LPP_DATATYPE_DIGITAL_OUTPUT;
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 )
......@@ -2825,9 +2846,9 @@ uint8_t GetSingleItem(uint16_t nbitem)
if(nQuoteIndex != NULL)
{
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;
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)
{
data_logged.sentFlag = (tsentFlag != 0);
......@@ -2842,8 +2863,9 @@ uint8_t GetSingleItem(uint16_t nbitem)
data_logged.wind_speed = wind_speed;
data_logged.wind_direction = wind_direction;
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;
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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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
......@@ -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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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