L14-Click 1.0
STM32WLE5CC LoRaWAN Sensor Platform
Loading...
Searching...
No Matches
main.c File Reference

: Main program body More...

#include "main.h"
#include "dma.h"
#include "i2c.h"
#include "app_lorawan.h"
#include "rtc.h"
#include "spi.h"
#include "usart.h"
#include "gpio.h"
#include <stdio.h>
#include "mysensors.h"
#include "mysensors_base.h"
#include "mymems.h"
#include "usart_if.h"
#include "stm32_seq.h"
#include "stm32_lpm.h"
#include "mylora_process.h"
#include "timer_if.h"
#include "nfc.h"
#include "sys_app.h"
#include "lora_app.h"
Include dependency graph for main.c:

Go to the source code of this file.

Functions

void SystemClock_Config (void)
 System Clock Configuration.
void writeLogNL (const char *buf)
 Send a pre-formatted C string to the UART log followed by a newline.
void writeLogVA (const char *format, va_list argList)
 Format and send a log message using a va_list argument list. Used internally by writeLog(); can also be called from wrapper functions that accept a variadic argument list.
void writeLog (const char *format,...)
 Format and send a log message over UART (printf-style). Available only when WRITELOG is defined; compiles to nothing otherwise.
void I2C_Scan (I2C_HandleTypeDef *hi2c)
void HAL_GPIO_EXTI_Callback (uint16_t GPIO_Pin)
 called from GPIO interrupt
void uart_Start ()
 start of UART reading
void togle_LedOff (int off)
 togle led
void setModeDevice (modeDevice_t mod)
 set new device mode
static void Uart_RxProcessing ()
static void sensors_NFCInt ()
 The interrupt of NFC4 tag.
static void checkResetRestart ()
int main (void)
 The application entry point.
void Error_Handler (void)
 This function is executed in case of error occurrence.

Variables

static modeDevice_t _modeDevice = MODEDEVICE_SLEEP
static volatile int _nfcTagged = 0
static UTIL_TIMER_Object_t _nfcAfterTrigger

Detailed Description

: Main program body

Attention

Copyright (c) 2025 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Definition in file main.c.

Function Documentation

◆ checkResetRestart()

void checkResetRestart ( )
static

@bried check the data from NFC. Function is called from timer _nfcAfterTrigger or directly

Definition at line 199 of file main.c.

References _systemParams, hi2c2, mems_Reset(), nfc_FactoryReset(), nfc_ReadSystemParams(), nfc_WriteSystemParams(), and writeLog().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Error_Handler()

void Error_Handler ( void )

This function is executed in case of error occurrence.

Default error handler called by HAL on unrecoverable errors. Disables interrupts and enters an infinite loop; attach a debugger or add custom recovery logic inside the USER CODE section in main.c.

Return values
None

Definition at line 505 of file main.c.

References HAL_Delay(), USER_LED_GPIO_Port, and USER_LED_Pin.

Referenced by ADC_ReadChannels(), EnvSensors_Init(), flash_at25_Write(), flash_WritePage(), HAL_ADC_MspInit(), HAL_I2C_MspInit(), HAL_RTC_MspInit(), HAL_UART_MspInit(), mems_Check(), mems_Init(), mems_SetOffset(), MX_ADC_Init(), MX_I2C2_Init(), MX_RTC_Init(), MX_SPI1_Init(), MX_SUBGHZ_Init(), MX_USART1_UART_Init(), sensors_WriteFromBckToDataBlock(), sensorsBase_Init(), SystemClock_Config(), TIMER_IF_StartTimer(), and vcom_Resume().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HAL_GPIO_EXTI_Callback()

void HAL_GPIO_EXTI_Callback ( uint16_t GPIO_Pin)

called from GPIO interrupt

Definition at line 133 of file main.c.

References CFG_SEQ_Prio_0, CFG_SEQ_Task_NFC_INT, and NFC_INT_Pin.

◆ I2C_Scan()

void I2C_Scan ( I2C_HandleTypeDef * hi2c)

Definition at line 107 of file main.c.

References HAL_Delay(), and writeLog().

Here is the call graph for this function:

◆ main()

◆ sensors_NFCInt()

void sensors_NFCInt ( )
static

