blob: f439fd72f7393feaf1c2a2200b347eb8fb776439 [file] [log] [blame]
/**
******************************************************************************
* File Name : app_conf.h
* Description : Application configuration file for STM32WPAN middleWare.
******************************************************************************
* @attention
*
* Copyright (c) 2019-2021 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.
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef APP_CONF_H
#define APP_CONF_H
#ifdef __cplusplus
extern "C" {
#endif
#include "hw.h"
#include "hw_conf.h"
#include "hw_if.h"
/******************************************************************************
* Application Config
******************************************************************************/
/**< generic parameters */
/**
*
* Define Tx Power
*/
#define CFG_TX_POWER (0x18) /**< 0dbm */
/**
* Define Advertising parameters
*/
#define CFG_ADV_BD_ADDRESS (0x7257acd87a6c)
#define CFG_FAST_CONN_ADV_INTERVAL_MIN (0x80) /**< 80ms */
#define CFG_FAST_CONN_ADV_INTERVAL_MAX (0xa0) /**< 100ms */
#define CFG_LP_CONN_ADV_INTERVAL_MIN (0x640) /**< 1s */
#define CFG_LP_CONN_ADV_INTERVAL_MAX (0xfa0) /**< 2.5s */
/**
* Define IO Authentication
*/
#define CFG_BONDING_MODE (1)
#define CFG_FIXED_PIN (111111)
#define CFG_USED_FIXED_PIN (0)
#define CFG_ENCRYPTION_KEY_SIZE_MAX (16)
#define CFG_ENCRYPTION_KEY_SIZE_MIN (8)
/**
* Define IO capabilities
*/
#define CFG_IO_CAPABILITY_DISPLAY_ONLY (0x00)
#define CFG_IO_CAPABILITY_DISPLAY_YES_NO (0x01)
#define CFG_IO_CAPABILITY_KEYBOARD_ONLY (0x02)
#define CFG_IO_CAPABILITY_NO_INPUT_NO_OUTPUT (0x03)
#define CFG_IO_CAPABILITY_KEYBOARD_DISPLAY (0x04)
#define CFG_IO_CAPABILITY CFG_IO_CAPABILITY_DISPLAY_YES_NO
/**
* Define MITM modes
*/
#define CFG_MITM_PROTECTION_NOT_REQUIRED (0x00)
#define CFG_MITM_PROTECTION_REQUIRED (0x01)
#define CFG_MITM_PROTECTION CFG_MITM_PROTECTION_REQUIRED
/**
* Define PHY
*/
#define ALL_PHYS_PREFERENCE 0x00
#define RX_2M_PREFERRED 0x02
#define TX_2M_PREFERRED 0x02
#define TX_1M 0x01
#define TX_2M 0x02
#define RX_1M 0x01
#define RX_2M 0x02
/* freertos defines */
#define CFG_SHCI_USER_EVT_PROCESS_NAME "SHCI_USER_EVT_PROCESS"
#define CFG_SHCI_USER_EVT_PROCESS_ATTR_BITS (0)
#define CFG_SHCI_USER_EVT_PROCESS_CB_MEM (0)
#define CFG_SHCI_USER_EVT_PROCESS_CB_SIZE (0)
#define CFG_SHCI_USER_EVT_PROCESS_STACK_MEM (0)
#define CFG_SHCI_USER_EVT_PROCESS_PRIORITY osPriorityNormal
#define CFG_SHCI_USER_EVT_PROCESS_STACK_SIZE (128 * 20)
#define CFG_PUSH_BUTTON_EVT_PROCESS_NAME "PUSH_BUTTON_EVT_PROCESS"
#define CFG_PUSH_BUTTON_EVT_PROCESS_ATTR_BITS (0)
#define CFG_PUSH_BUTTON_EVT_PROCESS_CB_MEM (0)
#define CFG_PUSH_BUTTON_EVT_PROCESS_CB_SIZE (0)
#define CFG_PUSH_BUTTON_EVT_PROCESS_STACK_MEM (0)
#define CFG_PUSH_BUTTON_EVT_PROCESS_PRIORITY osPriorityNormal
#define CFG_PUSH_BUTTON_EVT_PROCESS_STACK_SIZE (128 * 4)
#define CFG_SEND_COAP_NAME "SEND_COAP_EVT_PROCESS"
#define CFG_SWITCH_PROTOCOL_EVT_PROCESS_NAME "SWITCH_PROTCOL_EVT_PROCESS"
#define CFG_SWITCH_PROTOCOL_EVT_PROCESS_ATTR_BITS (0)
#define CFG_SWITCH_PROTOCOL_EVT_PROCESS_CB_MEM (0)
#define CFG_SWITCH_PROTOCOL_EVT_PROCESS_CB_SIZE (0)
#define CFG_SWITCH_PROTOCOL_EVT_PROCESS_STACK_MEM (0)
#define CFG_SWITCH_PROTOCOL_EVT_PROCESS_PRIORITY osPriorityNormal
#define CFG_SWITCH_PROTOCOL_EVT_PROCESS_STACK_SIZE (128 * 8)
#define CFG_THREAD_MSG_M0_TO_M4_PROCESS_NAME "THREAD_MSG_M0_TO_M4_PROCESS"
#define CFG_THREAD_MSG_M0_TO_M4_PROCESS_ATTR_BITS (0)
#define CFG_THREAD_MSG_M0_TO_M4_PROCESS_CB_MEM (0)
#define CFG_THREAD_MSG_M0_TO_M4_PROCESS_CB_SIZE (0)
#define CFG_THREAD_MSG_M0_TO_M4_PROCESS_STACK_MEM (0)
#define CFG_THREAD_MSG_M0_TO_M4_PROCESS_PRIORITY osPriorityNormal
#define CFG_THREAD_MSG_M0_TO_M4_PROCESS_STACK_SIZE (128 * 8)
#define CFG_THREAD_CLI_PROCESS_NAME "THREAD_CLI_PROCESS"
#define CFG_THREAD_CLI_PROCESS_ATTR_BITS (0)
#define CFG_THREAD_CLI_PROCESS_CB_MEM (0)
#define CFG_THREAD_CLI_PROCESS_CB_SIZE (0)
#define CFG_THREAD_CLI_PROCESS_STACK_MEM (0)
#define CFG_THREAD_CLI_PROCESS_PRIORITY osPriorityNormal
#define CFG_THREAD_CLI_PROCESS_STACK_SIZE (128 * 8)
#define CFG_THREAD_SEND_COAP_MSG_PROCESS_NAME "THREAD_SEND_COAP_MSG_PROCESS"
#define CFG_THREAD_SEND_COAP_MSG_PROCESS_ATTR_BITS (0)
#define CFG_THREAD_SEND_COAP_MSG_PROCESS_CB_MEM (0)
#define CFG_THREAD_SEND_COAP_MSG_PROCESS_CB_SIZE (0)
#define CFG_THREAD_SEND_COAP_MSG_PROCESS_STACK_MEM (0)
#define CFG_THREAD_SEND_COAP_MSG_PROCESS_PRIORITY osPriorityNormal
#define CFG_THREAD_SEND_COAP_MSG_PROCESS_STACk_SIZE (128 * 8)
#define CFG_THREAD_SET_SED_MODE_PROCESS_NAME "THREAD_SET_SED_MODE_PROCESS"
#define CFG_THREAD_SET_SED_MODE_PROCESS_ATTR_BITS (0)
#define CFG_THREAD_SET_SED_MODE_PROCESS_CB_MEM (0)
#define CFG_THREAD_SET_SED_MODE_PROCESS_CB_SIZE (0)
#define CFG_THREAD_SET_SED_MODE_PROCESS_STACK_MEM (0)
#define CFG_THREAD_SET_SED_MODE_PROCESS_PRIORITY osPriorityNormal
#define CFG_THREAD_SET_SED_MODE_PROCESS_STACk_SIZE (128 * 8)
#define CFG_HCI_USER_EVT_PROCESS_NAME "HCI_USER_EVT_PROCESS"
#define CFG_HCI_USER_EVT_PROCESS_ATTR_BITS (0)
#define CFG_HCI_USER_EVT_PROCESS_CB_MEM (0)
#define CFG_HCI_USER_EVT_PROCESS_CB_SIZE (0)
#define CFG_HCI_USER_EVT_PROCESS_STACK_MEM (0)
#define CFG_HCI_USER_EVT_PROCESS_PRIORITY osPriorityNormal
#define CFG_HCI_USER_EVT_PROCESS_STACK_SIZE (128 * 40)
#define CFG_ADV_UPDATE_PROCESS_NAME "ADV_UPDATE_PROCESS"
#define CFG_ADV_UPDATE_PROCESS_ATTR_BITS (0)
#define CFG_ADV_UPDATE_PROCESS_CB_MEM (0)
#define CFG_ADV_UPDATE_PROCESS_CB_SIZE (0)
#define CFG_ADV_UPDATE_PROCESS_STACK_MEM (0)
#define CFG_ADV_UPDATE_PROCESS_PRIORITY osPriorityNormal
#define CFG_ADV_UPDATE_PROCESS_STACK_SIZE (128 * 20)
#define CFG_P2P_SERVER_PROCESS_NAME "P2P_SERVER_PROCESS"
#define CFG_P2P_SERVER_PROCESS_ATTR_BITS (0)
#define CFG_P2P_SERVER_PROCESS_CB_MEM (0)
#define CFG_P2P_SERVER_PROCESS_CB_SIZE (0)
#define CFG_P2P_SERVER_PROCESS_STACK_MEM (0)
#define CFG_P2P_SERVER_PROCESS_PRIORITY osPriorityNormal
#define CFG_P2P_SERVER_PROCESS_STACK_SIZE (128 * 20)
#define LED_PROCESS_NAME "LED_CUBE_PROCESS"
#define LED_PROCESS_ATTR_BITS (0)
#define LED_PROCESS_CB_MEM (0)
#define LED_PROCESS_CB_SIZE (0)
#define LED_PROCESS_STACK_MEM (0)
#define LED_PROCESS_PRIORITY osPriorityNormal
#define LED_PROCESS_STACK_SIZE (128 * 10)
#define APPTASK_NAME "APPTASK"
#define APP_ATTR_BITS (0)
#define APP_CB_MEM (0)
#define APP_CB_SIZE (0)
#define APP_STACK_MEM (0)
#define APP_PRIORITY osPriorityNormal
#define APP_STACK_SIZE (1024 * 6)
/**
* Identity root key used to derive LTK and CSRK
*/
#define CFG_BLE_IRK \
{ \
0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0 \
}
/**
* Encryption root key used to derive LTK and CSRK
*/
#define CFG_BLE_ERK \
{ \
0xfe, 0xdc, 0xba, 0x09, 0x87, 0x65, 0x43, 0x21, 0xfe, 0xdc, 0xba, 0x09, 0x87, 0x65, 0x43, 0x21 \
}
/* USER CODE BEGIN Generic_Parameters */
/**
* SMPS supply
* SMPS not used when Set to 0
* SMPS used when Set to 1
*/
#define CFG_USE_SMPS 1
/* USER CODE END Generic_Parameters */
/**< specific parameters */
/*****************************************************/
#define PUSH_BUTTON_SW1_EXTI_IRQHandler EXTI4_IRQHandler
#define PUSH_BUTTON_SW2_EXTI_IRQHandler EXTI0_IRQHandler
#define PUSH_BUTTON_SW3_EXTI_IRQHandler EXTI1_IRQHandler
#define P2P_SERVER1 1 /*1 = Device is Peripherique*/
#define CFG_DEV_ID_P2P_SERVER1 (0x83)
#define RADIO_ACTIVITY_EVENT 1 /* 1 for OOB Demo */
/**
* AD Element - Group B Feature
*/
/* LSB - First Byte */
#define CFG_FEATURE_THREAD_SWITCH (0x40)
/* LSB - Second Byte */
#define CFG_FEATURE_OTA_REBOOT (0x20)
#define CONN_L(x) ((int) ((x) / 0.625f))
#define CONN_P(x) ((int) ((x) / 1.25f))
/* L2CAP Connection Update request parameters used for test only with smart Phone */
#define L2CAP_REQUEST_NEW_CONN_PARAM 1
#define L2CAP_INTERVAL_MIN CONN_P(1000) /* 1s */
#define L2CAP_INTERVAL_MAX CONN_P(1000) /* 1s */
#define L2CAP_SLAVE_LATENCY 0x0000
#define L2CAP_TIMEOUT_MULTIPLIER 0x1F4
/******************************************************************************
* BLE Stack
******************************************************************************/
/**
* Maximum number of simultaneous connections that the device will support.
* Valid values are from 1 to 8
*/
#define CFG_BLE_NUM_LINK 8
/**
* Maximum number of Services that can be stored in the GATT database.
* Note that the GAP and GATT services are automatically added so this parameter should be 2 plus the number of user services
*/
#define CFG_BLE_NUM_GATT_SERVICES 8
/**
* Maximum number of Attributes
* (i.e. the number of characteristic + the number of characteristic values + the number of descriptors, excluding the services)
* that can be stored in the GATT database.
* Note that certain characteristics and relative descriptors are added automatically during device initialization
* so this parameters should be 9 plus the number of user Attributes
*/
#define CFG_BLE_NUM_GATT_ATTRIBUTES 68
/**
* Maximum supported ATT_MTU size
*/
#define CFG_BLE_MAX_ATT_MTU (251)
/**
* Size of the storage area for Attribute values
* This value depends on the number of attributes used by application. In particular the sum of the following quantities (in
* octets) should be made for each attribute:
* - attribute value length
* - 5, if UUID is 16 bit; 19, if UUID is 128 bit
* - 2, if server configuration descriptor is used
* - 2*DTM_NUM_LINK, if client configuration descriptor is used
* - 2, if extended properties is used
* The total amount of memory needed is the sum of the above quantities for each attribute.
*/
#define CFG_BLE_ATT_VALUE_ARRAY_SIZE (1344)
/**
* Prepare Write List size in terms of number of packet with ATT_MTU=23 bytes
*/
#define CFG_BLE_PREPARE_WRITE_LIST_SIZE BLE_PREP_WRITE_X_ATT(CFG_BLE_MAX_ATT_MTU)
/**
* Number of allocated memory blocks
*/
#define CFG_BLE_MBLOCK_COUNT (BLE_MBLOCKS_CALC(CFG_BLE_PREPARE_WRITE_LIST_SIZE, CFG_BLE_MAX_ATT_MTU, CFG_BLE_NUM_LINK))
/**
* Enable or disable the Extended Packet length feature. Valid values are 0 or 1.
*/
#define CFG_BLE_DATA_LENGTH_EXTENSION 1
/**
* Sleep clock accuracy in Slave mode (ppm value)
*/
#define CFG_BLE_SLAVE_SCA 500
/**
* Sleep clock accuracy in Master mode
* 0 : 251 ppm to 500 ppm
* 1 : 151 ppm to 250 ppm
* 2 : 101 ppm to 150 ppm
* 3 : 76 ppm to 100 ppm
* 4 : 51 ppm to 75 ppm
* 5 : 31 ppm to 50 ppm
* 6 : 21 ppm to 30 ppm
* 7 : 0 ppm to 20 ppm
*/
#define CFG_BLE_MASTER_SCA 0
/**
* Source for the 32 kHz slow speed clock
* 1 : internal RO
* 0 : external crystal ( no calibration )
*/
#define CFG_BLE_LSE_SOURCE 0
/**
* Start up time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 us (~2.44 us)
*/
#define CFG_BLE_HSE_STARTUP_TIME 0x148
/**
* Maximum duration of the connection event when the device is in Slave mode in units of 625/256 us (~2.44 us)
*/
#define CFG_BLE_MAX_CONN_EVENT_LENGTH (0xFFFFFFFF)
/**
* Viterbi Mode
* 1 : enabled
* 0 : disabled
*/
#define CFG_BLE_VITERBI_MODE 1
/**
* BLE stack Options flags to be configured with:
* - SHCI_C2_BLE_INIT_OPTIONS_LL_ONLY
* - SHCI_C2_BLE_INIT_OPTIONS_LL_HOST
* - SHCI_C2_BLE_INIT_OPTIONS_NO_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
* (bit 0): 1: LL only
* 0: LL + host
* (bit 1): 1: no service change desc.
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
#define CFG_BLE_OPTIONS SHCI_C2_BLE_INIT_OPTIONS_LL_HOST
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
#define CFG_BLE_MIN_TX_POWER (0)
#define CFG_BLE_MAX_TX_POWER (0)
/******************************************************************************
* Transport Layer
******************************************************************************/
/**
* Queue length of BLE Event
* This parameter defines the number of asynchronous events that can be stored in the HCI layer before
* being reported to the application. When a command is sent to the BLE core coprocessor, the HCI layer
* is waiting for the event with the Num_HCI_Command_Packets set to 1. The receive queue shall be large
* enough to store all asynchronous events received in between.
* When CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE is set to 27, this allow to store three 255 bytes long asynchronous events
* between the HCI command and its event.
* This parameter depends on the value given to CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE. When the queue size is to small,
* the system may hang if the queue is full with asynchronous events and the HCI layer is still waiting
* for a CC/CS event, In that case, the notification TL_BLE_HCI_ToNot() is called to indicate
* to the application a HCI command did not receive its command event within 30s (Default HCI Timeout).
*/
#define CFG_TLBLE_EVT_QUEUE_LENGTH 5
/**
* This parameter should be set to fit most events received by the HCI layer. It defines the buffer size of each element
* allocated in the queue of received events and can be used to optimize the amount of RAM allocated by the Memory Manager.
* It should not exceed 255 which is the maximum HCI packet payload size (a greater value is a lost of memory as it will
* never be used)
* It shall be at least 4 to receive the command status event in one frame.
* The default value is set to 27 to allow receiving an event of MTU size in a single buffer. This value maybe reduced
* further depending on the application.
*
*/
#define CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE 255 /**< Set to 255 with the memory manager and the mailbox */
#define TL_BLE_EVENT_FRAME_SIZE (TL_EVT_HDR_SIZE + CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE)
/******************************************************************************
* UART interfaces
******************************************************************************/
#define CFG_DEBUG_TRACE_UART hw_uart1
#define CFG_CLI_UART hw_lpuart1
/******************************************************************************
* USB interface
******************************************************************************/
/**
* Enable/Disable USB interface
*/
#define CFG_USB_INTERFACE_ENABLE 0
/******************************************************************************
* Low Power
*
* When CFG_FULL_LOW_POWER is set to 1, the system is configured in full
* low power mode. It means that all what can have an impact on the consumptions
* are powered down.(For instance LED, Access to Debugger, Etc.)
*
* When CFG_FULL_LOW_POWER is set to 0, the low power mode is not activated
*
******************************************************************************/
#define CFG_FULL_LOW_POWER 0
#if (CFG_FULL_LOW_POWER == 1)
#undef CFG_LPM_SUPPORTED
#define CFG_LPM_SUPPORTED 1
#endif /* CFG_FULL_LOW_POWER */
/* FOR DEBUGGING ONLY ! */
// #define CFG_LPM_SUPPORTED 1
/******************************************************************************
* Timer Server
******************************************************************************/
/**
* CFG_RTC_WUCKSEL_DIVIDER: This sets the RTCCLK divider to the wakeup timer.
* The higher is the value, the better is the power consumption and the accuracy of the timerserver
* The lower is the value, the finest is the granularity
*
* CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to output
* clock as low as possible) but the output clock should be equal or higher frequency compare to the clock feeding
* the wakeup timer. A lower clock speed would impact the accuracy of the timer server.
*
* CFG_RTC_SYNCH_PRESCALER: This sets the synchronous prescaler of the RTC.
* When the 1Hz calendar clock is required, it shall be sets according to other settings
* When the 1Hz calendar clock is not needed, CFG_RTC_SYNCH_PRESCALER should be set to 0x7FFF (MAX VALUE)
*
* CFG_RTCCLK_DIVIDER_CONF:
* Shall be set to either 0,2,4,8,16
* When set to either 2,4,8,16, the 1Hhz calendar is supported
* When set to 0, the user sets its own configuration
*
* The following settings are computed with LSI as input to the RTC
*/
#define CFG_RTCCLK_DIVIDER_CONF 0
#if (CFG_RTCCLK_DIVIDER_CONF == 0)
/**
* Custom configuration
* It does not support 1Hz calendar
* It divides the RTC CLK by 16
*/
#define CFG_RTCCLK_DIV (16)
#define CFG_RTC_WUCKSEL_DIVIDER (0)
#define CFG_RTC_ASYNCH_PRESCALER (CFG_RTCCLK_DIV - 1)
#define CFG_RTC_SYNCH_PRESCALER (0x7FFF)
#else
#if (CFG_RTCCLK_DIVIDER_CONF == 2)
/**
* It divides the RTC CLK by 2
*/
#define CFG_RTC_WUCKSEL_DIVIDER (3)
#endif
#if (CFG_RTCCLK_DIVIDER_CONF == 4)
/**
* It divides the RTC CLK by 4
*/
#define CFG_RTC_WUCKSEL_DIVIDER (2)
#endif
#if (CFG_RTCCLK_DIVIDER_CONF == 8)
/**
* It divides the RTC CLK by 8
*/
#define CFG_RTC_WUCKSEL_DIVIDER (1)
#endif
#if (CFG_RTCCLK_DIVIDER_CONF == 16)
/**
* It divides the RTC CLK by 16
*/
#define CFG_RTC_WUCKSEL_DIVIDER (0)
#endif
#define CFG_RTCCLK_DIV CFG_RTCCLK_DIVIDER_CONF
#define CFG_RTC_ASYNCH_PRESCALER (CFG_RTCCLK_DIV - 1)
#define CFG_RTC_SYNCH_PRESCALER (DIVR(LSE_VALUE, (CFG_RTC_ASYNCH_PRESCALER + 1)) - 1)
#endif
/** tick timer value in us */
#define CFG_TS_TICK_VAL DIVR((CFG_RTCCLK_DIV * 1000000), LSE_VALUE)
typedef enum
{
CFG_TIM_PROC_ID_ISR,
} CFG_TimProcID_t;
/******************************************************************************
* Debug
******************************************************************************/
/**
* When set, this resets some hw resources to set the device in the same state than the power up
* The FW resets only register that may prevent the FW to run properly
*
* This shall be set to 0 in a final product
*
*/
#define CFG_HW_RESET_BY_FW 1
/**
* keep debugger enabled while in any low power mode when set to 1
* should be set to 0 in production
*/
#define CFG_DEBUGGER_SUPPORTED 1
#if (CFG_FULL_LOW_POWER == 1)
#undef CFG_DEBUGGER_SUPPORTED
#define CFG_DEBUGGER_SUPPORTED 0
#endif /* CFG_FULL_LOW_POWER */
/*****************************************************************************
* Traces
* Enable or Disable traces in application
* When CFG_DEBUG_TRACE is set, traces are activated
*
* Note : Refer to utilities_conf.h file in order to details
* the level of traces : CFG_DEBUG_TRACE_FULL or CFG_DEBUG_TRACE_LIGHT
*****************************************************************************/
/**
* When set to 1, the traces are enabled in the BLE services
*/
#define CFG_DEBUG_BLE_TRACE 1
/**
* Enable or Disable traces in application
*/
#define CFG_DEBUG_APP_TRACE 1
#if (CFG_DEBUG_APP_TRACE != 0)
#define APP_DBG_MSG PRINT_MESG_DBG
#else
#define APP_DBG_MSG PRINT_NO_MESG
#endif
#if ((CFG_DEBUG_BLE_TRACE != 0) || (CFG_DEBUG_APP_TRACE != 0))
#define CFG_DEBUG_TRACE 1
#endif
#if (CFG_FULL_LOW_POWER == 1)
#undef CFG_DEBUG_TRACE
#define CFG_DEBUG_TRACE 0
#endif /* CFG_FULL_LOW_POWER */
/**
* When CFG_DEBUG_TRACE_FULL is set to 1, the trace are output with the API name, the file name and the line number
* When CFG_DEBUG_TRACE_LIGHT is set to 1, only the debug message is output
*
* When both are set to 0, no trace are output
* When both are set to 1, CFG_DEBUG_TRACE_FULL is selected
*/
#define CFG_DEBUG_TRACE_LIGHT 1
#define CFG_DEBUG_TRACE_FULL 0
#if ((CFG_DEBUG_TRACE != 0) && (CFG_DEBUG_TRACE_LIGHT == 0) && (CFG_DEBUG_TRACE_FULL == 0))
#undef CFG_DEBUG_TRACE_FULL
#undef CFG_DEBUG_TRACE_LIGHT
#define CFG_DEBUG_TRACE_FULL 0
#define CFG_DEBUG_TRACE_LIGHT 1
#endif
#if (CFG_DEBUG_TRACE == 0)
#undef CFG_DEBUG_TRACE_FULL
#undef CFG_DEBUG_TRACE_LIGHT
#define CFG_DEBUG_TRACE_FULL 0
#define CFG_DEBUG_TRACE_LIGHT 0
#endif
/**
* When not set, the traces is looping on sending the trace over UART
*/
#define DBG_TRACE_USE_CIRCULAR_QUEUE 1
/**
* max buffer Size to queue data traces and max data trace allowed.
* Only Used if DBG_TRACE_USE_CIRCULAR_QUEUE is defined
*/
#define DBG_TRACE_MSG_QUEUE_SIZE (1024 * 5)
#define MAX_DBG_TRACE_MSG_SIZE 1024
/******************************************************************************
* Configure Log level for Application
******************************************************************************/
#define APPLI_CONFIG_LOG_LEVEL LOG_LEVEL_INFO
#define APPLI_PRINT_FILE_FUNC_LINE 0
/* USER CODE BEGIN Defines */
/******************************************************************************
* User interaction
* When CFG_LED_SUPPORTED is set, LEDS are activated if requested
* When CFG_BUTTON_SUPPORTED is set, the push button are activated if requested
******************************************************************************/
#if (CFG_FULL_LOW_POWER == 1)
#define CFG_LED_SUPPORTED 0
#define CFG_BUTTON_SUPPORTED 0
#else
#define CFG_LED_SUPPORTED 1
#define CFG_BUTTON_SUPPORTED 1
#endif /* CFG_FULL_LOW_POWER */
/* USER CODE END Defines */
/******************************************************************************
* LOW POWER
******************************************************************************/
/**
* Supported requester to the MCU Low Power Manager - can be increased up to 32
* It lists a bit mapping of all user of the Low Power Manager
*/
typedef enum
{
CFG_LPM_APP,
CFG_LPM_APP_BLE,
CFG_LPM_APP_THREAD
/* USER CODE BEGIN CFG_LPM_Id_t */
/* USER CODE END CFG_LPM_Id_t */
} CFG_LPM_Id_t;
/******************************************************************************
* OTP manager
******************************************************************************/
#define CFG_OTP_BASE_ADDRESS OTP_AREA_BASE
#define CFG_OTP_END_ADDRESS OTP_AREA_END_ADDR
typedef enum
{
BUTTON_1 = 0x1,
} button_type_t;
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* APP_CONF_H */