HCI command for the system channel. More...
#include "mbox_def.h"
Go to the source code of this file.
Data Structures | |
struct | WirelessFwInfo_t |
Macros | |
#define | SHCI_OPCODE_C2_FUS_FW_UPGRADE (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_FW_UPGRADE) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_FW_DELETE (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_FW_DELETE) |
No structure for command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_UPDATE_AUTH_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_UPDATE_AUTH_KEY) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_LOCK_AUTH_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_LOCK_AUTH_KEY) |
No response parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_STORE_USR_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_STORE_USR_KEY) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_LOAD_USR_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_LOAD_USR_KEY) |
Response parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_START_WS (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_START_WS) |
Command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_RESERVED2 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED2) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_RESERVED3 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED3) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_LOCK_USR_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_LOCK_USR_KEY) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_UNLOAD_USR_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_UNLOAD_USR_KEY) |
Command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_ACTIVATE_ANTIROLLBACK (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_ACTIVATE_ANTIROLLBACK) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_RESERVED7 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED7) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_RESERVED8 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED8) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_RESERVED9 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED9) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_RESERVED10 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED10) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_RESERVED11 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED11) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FUS_RESERVED12 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED12) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_BLE_INIT (( SHCI_OGF << 10) + SHCI_OCF_C2_BLE_INIT) |
No command parameters. More... | |
#define | SHCI_C2_BLE_INIT_OPTIONS_LL_ONLY (1<<0) |
Options Each definition below may be added together to build the Options value WARNING : Only one definition per bit shall be added to build the Options value. More... | |
#define | SHCI_OPCODE_C2_DEBUG_INIT (( SHCI_OGF << 10) + SHCI_OCF_C2_DEBUG_INIT) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_FLASH_ERASE_ACTIVITY (( SHCI_OGF << 10) + SHCI_OCF_C2_FLASH_ERASE_ACTIVITY) |
No response parameters. More... | |
#define | SHCI_OPCODE_C2_CONCURRENT_SET_MODE (( SHCI_OGF << 10) + SHCI_OCF_C2_CONCURRENT_SET_MODE) |
No response parameters. More... | |
#define | SHCI_OPCODE_C2_CONCURRENT_GET_NEXT_BLE_EVT_TIME (( SHCI_OGF << 10) + SHCI_OCF_C2_CONCURRENT_GET_NEXT_BLE_EVT_TIME) |
No response parameters. More... | |
#define | SHCI_OPCODE_C2_CONCURRENT_ENABLE_NEXT_802154_EVT_NOTIFICATION (( SHCI_OGF << 10) + SHCI_OCF_C2_CONCURRENT_ENABLE_NEXT_802154_EVT_NOTIFICATION) |
No response parameters. More... | |
#define | SHCI_OPCODE_C2_FLASH_STORE_DATA (( SHCI_OGF << 10) + SHCI_OCF_C2_FLASH_STORE_DATA) |
No command parameters. More... | |
#define | SHCI_OPCODE_C2_RADIO_ALLOW_LOW_POWER (( SHCI_OGF << 10) + SHCI_OCF_C2_RADIO_ALLOW_LOW_POWER) |
No response parameters. More... | |
#define | SHCI_OPCODE_C2_SET_FLASH_ACTIVITY_CONTROL (( SHCI_OGF << 10) + SHCI_OCF_C2_SET_FLASH_ACTIVITY_CONTROL) |
No response parameters. More... | |
#define | SHCI_OPCODE_C2_CONFIG (( SHCI_OGF << 10) + SHCI_OCF_C2_CONFIG) |
No response parameters. More... | |
#define | SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE (sizeof(SHCI_C2_CONFIG_Cmd_Param_t) - 1) |
PayloadCmdSize Value that shall be used. More... | |
#define | SHCI_C2_CONFIG_CONFIG1_BIT0_BLE_NVM_DATA_TO_INTERNAL_FLASH (0<<0) |
Config1 Each definition below may be added together to build the Config1 value WARNING : Only one definition per bit shall be added to build the Config1 value. More... | |
#define | SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE (1<<0) |
EvtMask1 Each definition below may be added together to build the EvtMask1 value. More... | |
#define | BLE_NVM_SRAM_SIZE (507) |
BleNvmRamAddress The buffer shall have a size of BLE_NVM_SRAM_SIZE number of 32bits The buffer shall be allocated in SRAM2. More... | |
#define | THREAD_NVM_SRAM_SIZE (1016) |
ThreadNvmRamAddress The buffer shall have a size of THREAD_NVM_SRAM_SIZE number of 32bits The buffer shall be allocated in SRAM2. More... | |
#define | FUS_DEVICE_INFO_TABLE_VALIDITY_KEYWORD (0xA94656B9) |
No response parameters. More... | |
Typedefs | |
struct { | |
} | SHCI_C2_Ready_Evt_t |
SHCI_SUB_EVT_CODE_READY This notifies the CPU1 that the CPU2 is now ready to receive commands It reports as well which firmware is running on CPU2 : The wireless stack of the FUS (previously named RSS) More... | |
struct { | |
} | SHCI_C2_ErrorNotif_Evt_t |
SHCI_SUB_EVT_ERROR_NOTIF This reports to the CPU1 some error form the CPU2. More... | |
struct { | |
} | SHCI_C2_BleNvmRamUpdate_Evt_t |
SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE This notifies the CPU1 which part of the BLE NVM RAM has been updated so that only the modified section could be written in Flash/NVM StartAddress : Start address of the section that has been modified Size : Size (in bytes) of the section that has been modified. More... | |
struct { | |
} | SHCI_C2_ThreadNvmRamUpdate_Evt_t |
SHCI_SUB_EVT_THREAD_NVM_RAM_UPDATE This notifies the CPU1 which part of the OT NVM RAM has been updated so that only the modified section could be written in Flash/NVM StartAddress : Start address of the section that has been modified Size : Size (in bytes) of the section that has been modified. More... | |
struct { | |
} | SHCI_C2_NvmStartWrite_Evt_t |
SHCI_SUB_EVT_NVM_START_WRITE This notifies the CPU1 that the CPU2 has started a write procedure in Flash NumberOfWords : The number of 64bits data the CPU2 needs to write in Flash. More... | |
struct { | |
} | SHCI_C2_NvmStartErase_Evt_t |
SHCI_SUB_EVT_NVM_END_WRITE This notifies the CPU1 that the CPU2 has written all expected data in Flash. More... | |
struct { | |
uint32_t MetaData [3] | |
MetaData holds : 2*32bits for chaining list 1*32bits with BLE header (type + Opcode + Length) More... | |
} | SHCI_Header_t |
SHCI_SUB_EVT_NVM_END_ERASE This notifies the CPU1 that the CPU2 has erased all expected flash sectors. More... | |
struct { | |
uint8_t * pBleBufferAddress | |
NOT USED - shall be set to 0. More... | |
uint32_t BleBufferSize | |
NOT USED - shall be set to 0. More... | |
uint16_t NumAttrRecord | |
NumAttrRecord Maximum number of attribute records related to all the required characteristics (excluding the services) that can be stored in the GATT database, for the specific BLE user application. More... | |
uint16_t NumAttrServ | |
NumAttrServ Defines the maximum number of services that can be stored in the GATT database. More... | |
uint16_t AttrValueArrSize | |
AttrValueArrSize NOTE: This parameter is ignored by the CPU2 when the parameter "Options" is set to "LL_only" ( see Options description in that structure ) More... | |
uint8_t NumOfLinks | |
NumOfLinks Maximum number of BLE links supported. More... | |
uint8_t ExtendedPacketLengthEnable | |
ExtendedPacketLengthEnable Disable/enable the extended packet length BLE 5.0 feature. More... | |
uint8_t PrWriteListSize | |
PrWriteListSize NOTE: This parameter is ignored by the CPU2 when the parameter "Options" is set to "LL_only" ( see Options description in that structure ) More... | |
uint8_t MblockCount | |
MblockCount NOTE: This parameter is overwritten by the CPU2 with an hardcoded optimal value when the parameter "Options" is set to "LL_only" ( see Options description in that structure ) More... | |
uint16_t AttMtu | |
AttMtu NOTE: This parameter is ignored by the CPU2 when the parameter "Options" is set to "LL_only" ( see Options description in that structure ) More... | |
uint16_t SlaveSca | |
SlaveSca The sleep clock accuracy (ppm value) that used in BLE connected slave mode to calculate the window widening (in combination with the sleep clock accuracy sent by master in CONNECT_REQ PDU), refer to BLE 5.0 specifications - Vol 6 - Part B - chap 4.5.7 and 4.2.2. More... | |
uint8_t MasterSca | |
MasterSca The sleep clock accuracy handled in master mode. More... | |
uint8_t LsSource | |
LsSource Source for the 32 kHz slow speed clock. More... | |
uint32_t MaxConnEventLength | |
MaxConnEventLength This parameter determines the maximum duration of a slave connection event. More... | |
uint16_t HsStartupTime | |
HsStartupTime Startup time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 µs (~2.44 µs). More... | |
uint8_t ViterbiEnable | |
ViterbiEnable Viterbi implementation in BLE LL reception. More... | |
uint8_t Options | |
Options flags. More... | |
uint8_t HwVersion | |
HwVersion Reserved for future use - shall be set to 0. More... | |
uint8_t max_coc_initiator_nbr | |
Maximum number of connection-oriented channels in initiator mode. More... | |
int8_t min_tx_power | |
Minimum transmit power in dBm supported by the Controller. More... | |
int8_t max_tx_power | |
Maximum transmit power in dBm supported by the Controller. More... | |
} | SHCI_C2_Ble_Init_Cmd_Param_t |
THE ORDER SHALL NOT BE CHANGED. More... | |
struct { | |
} | SHCI_C2_DEBUG_TracesConfig_t |
Command parameters. More... | |
struct { | |
} | SHCI_C2_CONCURRENT_GetNextBleEvtTime_Param_t |
command parameters More... | |
struct { | |
} | SHCI_C2_CONFIG_Cmd_Param_t |
Command parameters. More... | |
Enumerations |
Functions | |
uint8_t | SHCI_C2_FUS_GetState (SHCI_FUS_GetState_ErrorCode_t *p_rsp) |
SHCI_C2_FUS_GetState. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_FwUpgrade (uint32_t fw_src_add, uint32_t fw_dest_add) |
SHCI_C2_FUS_FwUpgrade. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_FwDelete (void) |
SHCI_C2_FUS_FwDelete. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_UpdateAuthKey (SHCI_C2_FUS_UpdateAuthKey_Cmd_Param_t *pParam) |
SHCI_C2_FUS_UpdateAuthKey. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_LockAuthKey (void) |
SHCI_C2_FUS_LockAuthKey. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_StoreUsrKey (SHCI_C2_FUS_StoreUsrKey_Cmd_Param_t *pParam, uint8_t *p_key_index) |
SHCI_C2_FUS_StoreUsrKey. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_LoadUsrKey (uint8_t key_index) |
SHCI_C2_FUS_LoadUsrKey. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_StartWs (void) |
SHCI_C2_FUS_StartWs. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_LockUsrKey (uint8_t key_index) |
SHCI_C2_FUS_LockUsrKey. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_UnloadUsrKey (uint8_t key_index) |
SHCI_C2_FUS_UnloadUsrKey. More... | |
SHCI_CmdStatus_t | SHCI_C2_FUS_ActivateAntiRollback (void) |
SHCI_C2_FUS_ActivateAntiRollback. More... | |
SHCI_CmdStatus_t | SHCI_C2_BLE_Init (SHCI_C2_Ble_Init_Cmd_Packet_t *pCmdPacket) |
SHCI_C2_BLE_Init. More... | |
SHCI_CmdStatus_t | SHCI_C2_THREAD_Init (void) |
SHCI_C2_THREAD_Init. More... | |
SHCI_CmdStatus_t | SHCI_C2_LLDTESTS_Init (uint8_t param_size, uint8_t *p_param) |
SHCI_C2_LLDTESTS_Init. More... | |
SHCI_CmdStatus_t | SHCI_C2_BLE_LLD_Init (uint8_t param_size, uint8_t *p_param) |
SHCI_C2_BLE_LLD_Init. More... | |
SHCI_CmdStatus_t | SHCI_C2_ZIGBEE_Init (void) |
SHCI_C2_ZIGBEE_Init. More... | |
SHCI_CmdStatus_t | SHCI_C2_DEBUG_Init (SHCI_C2_DEBUG_Init_Cmd_Packet_t *pCmdPacket) |
SHCI_C2_DEBUG_Init. More... | |
SHCI_CmdStatus_t | SHCI_C2_FLASH_EraseActivity (SHCI_EraseActivity_t erase_activity) |
SHCI_C2_FLASH_EraseActivity. More... | |
SHCI_CmdStatus_t | SHCI_C2_CONCURRENT_SetMode (SHCI_C2_CONCURRENT_Mode_Param_t Mode) |
SHCI_C2_CONCURRENT_SetMode. More... | |
SHCI_CmdStatus_t | SHCI_C2_CONCURRENT_GetNextBleEvtTime (SHCI_C2_CONCURRENT_GetNextBleEvtTime_Param_t *pParam) |
SHCI_C2_CONCURRENT_GetNextBleEvtTime. More... | |
SHCI_CmdStatus_t | SHCI_C2_CONCURRENT_EnableNext_802154_EvtNotification (void) |
SHCI_C2_CONCURRENT_EnableNext_802154_EvtNotification. More... | |
SHCI_CmdStatus_t | SHCI_C2_FLASH_StoreData (SHCI_C2_FLASH_Ip_t Ip) |
SHCI_C2_FLASH_StoreData. More... | |
SHCI_CmdStatus_t | SHCI_C2_FLASH_EraseData (SHCI_C2_FLASH_Ip_t Ip) |
SHCI_C2_FLASH_EraseData. More... | |
SHCI_CmdStatus_t | SHCI_C2_RADIO_AllowLowPower (SHCI_C2_FLASH_Ip_t Ip, uint8_t FlagRadioLowPowerOn) |
SHCI_C2_RADIO_AllowLowPower. More... | |
SHCI_CmdStatus_t | SHCI_C2_MAC_802_15_4_Init (void) |
SHCI_C2_MAC_802_15_4_Init. More... | |
SHCI_CmdStatus_t | SHCI_GetWirelessFwInfo (WirelessFwInfo_t *pWirelessInfo) |
SHCI_GetWirelessFwInfo. More... | |
SHCI_CmdStatus_t | SHCI_C2_Reinit (void) |
SHCI_C2_Reinit. More... | |
SHCI_CmdStatus_t | SHCI_C2_ExtpaConfig (uint32_t gpio_port, uint16_t gpio_pin_number, uint8_t gpio_polarity, uint8_t gpio_status) |
SHCI_C2_ExtpaConfig. More... | |
SHCI_CmdStatus_t | SHCI_C2_SetFlashActivityControl (SHCI_C2_SET_FLASH_ACTIVITY_CONTROL_Source_t Source) |
SHCI_C2_SetFlashActivityControl. More... | |
SHCI_CmdStatus_t | SHCI_C2_Config (SHCI_C2_CONFIG_Cmd_Param_t *pCmdPacket) |
SHCI_C2_Config. More... | |
SHCI_CmdStatus_t | SHCI_C2_802_15_4_DeInit (void) |
SHCI_C2_802_15_4_DeInit. More... | |
HCI command for the system channel.
This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause
Definition in file shci.h.
#define BLE_NVM_SRAM_SIZE (507) |
#define FUS_DEVICE_INFO_TABLE_VALIDITY_KEYWORD (0xA94656B9) |
#define SHCI_C2_BLE_INIT_OPTIONS_LL_ONLY (1<<0) |
#define SHCI_C2_CONFIG_CONFIG1_BIT0_BLE_NVM_DATA_TO_INTERNAL_FLASH (0<<0) |
#define SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE (1<<0) |
#define SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE (sizeof(SHCI_C2_CONFIG_Cmd_Param_t) - 1) |
#define SHCI_OPCODE_C2_BLE_INIT (( SHCI_OGF << 10) + SHCI_OCF_C2_BLE_INIT) |
#define SHCI_OPCODE_C2_CONCURRENT_ENABLE_NEXT_802154_EVT_NOTIFICATION (( SHCI_OGF << 10) + SHCI_OCF_C2_CONCURRENT_ENABLE_NEXT_802154_EVT_NOTIFICATION) |
#define SHCI_OPCODE_C2_CONCURRENT_GET_NEXT_BLE_EVT_TIME (( SHCI_OGF << 10) + SHCI_OCF_C2_CONCURRENT_GET_NEXT_BLE_EVT_TIME) |
#define SHCI_OPCODE_C2_CONCURRENT_SET_MODE (( SHCI_OGF << 10) + SHCI_OCF_C2_CONCURRENT_SET_MODE) |
#define SHCI_OPCODE_C2_CONFIG (( SHCI_OGF << 10) + SHCI_OCF_C2_CONFIG) |
#define SHCI_OPCODE_C2_DEBUG_INIT (( SHCI_OGF << 10) + SHCI_OCF_C2_DEBUG_INIT) |
#define SHCI_OPCODE_C2_FLASH_ERASE_ACTIVITY (( SHCI_OGF << 10) + SHCI_OCF_C2_FLASH_ERASE_ACTIVITY) |
#define SHCI_OPCODE_C2_FLASH_STORE_DATA (( SHCI_OGF << 10) + SHCI_OCF_C2_FLASH_STORE_DATA) |
#define SHCI_OPCODE_C2_FUS_ACTIVATE_ANTIROLLBACK (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_ACTIVATE_ANTIROLLBACK) |
#define SHCI_OPCODE_C2_FUS_FW_DELETE (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_FW_DELETE) |
#define SHCI_OPCODE_C2_FUS_FW_UPGRADE (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_FW_UPGRADE) |
#define SHCI_OPCODE_C2_FUS_LOAD_USR_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_LOAD_USR_KEY) |
#define SHCI_OPCODE_C2_FUS_LOCK_AUTH_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_LOCK_AUTH_KEY) |
#define SHCI_OPCODE_C2_FUS_LOCK_USR_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_LOCK_USR_KEY) |
#define SHCI_OPCODE_C2_FUS_RESERVED10 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED10) |
#define SHCI_OPCODE_C2_FUS_RESERVED11 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED11) |
#define SHCI_OPCODE_C2_FUS_RESERVED12 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED12) |
#define SHCI_OPCODE_C2_FUS_RESERVED2 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED2) |
#define SHCI_OPCODE_C2_FUS_RESERVED3 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED3) |
#define SHCI_OPCODE_C2_FUS_RESERVED7 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED7) |
#define SHCI_OPCODE_C2_FUS_RESERVED8 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED8) |
#define SHCI_OPCODE_C2_FUS_RESERVED9 (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_RESERVED9) |
#define SHCI_OPCODE_C2_FUS_START_WS (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_START_WS) |
#define SHCI_OPCODE_C2_FUS_STORE_USR_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_STORE_USR_KEY) |
#define SHCI_OPCODE_C2_FUS_UNLOAD_USR_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_UNLOAD_USR_KEY) |
#define SHCI_OPCODE_C2_FUS_UPDATE_AUTH_KEY (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_UPDATE_AUTH_KEY) |
#define SHCI_OPCODE_C2_RADIO_ALLOW_LOW_POWER (( SHCI_OGF << 10) + SHCI_OCF_C2_RADIO_ALLOW_LOW_POWER) |
#define SHCI_OPCODE_C2_SET_FLASH_ACTIVITY_CONTROL (( SHCI_OGF << 10) + SHCI_OCF_C2_SET_FLASH_ACTIVITY_CONTROL) |
#define THREAD_NVM_SRAM_SIZE (1016) |
typedef { ... } SHCI_C2_Ble_Init_Cmd_Param_t |
THE ORDER SHALL NOT BE CHANGED.
typedef { ... } SHCI_C2_BleNvmRamUpdate_Evt_t |
SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE This notifies the CPU1 which part of the BLE NVM RAM has been updated so that only the modified section could be written in Flash/NVM StartAddress : Start address of the section that has been modified Size : Size (in bytes) of the section that has been modified.
typedef { ... } SHCI_C2_CONCURRENT_GetNextBleEvtTime_Param_t |
command parameters
typedef { ... } SHCI_C2_CONFIG_Cmd_Param_t |
Command parameters.
typedef { ... } SHCI_C2_DEBUG_TracesConfig_t |
Command parameters.
typedef { ... } SHCI_C2_ErrorNotif_Evt_t |
SHCI_SUB_EVT_ERROR_NOTIF This reports to the CPU1 some error form the CPU2.
typedef { ... } SHCI_C2_NvmStartErase_Evt_t |
SHCI_SUB_EVT_NVM_END_WRITE This notifies the CPU1 that the CPU2 has written all expected data in Flash.
SHCI_SUB_EVT_NVM_START_ERASE This notifies the CPU1 that the CPU2 has started a erase procedure in Flash NumberOfSectors : The number of sectors the CPU2 needs to erase in Flash. For each sector, the algorithm as described in AN5289 is executed. When this number is reported to 0, it means the Number of sectors to be erased was unknown when the procedure has started. When all sectors are erased, the SHCI_SUB_EVT_NVM_END_ERASE event is reported
typedef { ... } SHCI_C2_NvmStartWrite_Evt_t |
SHCI_SUB_EVT_NVM_START_WRITE This notifies the CPU1 that the CPU2 has started a write procedure in Flash NumberOfWords : The number of 64bits data the CPU2 needs to write in Flash.
For each 64bits data, the algorithm as described in AN5289 is executed. When this number is reported to 0, it means the Number of 64bits to be written was unknown when the procedure has started. When all data are written, the SHCI_SUB_EVT_NVM_END_WRITE event is reported
typedef { ... } SHCI_C2_Ready_Evt_t |
SHCI_SUB_EVT_CODE_READY This notifies the CPU1 that the CPU2 is now ready to receive commands It reports as well which firmware is running on CPU2 : The wireless stack of the FUS (previously named RSS)
typedef { ... } SHCI_C2_ThreadNvmRamUpdate_Evt_t |
SHCI_SUB_EVT_THREAD_NVM_RAM_UPDATE This notifies the CPU1 which part of the OT NVM RAM has been updated so that only the modified section could be written in Flash/NVM StartAddress : Start address of the section that has been modified Size : Size (in bytes) of the section that has been modified.
typedef { ... } SHCI_Header_t |
SHCI_SUB_EVT_NVM_END_ERASE This notifies the CPU1 that the CPU2 has erased all expected flash sectors.
enum SHCI_C2_FLASH_Ip_t |
enum SHCI_EraseActivity_t |
enum SHCI_OCF_t |
enum SHCI_SUB_EVT_CODE_t |
SHCI_CmdStatus_t SHCI_C2_802_15_4_DeInit | ( | void | ) |
SHCI_C2_802_15_4_DeInit.
Deinit 802.15.4 layer (to be used before entering StandBy mode)
None |
Status |
SHCI_CmdStatus_t SHCI_C2_BLE_Init | ( | SHCI_C2_Ble_Init_Cmd_Packet_t * | pCmdPacket | ) |
SHCI_C2_BLE_Init.
Provides parameters and starts the BLE Stack
pCmdPacket | : Parameters are described SHCI_C2_Ble_Init_Cmd_Packet_t declaration |
Status |
SHCI_CmdStatus_t SHCI_C2_BLE_LLD_Init | ( | uint8_t | param_size, |
uint8_t * | p_param | ||
) |
SHCI_C2_BLE_LLD_Init.
Starts the LLD tests BLE
param_size | : Nb of bytes |
p_param | : pointeur with data to give from M4 to M0 |
Status |
SHCI_CmdStatus_t SHCI_C2_CONCURRENT_EnableNext_802154_EvtNotification | ( | void | ) |
SHCI_C2_CONCURRENT_EnableNext_802154_EvtNotification.
Activate the next 802.15.4 event notification (one shot)
None |
None |
SHCI_CmdStatus_t SHCI_C2_CONCURRENT_GetNextBleEvtTime | ( | SHCI_C2_CONCURRENT_GetNextBleEvtTime_Param_t * | pParam | ) |
SHCI_C2_CONCURRENT_GetNextBleEvtTime.
Get the next BLE event date (relative time)
Command | Packet |
None |
SHCI_CmdStatus_t SHCI_C2_CONCURRENT_SetMode | ( | SHCI_C2_CONCURRENT_Mode_Param_t | Mode | ) |
SHCI_C2_CONCURRENT_SetMode.
Enable/Disable Thread on CPU2 (M0+)
Mode | BLE or Thread enable flag |
Status |
SHCI_CmdStatus_t SHCI_C2_Config | ( | SHCI_C2_CONFIG_Cmd_Param_t * | pCmdPacket | ) |
SHCI_C2_Config.
Send the system configuration to the CPU2
pCmdPacket | address of the buffer holding following parameters uint8_t PayloadCmdSize : Size of the payload - shall be SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE uint8_t Config1 :
|
Please check macro definition to be used for this function They are defined in this file next to the definition of SHCI_OPCODE_C2_CONFIG
Status |
SHCI_CmdStatus_t SHCI_C2_DEBUG_Init | ( | SHCI_C2_DEBUG_Init_Cmd_Packet_t * | pCmdPacket | ) |
SHCI_C2_DEBUG_Init.
Starts the Traces
None |
Status |
SHCI_CmdStatus_t SHCI_C2_ExtpaConfig | ( | uint32_t | gpio_port, |
uint16_t | gpio_pin_number, | ||
uint8_t | gpio_polarity, | ||
uint8_t | gpio_status | ||
) |
SHCI_C2_ExtpaConfig.
Send the Ext PA configuration When the CPU2 receives the command, it controls the Ext PA as requested by the configuration This configures only which IO is used to enable/disable the ExtPA and the associated polarity This command has no effect on the other IO that is used to control the mode of the Ext PA (Rx/Tx)
gpio_port | GPIOx where x can be (A..F) to select the GPIO peripheral for STM32WBxx family |
gpio_pin_number | This parameter can be one of GPIO_PIN_x (= LL_GPIO_PIN_x) where x can be (0..15). |
gpio_polarity | This parameter can be either
|
gpio_status | This parameter can be either
|
Status |
SHCI_CmdStatus_t SHCI_C2_FLASH_EraseActivity | ( | SHCI_EraseActivity_t | erase_activity | ) |
SHCI_C2_FLASH_EraseActivity.
Provides the information of the start and the end of a flash erase window on the CPU1
erase_activity | Start/End of erase activity |
Status |
SHCI_CmdStatus_t SHCI_C2_FLASH_EraseData | ( | SHCI_C2_FLASH_Ip_t | Ip | ) |
SHCI_C2_FLASH_EraseData.
Erase Data in Flash
Ip | BLE or THREAD |
Status |
SHCI_CmdStatus_t SHCI_C2_FLASH_StoreData | ( | SHCI_C2_FLASH_Ip_t | Ip | ) |
SHCI_C2_FLASH_StoreData.
Store Data in Flash
Ip | BLE or THREAD |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_ActivateAntiRollback | ( | void | ) |
SHCI_C2_FUS_ActivateAntiRollback.
Request the FUS to enable the AntiRollback feature so that it is not possible to update the wireless firmware with an older version than the current one. Note:
None |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_FwDelete | ( | void | ) |
SHCI_C2_FUS_FwDelete.
Delete the wireless stack on CPU2 Note: This command is only supported by the FUS.
None |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_FwUpgrade | ( | uint32_t | fw_src_add, |
uint32_t | fw_dest_add | ||
) |
SHCI_C2_FUS_FwUpgrade.
Request the FUS to install the CPU2 firmware update Note: This command is only supported by the FUS.
fw_src_add | Address of the firmware image location |
fw_dest_add | Address of the firmware destination |
Status |
uint8_t SHCI_C2_FUS_GetState | ( | SHCI_FUS_GetState_ErrorCode_t * | p_rsp | ) |
SHCI_C2_FUS_GetState.
Read the FUS State If the user is not interested by the Error code response, a null value may be passed as parameter
Note: This command is fully supported only by the FUS. When the wireless firmware receives that command, it responds SHCI_FUS_CMD_NOT_SUPPORTED the first time. When the wireless firmware receives that command a second time, it reboots the full device with the FUS running on CPU2
p_rsp | : return the error code when the FUS State Value = 0xFF |
FUS | State Values |
SHCI_CmdStatus_t SHCI_C2_FUS_LoadUsrKey | ( | uint8_t | key_index | ) |
SHCI_C2_FUS_LoadUsrKey.
Request the FUS to load the user key into the AES Note: This command is supported by both the FUS and the wireless stack.
key_index | : index of the user key to load in AES1 |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_LockAuthKey | ( | void | ) |
SHCI_C2_FUS_LockAuthKey.
Request the FUS to prevent any future update of the authentication key Note: This command is only supported by the FUS.
None |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_LockUsrKey | ( | uint8_t | key_index | ) |
SHCI_C2_FUS_LockUsrKey.
Request the FUS to lock the user key so that it cannot be updated later on Note: This command is supported by both the FUS and the wireless stack.
key_index | : index of the user key to lock |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_StartWs | ( | void | ) |
SHCI_C2_FUS_StartWs.
Request the FUS to reboot on the wireless stack Note: This command is only supported by the FUS.
None |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_StoreUsrKey | ( | SHCI_C2_FUS_StoreUsrKey_Cmd_Param_t * | pParam, |
uint8_t * | p_key_index | ||
) |
SHCI_C2_FUS_StoreUsrKey.
Request the FUS to store the user key Note: This command is supported by both the FUS and the wireless stack.
pParam | : command parameter |
p_key_index | : Index allocated by the FUS to the stored key |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_UnloadUsrKey | ( | uint8_t | key_index | ) |
SHCI_C2_FUS_UnloadUsrKey.
Request the FUS to Unload the user key so that the CPU1 may use the AES with another Key Note: This command is supported by both the FUS and the wireless stack.
key_index | : index of the user key to unload |
Status |
SHCI_CmdStatus_t SHCI_C2_FUS_UpdateAuthKey | ( | SHCI_C2_FUS_UpdateAuthKey_Cmd_Param_t * | pParam | ) |
SHCI_C2_FUS_UpdateAuthKey.
Request the FUS to update the authentication key Note: This command is only supported by the FUS.
pCmdPacket |
Status |
SHCI_CmdStatus_t SHCI_C2_LLDTESTS_Init | ( | uint8_t | param_size, |
uint8_t * | p_param | ||
) |
SHCI_C2_LLDTESTS_Init.
Starts the LLD tests CLI
param_size | : Nb of bytes |
p_param | : pointeur with data to give from M4 to M0 |
Status |
SHCI_CmdStatus_t SHCI_C2_MAC_802_15_4_Init | ( | void | ) |
SHCI_C2_MAC_802_15_4_Init.
Starts the MAC 802.15.4 on M0
None |
Status |
SHCI_CmdStatus_t SHCI_C2_RADIO_AllowLowPower | ( | SHCI_C2_FLASH_Ip_t | Ip, |
uint8_t | FlagRadioLowPowerOn | ||
) |
SHCI_C2_RADIO_AllowLowPower.
Allow or forbid IP_radio (802_15_4 or BLE) to enter in low power mode.
Ip | BLE or 802_15_5 |
FlagRadioLowPowerOn | True or false |
Status |
SHCI_CmdStatus_t SHCI_C2_Reinit | ( | void | ) |
SHCI_C2_Reinit.
This is required to allow the CPU1 to fake a set C2BOOT when it has already been set. In order to fake a C2BOOT, the CPU1 shall :
None |
Status |
SHCI_CmdStatus_t SHCI_C2_SetFlashActivityControl | ( | SHCI_C2_SET_FLASH_ACTIVITY_CONTROL_Source_t | Source | ) |
SHCI_C2_SetFlashActivityControl.
Set the mechanism to be used on CPU2 to prevent the CPU1 to either write or erase in flash
Source | It can be one of the following list
|
Status |
SHCI_CmdStatus_t SHCI_C2_THREAD_Init | ( | void | ) |
SHCI_C2_THREAD_Init.
Starts the THREAD Stack
None |
Status |
SHCI_CmdStatus_t SHCI_C2_ZIGBEE_Init | ( | void | ) |
SHCI_C2_ZIGBEE_Init.
Starts the Zigbee Stack
None |
Status |
SHCI_CmdStatus_t SHCI_GetWirelessFwInfo | ( | WirelessFwInfo_t * | pWirelessInfo | ) |
SHCI_GetWirelessFwInfo.
This function read back the informations relative to the wireless binary loaded. Refer yourself to MB_WirelessFwInfoTable_t structure to get the significance of the different parameters returned.
pWirelessInfo | : Pointer to WirelessFwInfo_t. |
SHCI_Success |
uint16_t AttMtu |
uint16_t AttrValueArrSize |
AttrValueArrSize NOTE: This parameter is ignored by the CPU2 when the parameter "Options" is set to "LL_only" ( see Options description in that structure )
Size of the storage area for the attribute values. Each characteristic contributes to the attrValueArrSize value as follows:
uint8_t ExtendedPacketLengthEnable |
uint16_t HsStartupTime |
uint8_t HwVersion |
uint8_t LsSource |
LsSource Source for the 32 kHz slow speed clock.
uint8_t MasterSca |
MasterSca The sleep clock accuracy handled in master mode.
It is used to determine the connection and advertising events timing. It is transmitted to the slave in CONNEC_REQ PDU used by the slave to calculate the window widening, see SlaveSca and Bluetooth Core Specification v5.0 Vol 6 - Part B - chap 4.5.7 and 4.2.2 Possible values:
uint8_t max_coc_initiator_nbr |
int8_t max_tx_power |
uint32_t MaxConnEventLength |
MaxConnEventLength This parameter determines the maximum duration of a slave connection event.
When this duration is reached the slave closes the current connections event (whatever is the CE_length parameter specified by the master in HCI_CREATE_CONNECTION HCI command), expressed in units of 625/256 µs (~2.44 µs)
uint8_t MblockCount |
MblockCount NOTE: This parameter is overwritten by the CPU2 with an hardcoded optimal value when the parameter "Options" is set to "LL_only" ( see Options description in that structure )
Number of allocated memory blocks for the BLE stack
uint32_t MetaData[3] |
int8_t min_tx_power |
uint16_t NumAttrRecord |
NumAttrRecord Maximum number of attribute records related to all the required characteristics (excluding the services) that can be stored in the GATT database, for the specific BLE user application.
For each characteristic, the number of attribute records goes from two to five depending on the characteristic properties:
Min value: <number of="" user="" attributes>=""> + 9
uint16_t NumAttrServ |
NumAttrServ Defines the maximum number of services that can be stored in the GATT database.
Note that the GAP and GATT services are automatically added at initialization so this parameter must be the number of user services increased by two.
uint8_t NumOfLinks |
uint8_t Options |
SHCI_C2_DEBUG_init_Cmd_Param_t Param |
uint8_t PrWriteListSize |
PrWriteListSize NOTE: This parameter is ignored by the CPU2 when the parameter "Options" is set to "LL_only" ( see Options description in that structure )
Maximum number of supported prepare write request
uint16_t SlaveSca |
SlaveSca The sleep clock accuracy (ppm value) that used in BLE connected slave mode to calculate the window widening (in combination with the sleep clock accuracy sent by master in CONNECT_REQ PDU), refer to BLE 5.0 specifications - Vol 6 - Part B - chap 4.5.7 and 4.2.2.