@@ -49,6 +49,7 @@ extern "C" {
4949 ERR_BLE_INIT = 0 , /* This event is currently not reported by the CPU2 */
5050 ERR_THREAD_LLD_FATAL_ERROR = 125 , /* The LLD driver used on 802_15_4 detected a fatal error */
5151 ERR_THREAD_UNKNOWN_CMD = 126 , /* The command send by the CPU1 to control the Thread stack is unknown */
52+ ERR_ZIGBEE_UNKNOWN_CMD = 200 , /* The command send by the CPU1 to control the Zigbee stack is unknown */
5253 } SCHI_SystemErrCode_t ;
5354
5455#define SHCI_EVTCODE ( 0xFF )
@@ -215,7 +216,9 @@ extern "C" {
215216 SHCI_OCF_C2_FLASH_STORE_DATA ,
216217 SHCI_OCF_C2_FLASH_ERASE_DATA ,
217218 SHCI_OCF_C2_RADIO_ALLOW_LOW_POWER ,
219+ SHCI_OCF_C2_MAC_802_15_4_INIT ,
218220 SHCI_OCF_C2_REINIT ,
221+ SHCI_OCF_C2_ZIGBEE_INIT ,
219222 SHCI_OCF_C2_LLD_TESTS_INIT ,
220223 SHCI_OCF_C2_EXTPA_CONFIG ,
221224 SHCI_OCF_C2_SET_FLASH_ACTIVITY_CONTROL ,
@@ -433,7 +436,7 @@ extern "C" {
433436 * PrWriteListSize
434437 * NOTE: This parameter is ignored by the CPU2 when the parameter "Options" is set to "LL_only" ( see Options description in that structure )
435438 *
436- * Maximum number of supported " prepare write request"
439+ * Maximum number of supported prepare write request
437440 * - Min value: given by the macro DEFAULT_PREP_WRITE_LIST_SIZE
438441 * - Max value: a value higher than the minimum required can be specified, but it is not recommended
439442 */
@@ -500,7 +503,7 @@ extern "C" {
500503 * MaxConnEventLength
501504 * This parameter determines the maximum duration of a slave connection event. When this duration is reached the slave closes
502505 * the current connections event (whatever is the CE_length parameter specified by the master in HCI_CREATE_CONNECTION HCI command),
503- * expressed in units of 625/256 µs (~2.44 µs)
506+ * expressed in units of 625/256 µs (~2.44 µs)
504507 * - Min value: 0 (if 0 is specified, the master and slave perform only a single TX-RX exchange per connection event)
505508 * - Max value: 1638400 (4000 ms). A higher value can be specified (max 0xFFFFFFFF) but results in a maximum connection time
506509 * of 4000 ms as specified. In this case the parameter is not applied, and the predicted CE length calculated on slave is not shortened
@@ -509,7 +512,7 @@ extern "C" {
509512
510513 /**
511514 * HsStartupTime
512- * Startup time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 µs (~2.44 µs).
515+ * Startup time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 µs (~2.44 µs).
513516 * - Min value: 0
514517 * - Max value: 820 (~2 ms). A higher value can be specified, but the value that implemented in stack is forced to ~2 ms
515518 */
@@ -533,9 +536,7 @@ extern "C" {
533536 * - bit 5: 1: Reduced GATT database in NVM 0: Full GATT database in NVM
534537 * - bit 6: 1: GATT caching is used 0: GATT caching is not used
535538 * - bit 7: 1: LE Power Class 1 0: LE Power Classe 2-3
536- * - bit 8: 1: appearance Writable 0: appearance Read-Only
537- * - bit 9: 1: Enhanced ATT supported 0: Enhanced ATT not supported
538- * - other bits: reserved ( shall be set to 0)
539+ * - other bits: complete with Options_extension flag
539540 */
540541 uint8_t Options ;
541542
@@ -601,6 +602,14 @@ extern "C" {
601602 */
602603 uint8_t ble_core_version ;
603604
605+ /**
606+ * Options flags extension
607+ * - bit 0: 1: appearance Writable 0: appearance Read-Only
608+ * - bit 1: 1: Enhanced ATT supported 0: Enhanced ATT not supported
609+ * - other bits: reserved ( shall be set to 0)
610+ */
611+ uint8_t Options_extension ;
612+
604613 } SHCI_C2_Ble_Init_Cmd_Param_t ;
605614
606615 typedef PACKED_STRUCT {
@@ -637,11 +646,16 @@ extern "C" {
637646#define SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1 (1<<7)
638647#define SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3 (0<<7)
639648
640- #define SHCI_C2_BLE_INIT_OPTIONS_APPEARANCE_WRITABLE (1<<8)
641- #define SHCI_C2_BLE_INIT_OPTIONS_APPEARANCE_READONLY (0<<8)
649+ /**
650+ * Options extension
651+ * Each definition below may be added together to build the Options value
652+ * WARNING : Only one definition per bit shall be added to build the Options value
653+ */
654+ #define SHCI_C2_BLE_INIT_OPTIONS_APPEARANCE_WRITABLE (1<<0)
655+ #define SHCI_C2_BLE_INIT_OPTIONS_APPEARANCE_READONLY (0<<0)
642656
643- #define SHCI_C2_BLE_INIT_OPTIONS_ENHANCED_ATT_SUPPORTED (1<<9 )
644- #define SHCI_C2_BLE_INIT_OPTIONS_ENHANCED_ATT_NOTSUPPORTED (0<<9 )
657+ #define SHCI_C2_BLE_INIT_OPTIONS_ENHANCED_ATT_SUPPORTED (1<<1 )
658+ #define SHCI_C2_BLE_INIT_OPTIONS_ENHANCED_ATT_NOTSUPPORTED (0<<1 )
645659
646660 /**
647661 * RX models configuration
@@ -675,6 +689,8 @@ extern "C" {
675689 {
676690 uint8_t thread_config ;
677691 uint8_t ble_config ;
692+ uint8_t mac_802_15_4_config ;
693+ uint8_t zigbee_config ;
678694 } SHCI_C2_DEBUG_TracesConfig_t ;
679695
680696 typedef PACKED_STRUCT
@@ -738,6 +754,8 @@ extern "C" {
738754 {
739755 BLE_ENABLE ,
740756 THREAD_ENABLE ,
757+ ZIGBEE_ENABLE ,
758+ MAC_ENABLE ,
741759 } SHCI_C2_CONCURRENT_Mode_Param_t ;
742760 /** No response parameters*/
743761
@@ -760,13 +778,18 @@ extern "C" {
760778 {
761779 BLE_IP ,
762780 THREAD_IP ,
781+ ZIGBEE_IP ,
763782 } SHCI_C2_FLASH_Ip_t ;
764783 /** No response parameters*/
765784
766785#define SHCI_OPCODE_C2_RADIO_ALLOW_LOW_POWER (( SHCI_OGF << 10) + SHCI_OCF_C2_RADIO_ALLOW_LOW_POWER)
767786
787+ #define SHCI_OPCODE_C2_MAC_802_15_4_INIT (( SHCI_OGF << 10) + SHCI_OCF_C2_MAC_802_15_4_INIT)
788+
768789#define SHCI_OPCODE_C2_REINIT (( SHCI_OGF << 10) + SHCI_OCF_C2_REINIT)
769790
791+ #define SHCI_OPCODE_C2_ZIGBEE_INIT (( SHCI_OGF << 10) + SHCI_OCF_C2_ZIGBEE_INIT)
792+
770793#define SHCI_OPCODE_C2_LLD_TESTS_INIT (( SHCI_OGF << 10) + SHCI_OCF_C2_LLD_TESTS_INIT)
771794
772795#define SHCI_OPCODE_C2_BLE_LLD_INIT (( SHCI_OGF << 10) + SHCI_OCF_C2_BLE_LLD_INIT)
@@ -881,7 +904,7 @@ extern "C" {
881904#define FUS_DEVICE_INFO_TABLE_VALIDITY_KEYWORD (0xA94656B9)
882905
883906/*
884- * At startup, the information relative to the wireless binary are stored in RAM through a structure defined by
907+ * At startup, the informations relative to the wireless binary are stored in RAM trough a structure defined by
885908 * MB_WirelessFwInfoTable_t.This structure contains 4 fields (Version,MemorySize, Stack_info and a reserved part)
886909 * each of those coded on 32 bits as shown on the table below:
887910 *
@@ -937,6 +960,9 @@ extern "C" {
937960#define INFO_STACK_TYPE_BLE_HCI_EXT_ADV 0x07
938961#define INFO_STACK_TYPE_THREAD_FTD 0x10
939962#define INFO_STACK_TYPE_THREAD_MTD 0x11
963+ #define INFO_STACK_TYPE_ZIGBEE_FFD 0x30
964+ #define INFO_STACK_TYPE_ZIGBEE_RFD 0x31
965+ #define INFO_STACK_TYPE_MAC 0x40
940966#define INFO_STACK_TYPE_BLE_THREAD_FTD_STATIC 0x50
941967#define INFO_STACK_TYPE_BLE_THREAD_FTD_DYAMIC 0x51
942968#define INFO_STACK_TYPE_802154_LLD_TESTS 0x60
@@ -945,7 +971,12 @@ extern "C" {
945971#define INFO_STACK_TYPE_BLE_LLD_TESTS 0x63
946972#define INFO_STACK_TYPE_BLE_RLV 0x64
947973#define INFO_STACK_TYPE_802154_RLV 0x65
974+ #define INFO_STACK_TYPE_BLE_ZIGBEE_FFD_STATIC 0x70
975+ #define INFO_STACK_TYPE_BLE_ZIGBEE_RFD_STATIC 0x71
976+ #define INFO_STACK_TYPE_BLE_ZIGBEE_FFD_DYNAMIC 0x78
977+ #define INFO_STACK_TYPE_BLE_ZIGBEE_RFD_DYNAMIC 0x79
948978#define INFO_STACK_TYPE_RLV 0x80
979+ #define INFO_STACK_TYPE_BLE_MAC_STATIC 0x90
949980
950981typedef struct {
951982/**
@@ -1119,7 +1150,7 @@ typedef struct {
11191150 * @brief Starts the LLD tests CLI
11201151 *
11211152 * @param param_size : Nb of bytes
1122- * @param p_param : pointer with data to give from M4 to M0
1153+ * @param p_param : pointeur with data to give from M4 to M0
11231154 * @retval Status
11241155 */
11251156 SHCI_CmdStatus_t SHCI_C2_LLDTESTS_Init ( uint8_t param_size , uint8_t * p_param );
@@ -1129,11 +1160,20 @@ typedef struct {
11291160 * @brief Starts the LLD tests BLE
11301161 *
11311162 * @param param_size : Nb of bytes
1132- * @param p_param : pointer with data to give from M4 to M0
1163+ * @param p_param : pointeur with data to give from M4 to M0
11331164 * @retval Status
11341165 */
11351166 SHCI_CmdStatus_t SHCI_C2_BLE_LLD_Init ( uint8_t param_size , uint8_t * p_param );
11361167
1168+ /**
1169+ * SHCI_C2_ZIGBEE_Init
1170+ * @brief Starts the Zigbee Stack
1171+ *
1172+ * @param None
1173+ * @retval Status
1174+ */
1175+ SHCI_CmdStatus_t SHCI_C2_ZIGBEE_Init ( void );
1176+
11371177 /**
11381178 * SHCI_C2_DEBUG_Init
11391179 * @brief Starts the Traces
@@ -1208,6 +1248,16 @@ typedef struct {
12081248 */
12091249 SHCI_CmdStatus_t SHCI_C2_RADIO_AllowLowPower ( SHCI_C2_FLASH_Ip_t Ip ,uint8_t FlagRadioLowPowerOn );
12101250
1251+
1252+ /**
1253+ * SHCI_C2_MAC_802_15_4_Init
1254+ * @brief Starts the MAC 802.15.4 on M0
1255+ *
1256+ * @param None
1257+ * @retval Status
1258+ */
1259+ SHCI_CmdStatus_t SHCI_C2_MAC_802_15_4_Init ( void );
1260+
12111261 /**
12121262 * SHCI_GetWirelessFwInfo
12131263 * @brief This function read back the informations relative to the wireless binary loaded.
0 commit comments