The interrupt of NFC4 tag.

Definition at line 188 of file main.c.

References _nfcAfterTrigger, _nfcTagged, and writeLog().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setModeDevice()

void setModeDevice ( modeDevice_t mod)

set new device mode

Definition at line 159 of file main.c.

References _modeDevice, CFG_LPM_APPLI_Id, MODEDEVICE_OFF, MODEDEVICE_SLEEP, and MODEDEVICE_STOP.

Referenced by main(), and sensorsBase_StopTimerToOff().

Here is the caller graph for this function:

◆ SystemClock_Config()

void SystemClock_Config ( void )

System Clock Configuration.

Re-configure all system clocks after waking from STOP or OFF mode. Called automatically during the startup/reset sequence; may also be called after exiting low-power modes to restore the full clock tree.

Return values
None

Configure LSE Drive Capability

Configure the main internal regulator output voltage

Initializes the CPU, AHB and APB buses clocks

Configure the SYSCLKSource, HCLK, PCLK1 and PCLK2 clocks dividers

Definition at line 453 of file main.c.

References Error_Handler().

Referenced by main(), and PWR_ExitStopMode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ togle_LedOff()

void togle_LedOff ( int off)

togle led

Parameters
off- 0 - led is toggled, 1 - led is OFF

Definition at line 151 of file main.c.

References USER_LED_GPIO_Port, and USER_LED_Pin.

Referenced by sensors_Work().

Here is the caller graph for this function:

◆ Uart_RxProcessing()

void Uart_RxProcessing ( )
static

Definition at line 179 of file main.c.

References Uart_NextReceving().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ uart_Start()

void uart_Start ( )

start of UART reading

Definition at line 142 of file main.c.

References huart1, Uart_StartReceving(), and writeLog().

Referenced by main(), and PWR_ExitStopMode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeLog()

void writeLog ( const char * format,
... )

Format and send a log message over UART (printf-style). Available only when WRITELOG is defined; compiles to nothing otherwise.

Parameters
formatprintf-compatible format string followed by optional arguments.

Definition at line 97 of file main.c.

References writeLogVA().

Referenced by checkResetRestart(), flash_at25_Write(), flash_WritePage(), I2C_Scan(), LoRaWAN_SendConfirmedData(), main(), mems_Check(), mems_Init(), mems_ReadMainBlock(), mems_SetOffset(), myLoraWan_LastDataSend(), myloraWan_MeasureFinish(), myLoraWan_Reconnect(), myLoraWan_StartReconnect(), nfc_Init(), OnLoRaWanConnected(), OnLoRaWANRxData(), OnLoRaWANTxData(), OnTimeSynchronized(), PWR_EnterSleepMode(), PWR_EnterStopMode(), PWR_ExitSleepMode(), PWR_ExitStopMode(), sensors_Init(), sensors_NFCInt(), sensors_OnOff(), sensors_WriteFromBckToDataBlock(), sensorsBase_Init(), sps30_Service(), systemParams_Log(), and uart_Start().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeLogNL()

void writeLogNL ( const char * buf)

Send a pre-formatted C string to the UART log followed by a newline.

Parameters
bufNull-terminated string to transmit.

Definition at line 80 of file main.c.

References Uart_Info().

Referenced by sensBuffer_Send(), and writeLogVA().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeLogVA()

void writeLogVA ( const char * format,
va_list argList )

Format and send a log message using a va_list argument list. Used internally by writeLog(); can also be called from wrapper functions that accept a variadic argument list.

Parameters
formatprintf-compatible format string.
argListInitialised va_list of format arguments.

Definition at line 85 of file main.c.

References writeLogNL().

Referenced by writeLog().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ _modeDevice

modeDevice_t _modeDevice = MODEDEVICE_SLEEP
static

Definition at line 64 of file main.c.

Referenced by main(), and setModeDevice().

◆ _nfcAfterTrigger

UTIL_TIMER_Object_t _nfcAfterTrigger
static

Definition at line 66 of file main.c.

Referenced by main(), and sensors_NFCInt().

◆ _nfcTagged

volatile int _nfcTagged = 0
static

Definition at line 65 of file main.c.

Referenced by main(), and sensors_NFCInt().