/*******************************************************************************
 * @file
 * @brief SL Status Codes.
 *******************************************************************************
 * # License
 * <b>Copyright 2019 Silicon Laboratories Inc. www.silabs.com</b>
 *******************************************************************************
 *
 * SPDX-License-Identifier: Zlib
 *
 * The licensor of this software is Silicon Laboratories Inc.
 *
 * This software is provided 'as-is', without any express or implied
 * warranty. In no event will the authors be held liable for any damages
 * arising from the use of this software.
 *
 * Permission is granted to anyone to use this software for any purpose,
 * including commercial applications, and to alter it and redistribute it
 * freely, subject to the following restrictions:
 *
 * 1. The origin of this software must not be misrepresented; you must not
 *    claim that you wrote the original software. If you use this software
 *    in a product, an acknowledgment in the product documentation would be
 *    appreciated but is not required.
 * 2. Altered source versions must be plainly marked as such, and must not be
 *    misrepresented as being the original software.
 * 3. This notice may not be removed or altered from any source distribution.
 *
 ******************************************************************************/

#ifndef SL_STATUS_H
#define SL_STATUS_H

#include <stdint.h>

/*******************************************************************************
 * @addtogroup status Status Codes
 * @details Status Codes contains error and status code definitions used by GSDK
 *          software components and stacks. This module also provides routines to
 *          read the string linked with the error and status codes.
 * @{
 ******************************************************************************/

// -----------------------------------------------------------------------------
// Space Defines

#define SL_STATUS_SPACE_MASK              ((sl_status_t)0xFF00)  

#define SL_STATUS_GENERIC_SPACE           ((sl_status_t)0x0000)  

#define SL_STATUS_PLATFORM_1_SPACE        ((sl_status_t)0x0100)  
#define SL_STATUS_PLATFORM_2_SPACE        ((sl_status_t)0x0200)  
#define SL_STATUS_HARDWARE_SPACE          ((sl_status_t)0x0300)  

#define SL_STATUS_BLUETOOTH_SPACE         ((sl_status_t)0x0400)  
#define SL_STATUS_BLUETOOTH_MESH_SPACE    ((sl_status_t)0x0500)  
#define SL_STATUS_CAN_CANOPEN_SPACE       ((sl_status_t)0x0600)  
#define SL_STATUS_CONNECT_SPACE           ((sl_status_t)0x0700)  
#define SL_STATUS_NET_SUITE_SPACE         ((sl_status_t)0x0800)  
#define SL_STATUS_THREAD_SPACE            ((sl_status_t)0x0900)  
#define SL_STATUS_USB_SPACE               ((sl_status_t)0x0A00)  
#define SL_STATUS_WIFI_SPACE              ((sl_status_t)0x0B00)  
#define SL_STATUS_ZIGBEE_SPACE            ((sl_status_t)0x0C00)  
#define SL_STATUS_Z_WAVE_SPACE            ((sl_status_t)0x0D00)  

#define SL_STATUS_GECKO_OS_1_SPACE        ((sl_status_t)0x0E00)  
#define SL_STATUS_GECKO_OS_2_SPACE        ((sl_status_t)0x0F00)  

#define SL_STATUS_BLUETOOTH_CTRL_SPACE    ((sl_status_t)0x1000)  
#define SL_STATUS_BLUETOOTH_ATT_SPACE     ((sl_status_t)0x1100)  
#define SL_STATUS_BLUETOOTH_SMP_SPACE     ((sl_status_t)0x1200)  
#define SL_STATUS_BLUETOOTH_MESH_FOUNDATION_SPACE     ((sl_status_t)0x1300)  

#define SL_STATUS_WISUN_SPACE             ((sl_status_t)0x1400)  

#define SL_STATUS_COMPUTE_SPACE           ((sl_status_t)0x1500)  

// -----------------------------------------------------------------------------
// Status Defines

// -----------------------------------------------------------------------------
// Generic Errors

#define SL_STATUS_OK    ((sl_status_t)0x0000)  
#define SL_STATUS_FAIL  ((sl_status_t)0x0001)  

// State Errors
#define SL_STATUS_INVALID_STATE         ((sl_status_t)0x0002)  
#define SL_STATUS_NOT_READY             ((sl_status_t)0x0003)  
#define SL_STATUS_BUSY                  ((sl_status_t)0x0004)  
#define SL_STATUS_IN_PROGRESS           ((sl_status_t)0x0005)  
#define SL_STATUS_ABORT                 ((sl_status_t)0x0006)  
#define SL_STATUS_TIMEOUT               ((sl_status_t)0x0007)  
#define SL_STATUS_PERMISSION            ((sl_status_t)0x0008)  
#define SL_STATUS_WOULD_BLOCK           ((sl_status_t)0x0009)  
#define SL_STATUS_IDLE                  ((sl_status_t)0x000A)  
#define SL_STATUS_IS_WAITING            ((sl_status_t)0x000B)  
#define SL_STATUS_NONE_WAITING          ((sl_status_t)0x000C)  
#define SL_STATUS_SUSPENDED             ((sl_status_t)0x000D)  
#define SL_STATUS_NOT_AVAILABLE         ((sl_status_t)0x000E)  
#define SL_STATUS_NOT_SUPPORTED         ((sl_status_t)0x000F)  
#define SL_STATUS_INITIALIZATION        ((sl_status_t)0x0010)  
#define SL_STATUS_NOT_INITIALIZED       ((sl_status_t)0x0011)  
#define SL_STATUS_ALREADY_INITIALIZED   ((sl_status_t)0x0012)  
#define SL_STATUS_DELETED               ((sl_status_t)0x0013)  
#define SL_STATUS_ISR                   ((sl_status_t)0x0014)  
#define SL_STATUS_NETWORK_UP            ((sl_status_t)0x0015)  
#define SL_STATUS_NETWORK_DOWN          ((sl_status_t)0x0016)  
#define SL_STATUS_NOT_JOINED            ((sl_status_t)0x0017)  
#define SL_STATUS_NO_BEACONS            ((sl_status_t)0x0018)  

// Allocation/ownership Errors
#define SL_STATUS_ALLOCATION_FAILED   ((sl_status_t)0x0019)  
#define SL_STATUS_NO_MORE_RESOURCE    ((sl_status_t)0x001A)  
#define SL_STATUS_EMPTY               ((sl_status_t)0x001B)  
#define SL_STATUS_FULL                ((sl_status_t)0x001C)  
#define SL_STATUS_WOULD_OVERFLOW      ((sl_status_t)0x001D)  
#define SL_STATUS_HAS_OVERFLOWED      ((sl_status_t)0x001E)  
#define SL_STATUS_OWNERSHIP           ((sl_status_t)0x001F)  
#define SL_STATUS_IS_OWNER            ((sl_status_t)0x0020)  

// Invalid Parameters Errors
#define SL_STATUS_INVALID_PARAMETER       ((sl_status_t)0x0021)  
#define SL_STATUS_NULL_POINTER            ((sl_status_t)0x0022)  
#define SL_STATUS_INVALID_CONFIGURATION   ((sl_status_t)0x0023)  
#define SL_STATUS_INVALID_MODE            ((sl_status_t)0x0024)  
#define SL_STATUS_INVALID_HANDLE          ((sl_status_t)0x0025)  
#define SL_STATUS_INVALID_TYPE            ((sl_status_t)0x0026)  
#define SL_STATUS_INVALID_INDEX           ((sl_status_t)0x0027)  
#define SL_STATUS_INVALID_RANGE           ((sl_status_t)0x0028)  
#define SL_STATUS_INVALID_KEY             ((sl_status_t)0x0029)  
#define SL_STATUS_INVALID_CREDENTIALS     ((sl_status_t)0x002A)  
#define SL_STATUS_INVALID_COUNT           ((sl_status_t)0x002B)  
#define SL_STATUS_INVALID_SIGNATURE       ((sl_status_t)0x002C)  
#define SL_STATUS_NOT_FOUND               ((sl_status_t)0x002D)  
#define SL_STATUS_ALREADY_EXISTS          ((sl_status_t)0x002E)  

// IO/Communication Errors
#define SL_STATUS_IO                    ((sl_status_t)0x002F)  
#define SL_STATUS_IO_TIMEOUT            ((sl_status_t)0x0030)  
#define SL_STATUS_TRANSMIT              ((sl_status_t)0x0031)  
#define SL_STATUS_TRANSMIT_UNDERFLOW    ((sl_status_t)0x0032)  
#define SL_STATUS_TRANSMIT_INCOMPLETE   ((sl_status_t)0x0033)  
#define SL_STATUS_TRANSMIT_BUSY         ((sl_status_t)0x0034)  
#define SL_STATUS_RECEIVE               ((sl_status_t)0x0035)  
#define SL_STATUS_OBJECT_READ           ((sl_status_t)0x0036)  
#define SL_STATUS_OBJECT_WRITE          ((sl_status_t)0x0037)  
#define SL_STATUS_MESSAGE_TOO_LONG      ((sl_status_t)0x0038)  

// EEPROM/Flash Errors
#define SL_STATUS_EEPROM_MFG_VERSION_MISMATCH     ((sl_status_t)0x0039)  
#define SL_STATUS_EEPROM_STACK_VERSION_MISMATCH   ((sl_status_t)0x003A)  
#define SL_STATUS_FLASH_WRITE_INHIBITED           ((sl_status_t)0x003B)  
#define SL_STATUS_FLASH_VERIFY_FAILED             ((sl_status_t)0x003C)  
#define SL_STATUS_FLASH_PROGRAM_FAILED            ((sl_status_t)0x003D)  
#define SL_STATUS_FLASH_ERASE_FAILED              ((sl_status_t)0x003E)  

// MAC Errors
#define SL_STATUS_MAC_NO_DATA                   ((sl_status_t)0x003F)  
#define SL_STATUS_MAC_NO_ACK_RECEIVED           ((sl_status_t)0x0040)  
#define SL_STATUS_MAC_INDIRECT_TIMEOUT          ((sl_status_t)0x0041)  
#define SL_STATUS_MAC_UNKNOWN_HEADER_TYPE       ((sl_status_t)0x0042)  
#define SL_STATUS_MAC_ACK_HEADER_TYPE           ((sl_status_t)0x0043)  
#define SL_STATUS_MAC_COMMAND_TRANSMIT_FAILURE  ((sl_status_t)0x0044)  

// CLI_STORAGE Errors
#define SL_STATUS_CLI_STORAGE_NVM_OPEN_ERROR    ((sl_status_t)0x0045)  

// Security status codes
#define SL_STATUS_SECURITY_IMAGE_CHECKSUM_ERROR ((sl_status_t)0x0046)  
#define SL_STATUS_SECURITY_DECRYPT_ERROR        ((sl_status_t)0x0047)  

// Command status codes
#define SL_STATUS_COMMAND_IS_INVALID            ((sl_status_t)0x0048)  
#define SL_STATUS_COMMAND_TOO_LONG              ((sl_status_t)0x0049)  
#define SL_STATUS_COMMAND_INCOMPLETE            ((sl_status_t)0x004A)  

// Misc Errors
#define SL_STATUS_BUS_ERROR                     ((sl_status_t)0x004B)  

// Unified MAC Errors
#define SL_STATUS_CCA_FAILURE                   ((sl_status_t)0x004C)  

// Scan errors
#define SL_STATUS_MAC_SCANNING                  ((sl_status_t)0x004D)  
#define SL_STATUS_MAC_INCORRECT_SCAN_TYPE       ((sl_status_t)0x004E)  
#define SL_STATUS_INVALID_CHANNEL_MASK          ((sl_status_t)0x004F)  
#define SL_STATUS_BAD_SCAN_DURATION             ((sl_status_t)0x0050)  

// Bluetooth status codes
#define SL_STATUS_BT_OUT_OF_BONDS                                                                        ((sl_status_t)0x0402)        
#define SL_STATUS_BT_UNSPECIFIED                                                                         ((sl_status_t)0x0403)        
#define SL_STATUS_BT_HARDWARE                                                                            ((sl_status_t)0x0404)        
#define SL_STATUS_BT_NO_BONDING                                                                          ((sl_status_t)0x0406)        
#define SL_STATUS_BT_CRYPTO                                                                              ((sl_status_t)0x0407)        
#define SL_STATUS_BT_DATA_CORRUPTED                                                                      ((sl_status_t)0x0408)        
#define SL_STATUS_BT_INVALID_SYNC_HANDLE                                                                 ((sl_status_t)0x040A)        
#define SL_STATUS_BT_INVALID_MODULE_ACTION                                                               ((sl_status_t)0x040B)        
#define SL_STATUS_BT_RADIO                                                                               ((sl_status_t)0x040C)        
#define SL_STATUS_BT_L2CAP_REMOTE_DISCONNECTED                                                           ((sl_status_t)0x040D)        
#define SL_STATUS_BT_L2CAP_LOCAL_DISCONNECTED                                                            ((sl_status_t)0x040E)        
#define SL_STATUS_BT_L2CAP_CID_NOT_EXIST                                                                 ((sl_status_t)0x040F)        
#define SL_STATUS_BT_L2CAP_LE_DISCONNECTED                                                               ((sl_status_t)0x0410)        
#define SL_STATUS_BT_L2CAP_FLOW_CONTROL_VIOLATED                                                         ((sl_status_t)0x0412)        
#define SL_STATUS_BT_L2CAP_FLOW_CONTROL_CREDIT_OVERFLOWED                                                ((sl_status_t)0x0413)        
#define SL_STATUS_BT_L2CAP_NO_FLOW_CONTROL_CREDIT                                                        ((sl_status_t)0x0414)        
#define SL_STATUS_BT_L2CAP_CONNECTION_REQUEST_TIMEOUT                                                    ((sl_status_t)0x0415)        
#define SL_STATUS_BT_L2CAP_INVALID_CID                                                                   ((sl_status_t)0x0416)        
#define SL_STATUS_BT_L2CAP_WRONG_STATE                                                                   ((sl_status_t)0x0417)        
#define SL_STATUS_BT_PS_STORE_FULL                                                                       ((sl_status_t)0x041B)        
#define SL_STATUS_BT_PS_KEY_NOT_FOUND                                                                    ((sl_status_t)0x041C)        
#define SL_STATUS_BT_APPLICATION_MISMATCHED_OR_INSUFFICIENT_SECURITY                                     ((sl_status_t)0x041D)        
#define SL_STATUS_BT_APPLICATION_ENCRYPTION_DECRYPTION_ERROR                                             ((sl_status_t)0x041E)        

// Bluetooth controller status codes
#define SL_STATUS_BT_CTRL_UNKNOWN_CONNECTION_IDENTIFIER                                                  ((sl_status_t)0x1002)      
#define SL_STATUS_BT_CTRL_AUTHENTICATION_FAILURE                                                         ((sl_status_t)0x1005)      
#define SL_STATUS_BT_CTRL_PIN_OR_KEY_MISSING                                                             ((sl_status_t)0x1006)      
#define SL_STATUS_BT_CTRL_MEMORY_CAPACITY_EXCEEDED                                                       ((sl_status_t)0x1007)      
#define SL_STATUS_BT_CTRL_CONNECTION_TIMEOUT                                                             ((sl_status_t)0x1008)      
#define SL_STATUS_BT_CTRL_CONNECTION_LIMIT_EXCEEDED                                                      ((sl_status_t)0x1009)      
#define SL_STATUS_BT_CTRL_SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED                                          ((sl_status_t)0x100A)     
#define SL_STATUS_BT_CTRL_ACL_CONNECTION_ALREADY_EXISTS                                                  ((sl_status_t)0x100B)     
#define SL_STATUS_BT_CTRL_COMMAND_DISALLOWED                                                             ((sl_status_t)0x100C)     
#define SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES                                   ((sl_status_t)0x100D)     
#define SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS                                    ((sl_status_t)0x100E)     
#define SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR                                ((sl_status_t)0x100F)     
#define SL_STATUS_BT_CTRL_CONNECTION_ACCEPT_TIMEOUT_EXCEEDED                                             ((sl_status_t)0x1010)     
#define SL_STATUS_BT_CTRL_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE                                         ((sl_status_t)0x1011)     
#define SL_STATUS_BT_CTRL_INVALID_COMMAND_PARAMETERS                                                     ((sl_status_t)0x1012)     
#define SL_STATUS_BT_CTRL_REMOTE_USER_TERMINATED                                                         ((sl_status_t)0x1013)     
#define SL_STATUS_BT_CTRL_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES                       ((sl_status_t)0x1014)     
#define SL_STATUS_BT_CTRL_REMOTE_POWERING_OFF                                                            ((sl_status_t)0x1015)     
#define SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_BY_LOCAL_HOST                                            ((sl_status_t)0x1016)     
#define SL_STATUS_BT_CTRL_REPEATED_ATTEMPTS                                                              ((sl_status_t)0x1017)     
#define SL_STATUS_BT_CTRL_PAIRING_NOT_ALLOWED                                                            ((sl_status_t)0x1018)     
#define SL_STATUS_BT_CTRL_UNSUPPORTED_REMOTE_FEATURE                                                     ((sl_status_t)0x101A)     
#define SL_STATUS_BT_CTRL_UNSPECIFIED_ERROR                                                              ((sl_status_t)0x101F)     
#define SL_STATUS_BT_CTRL_LL_RESPONSE_TIMEOUT                                                            ((sl_status_t)0x1022)     
#define SL_STATUS_BT_CTRL_LL_PROCEDURE_COLLISION                                                         ((sl_status_t)0x1023)     
#define SL_STATUS_BT_CTRL_ENCRYPTION_MODE_NOT_ACCEPTABLE                                                 ((sl_status_t)0x1025)     
#define SL_STATUS_BT_CTRL_LINK_KEY_CANNOT_BE_CHANGED                                                     ((sl_status_t)0x1026)     
#define SL_STATUS_BT_CTRL_INSTANT_PASSED                                                                 ((sl_status_t)0x1028)     
#define SL_STATUS_BT_CTRL_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED                                            ((sl_status_t)0x1029)     
#define SL_STATUS_BT_CTRL_DIFFERENT_TRANSACTION_COLLISION                                                ((sl_status_t)0x102A)     
#define SL_STATUS_BT_CTRL_CHANNEL_ASSESSMENT_NOT_SUPPORTED                                               ((sl_status_t)0x102E)     
#define SL_STATUS_BT_CTRL_INSUFFICIENT_SECURITY                                                          ((sl_status_t)0x102F)     
#define SL_STATUS_BT_CTRL_PARAMETER_OUT_OF_MANDATORY_RANGE                                               ((sl_status_t)0x1030)     
#define SL_STATUS_BT_CTRL_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST                                           ((sl_status_t)0x1037)     
#define SL_STATUS_BT_CTRL_HOST_BUSY_PAIRING                                                              ((sl_status_t)0x1038)     
#define SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND                           ((sl_status_t)0x1039)     
#define SL_STATUS_BT_CTRL_CONTROLLER_BUSY                                                                ((sl_status_t)0x103A)     
#define SL_STATUS_BT_CTRL_UNACCEPTABLE_CONNECTION_INTERVAL                                               ((sl_status_t)0x103B)     
#define SL_STATUS_BT_CTRL_ADVERTISING_TIMEOUT                                                            ((sl_status_t)0x103C)     
#define SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE                                       ((sl_status_t)0x103D)     
#define SL_STATUS_BT_CTRL_CONNECTION_FAILED_TO_BE_ESTABLISHED                                            ((sl_status_t)0x103E)     
#define SL_STATUS_BT_CTRL_MAC_CONNECTION_FAILED                                                          ((sl_status_t)0x103F)     
#define SL_STATUS_BT_CTRL_COARSE_CLOCK_ADJUSTMENT_REJECTED_BUT_WILL_TRY_TO_ADJUST_USING_CLOCK_DRAGGING   ((sl_status_t)0x1040)     
#define SL_STATUS_BT_CTRL_UNKNOWN_ADVERTISING_IDENTIFIER                                                 ((sl_status_t)0x1042)     
#define SL_STATUS_BT_CTRL_LIMIT_REACHED                                                                  ((sl_status_t)0x1043)     
#define SL_STATUS_BT_CTRL_OPERATION_CANCELLED_BY_HOST                                                    ((sl_status_t)0x1044)     
#define SL_STATUS_BT_CTRL_PACKET_TOO_LONG                                                                ((sl_status_t)0x1045)     

// Bluetooth attribute status codes
#define SL_STATUS_BT_ATT_INVALID_HANDLE                                                                  ((sl_status_t)0x1101)      
#define SL_STATUS_BT_ATT_READ_NOT_PERMITTED                                                              ((sl_status_t)0x1102)      
#define SL_STATUS_BT_ATT_WRITE_NOT_PERMITTED                                                             ((sl_status_t)0x1103)      
#define SL_STATUS_BT_ATT_INVALID_PDU                                                                     ((sl_status_t)0x1104)      
#define SL_STATUS_BT_ATT_INSUFFICIENT_AUTHENTICATION                                                     ((sl_status_t)0x1105)      
#define SL_STATUS_BT_ATT_REQUEST_NOT_SUPPORTED                                                           ((sl_status_t)0x1106)      
#define SL_STATUS_BT_ATT_INVALID_OFFSET                                                                  ((sl_status_t)0x1107)      
#define SL_STATUS_BT_ATT_INSUFFICIENT_AUTHORIZATION                                                      ((sl_status_t)0x1108)      
#define SL_STATUS_BT_ATT_PREPARE_QUEUE_FULL                                                              ((sl_status_t)0x1109)      
#define SL_STATUS_BT_ATT_ATT_NOT_FOUND                                                                   ((sl_status_t)0x110A)     
#define SL_STATUS_BT_ATT_ATT_NOT_LONG                                                                    ((sl_status_t)0x110B)     
#define SL_STATUS_BT_ATT_INSUFFICIENT_ENC_KEY_SIZE                                                       ((sl_status_t)0x110C)     
#define SL_STATUS_BT_ATT_INVALID_ATT_LENGTH                                                              ((sl_status_t)0x110D)     
#define SL_STATUS_BT_ATT_UNLIKELY_ERROR                                                                  ((sl_status_t)0x110E)     
#define SL_STATUS_BT_ATT_INSUFFICIENT_ENCRYPTION                                                         ((sl_status_t)0x110F)     
#define SL_STATUS_BT_ATT_UNSUPPORTED_GROUP_TYPE                                                          ((sl_status_t)0x1110)     
#define SL_STATUS_BT_ATT_INSUFFICIENT_RESOURCES                                                          ((sl_status_t)0x1111)     
#define SL_STATUS_BT_ATT_OUT_OF_SYNC                                                                     ((sl_status_t)0x1112)     
#define SL_STATUS_BT_ATT_VALUE_NOT_ALLOWED                                                               ((sl_status_t)0x1113)     
#define SL_STATUS_BT_ATT_APPLICATION                                                                     ((sl_status_t)0x1180)    
#define SL_STATUS_BT_ATT_WRITE_REQUEST_REJECTED                                                          ((sl_status_t)0x11FC)    
#define SL_STATUS_BT_ATT_CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_IMPROPERLY_CONFIGURED            ((sl_status_t)0x11FD)    
#define SL_STATUS_BT_ATT_PROCEDURE_ALREADY_IN_PROGRESS                                                   ((sl_status_t)0x11FE)    
#define SL_STATUS_BT_ATT_OUT_OF_RANGE                                                                    ((sl_status_t)0x11FF)    

// Bluetooth Security Manager Protocol status codes
#define SL_STATUS_BT_SMP_PASSKEY_ENTRY_FAILED                                                            ((sl_status_t)0x1201)      
#define SL_STATUS_BT_SMP_OOB_NOT_AVAILABLE                                                               ((sl_status_t)0x1202)      
#define SL_STATUS_BT_SMP_AUTHENTICATION_REQUIREMENTS                                                     ((sl_status_t)0x1203)      
#define SL_STATUS_BT_SMP_CONFIRM_VALUE_FAILED                                                            ((sl_status_t)0x1204)      
#define SL_STATUS_BT_SMP_PAIRING_NOT_SUPPORTED                                                           ((sl_status_t)0x1205)      
#define SL_STATUS_BT_SMP_ENCRYPTION_KEY_SIZE                                                             ((sl_status_t)0x1206)      
#define SL_STATUS_BT_SMP_COMMAND_NOT_SUPPORTED                                                           ((sl_status_t)0x1207)      
#define SL_STATUS_BT_SMP_UNSPECIFIED_REASON                                                              ((sl_status_t)0x1208)      
#define SL_STATUS_BT_SMP_REPEATED_ATTEMPTS                                                               ((sl_status_t)0x1209)      
#define SL_STATUS_BT_SMP_INVALID_PARAMETERS                                                              ((sl_status_t)0x120A)     
#define SL_STATUS_BT_SMP_DHKEY_CHECK_FAILED                                                              ((sl_status_t)0x120B)     
#define SL_STATUS_BT_SMP_NUMERIC_COMPARISON_FAILED                                                       ((sl_status_t)0x120C)     
#define SL_STATUS_BT_SMP_BREDR_PAIRING_IN_PROGRESS                                                       ((sl_status_t)0x120D)     
#define SL_STATUS_BT_SMP_CROSS_TRANSPORT_KEY_DERIVATION_GENERATION_NOT_ALLOWED                           ((sl_status_t)0x120E)     
#define SL_STATUS_BT_SMP_KEY_REJECTED                                                                    ((sl_status_t)0x120F)     

// Bluetooth Mesh status codes
#define SL_STATUS_BT_MESH_ALREADY_EXISTS                                                                 ((sl_status_t)0x0501)      
#define SL_STATUS_BT_MESH_DOES_NOT_EXIST                                                                 ((sl_status_t)0x0502)      
#define SL_STATUS_BT_MESH_LIMIT_REACHED                                                                  ((sl_status_t)0x0503)      
#define SL_STATUS_BT_MESH_INVALID_ADDRESS                                                                ((sl_status_t)0x0504)      
#define SL_STATUS_BT_MESH_MALFORMED_DATA                                                                 ((sl_status_t)0x0505)      
#define SL_STATUS_BT_MESH_ALREADY_INITIALIZED                                                            ((sl_status_t)0x0506)      
#define SL_STATUS_BT_MESH_NOT_INITIALIZED                                                                ((sl_status_t)0x0507)      
#define SL_STATUS_BT_MESH_NO_FRIEND_OFFER                                                                ((sl_status_t)0x0508)      
#define SL_STATUS_BT_MESH_PROV_LINK_CLOSED                                                               ((sl_status_t)0x0509)      
#define SL_STATUS_BT_MESH_PROV_INVALID_PDU                                                               ((sl_status_t)0x050A)     
#define SL_STATUS_BT_MESH_PROV_INVALID_PDU_FORMAT                                                        ((sl_status_t)0x050B)     
#define SL_STATUS_BT_MESH_PROV_UNEXPECTED_PDU                                                            ((sl_status_t)0x050C)     
#define SL_STATUS_BT_MESH_PROV_CONFIRMATION_FAILED                                                       ((sl_status_t)0x050D)     
#define SL_STATUS_BT_MESH_PROV_OUT_OF_RESOURCES                                                          ((sl_status_t)0x050E)     
#define SL_STATUS_BT_MESH_PROV_DECRYPTION_FAILED                                                         ((sl_status_t)0x050F)     
#define SL_STATUS_BT_MESH_PROV_UNEXPECTED_ERROR                                                          ((sl_status_t)0x0510)     
#define SL_STATUS_BT_MESH_PROV_CANNOT_ASSIGN_ADDR                                                        ((sl_status_t)0x0511)     
#define SL_STATUS_BT_MESH_ADDRESS_TEMPORARILY_UNAVAILABLE                                                ((sl_status_t)0x0512)     
#define SL_STATUS_BT_MESH_ADDRESS_ALREADY_USED                                                           ((sl_status_t)0x0513)     
#define SL_STATUS_BT_MESH_PUBLISH_NOT_CONFIGURED                                                         ((sl_status_t)0x0514)     
#define SL_STATUS_BT_MESH_APP_KEY_NOT_BOUND                                                              ((sl_status_t)0x0515)     

// Bluetooth Mesh foundation status codes
#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_ADDRESS                                                     ((sl_status_t)0x1301)      
#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_MODEL                                                       ((sl_status_t)0x1302)      
#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_APP_KEY                                                     ((sl_status_t)0x1303)      
#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_NET_KEY                                                     ((sl_status_t)0x1304)      
#define SL_STATUS_BT_MESH_FOUNDATION_INSUFFICIENT_RESOURCES                                              ((sl_status_t)0x1305)      
#define SL_STATUS_BT_MESH_FOUNDATION_KEY_INDEX_EXISTS                                                    ((sl_status_t)0x1306)      
#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_PUBLISH_PARAMS                                              ((sl_status_t)0x1307)      
#define SL_STATUS_BT_MESH_FOUNDATION_NOT_SUBSCRIBE_MODEL                                                 ((sl_status_t)0x1308)      
#define SL_STATUS_BT_MESH_FOUNDATION_STORAGE_FAILURE                                                     ((sl_status_t)0x1309)      
#define SL_STATUS_BT_MESH_FOUNDATION_NOT_SUPPORTED                                                       ((sl_status_t)0x130A)     
#define SL_STATUS_BT_MESH_FOUNDATION_CANNOT_UPDATE                                                       ((sl_status_t)0x130B)     
#define SL_STATUS_BT_MESH_FOUNDATION_CANNOT_REMOVE                                                       ((sl_status_t)0x130C)     
#define SL_STATUS_BT_MESH_FOUNDATION_CANNOT_BIND                                                         ((sl_status_t)0x130D)     
#define SL_STATUS_BT_MESH_FOUNDATION_TEMPORARILY_UNABLE                                                  ((sl_status_t)0x130E)     
#define SL_STATUS_BT_MESH_FOUNDATION_CANNOT_SET                                                          ((sl_status_t)0x130F)     
#define SL_STATUS_BT_MESH_FOUNDATION_UNSPECIFIED                                                         ((sl_status_t)0x1310)     
#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_BINDING                                                     ((sl_status_t)0x1311)     

// -----------------------------------------------------------------------------
// Wi-Fi Errors

#define SL_STATUS_WIFI_INVALID_KEY                         ((sl_status_t)0x0B01)  
#define SL_STATUS_WIFI_FIRMWARE_DOWNLOAD_TIMEOUT           ((sl_status_t)0x0B02)  
#define SL_STATUS_WIFI_UNSUPPORTED_MESSAGE_ID              ((sl_status_t)0x0B03)  
#define SL_STATUS_WIFI_WARNING                             ((sl_status_t)0x0B04)  
#define SL_STATUS_WIFI_NO_PACKET_TO_RECEIVE                ((sl_status_t)0x0B05)  
#define SL_STATUS_WIFI_SLEEP_GRANTED                       ((sl_status_t)0x0B08)  
#define SL_STATUS_WIFI_SLEEP_NOT_GRANTED                   ((sl_status_t)0x0B09)  
#define SL_STATUS_WIFI_SECURE_LINK_MAC_KEY_ERROR           ((sl_status_t)0x0B10)  
#define SL_STATUS_WIFI_SECURE_LINK_MAC_KEY_ALREADY_BURNED  ((sl_status_t)0x0B11)  
#define SL_STATUS_WIFI_SECURE_LINK_RAM_MODE_NOT_ALLOWED    ((sl_status_t)0x0B12)  
#define SL_STATUS_WIFI_SECURE_LINK_FAILED_UNKNOWN_MODE     ((sl_status_t)0x0B13)  
#define SL_STATUS_WIFI_SECURE_LINK_EXCHANGE_FAILED         ((sl_status_t)0x0B14)  
#define SL_STATUS_WIFI_WRONG_STATE                         ((sl_status_t)0x0B18)  
#define SL_STATUS_WIFI_CHANNEL_NOT_ALLOWED                 ((sl_status_t)0x0B19)  
#define SL_STATUS_WIFI_NO_MATCHING_AP                      ((sl_status_t)0x0B1A)  
#define SL_STATUS_WIFI_CONNECTION_ABORTED                  ((sl_status_t)0x0B1B)  
#define SL_STATUS_WIFI_CONNECTION_TIMEOUT                  ((sl_status_t)0x0B1C)  
#define SL_STATUS_WIFI_CONNECTION_REJECTED_BY_AP           ((sl_status_t)0x0B1D)  
#define SL_STATUS_WIFI_CONNECTION_AUTH_FAILURE             ((sl_status_t)0x0B1E)  
#define SL_STATUS_WIFI_RETRY_EXCEEDED                      ((sl_status_t)0x0B1F)  
#define SL_STATUS_WIFI_TX_LIFETIME_EXCEEDED                ((sl_status_t)0x0B20)  

// -----------------------------------------------------------------------------
// MVP Driver and MVP Math status codes
#define SL_STATUS_COMPUTE_DRIVER_FAULT                      ((sl_status_t)0x1501)   
#define SL_STATUS_COMPUTE_DRIVER_ALU_NAN                    ((sl_status_t)0x1502)   
#define SL_STATUS_COMPUTE_DRIVER_ALU_OVERFLOW               ((sl_status_t)0x1503)   
#define SL_STATUS_COMPUTE_DRIVER_ALU_UNDERFLOW              ((sl_status_t)0x1504)   
#define SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_OVERFLOW  ((sl_status_t)0x1505)   
#define SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_UNDERFLOW ((sl_status_t)0x1506)   
#define SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_INFINITY  ((sl_status_t)0x1507)   
#define SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_NAN       ((sl_status_t)0x1508)   

#define SL_STATUS_COMPUTE_MATH_NAN                          ((sl_status_t)0x1512)   
#define SL_STATUS_COMPUTE_MATH_INFINITY                     ((sl_status_t)0x1513)   
#define SL_STATUS_COMPUTE_MATH_OVERFLOW                     ((sl_status_t)0x1514)   
#define SL_STATUS_COMPUTE_MATH_UNDERFLOW                    ((sl_status_t)0x1515)   

// -----------------------------------------------------------------------------
// Data Types
typedef uint32_t sl_status_t;

// -----------------------------------------------------------------------------
// Functions

#ifdef __cplusplus
extern "C" {
#endif

/********************************************************************************************************
 *                                      sl_status_get_string_n()
 *
 * @brief    Get a copy of the status string associated to the status code passed, up to
 *           'buffer_length' length, if the string associated to the status code is enabled. If not,
 *           the error code number, in hex, prefixed by "SL_STATUS_" will be copied in the buffer
 *           instead.
 *           For example, the buffer would either contain "SL_STATUS_FAIL" if that status string is
 *           enabled, or "SL_STATUS_0x0001" if the string is disabled, as SL_STATUS_FAIL's
 *           value is 0x0001.
 *
 * @param    status         The status code from which to obtain the status string.
 *
 * @param    buffer         Pointer to a buffer in which the status string will be copied. A terminating
 *                          null-character will be appended after the copied status string.
 *
 * @param    buffer_length  Maximum number of characters that can be written in the buffer, including the
 *                          terminating null-character. If the status string would be longer than the
 *                          available length, it will be truncated and a null-terminating character will
 *                          be the last character contained in the buffer.
 *
 * @return                  The number of characters that would have been written if the buffer_length had been
 *                          sufficiently large, not counting the terminating null character.
 *                          If the status code is invalid, 0 or a negative number is returned.
 *                          Notice that only when this returned value is strictly positive and less than
 *                          buffer_length, the status string has been completely written in the buffer.
 *******************************************************************************************************/
int32_t sl_status_get_string_n(sl_status_t status, char *buffer, uint32_t buffer_length);

/********************************************************************************************************
 *                                         sl_status_print()
 *
 * @brief    Print, through printf, the string associated to the passed status code. If the string
 *           associated to the status code is enabled, the status string will be printed, for example
 *           "SL_STATUS_OK". If the string associated to the status code is disabled, the status number,
 *           in hex, prefixed by "SL_STATUS_" will be printed instead, for example "SL_STATUS_0x0000",
 *           as SL_STATUS_OK's value is 0x0000.
 *
 * @param    status         The status code of which to print the status string.
 *******************************************************************************************************/
void sl_status_print(sl_status_t status);

#ifdef __cplusplus
}
#endif

#endif /* SL_STATUS_H */

Macros#

#define
SL_STATUS_SPACE_MASK ((sl_status_t)0xFF00)

sl status space mask.

#define
SL_STATUS_GENERIC_SPACE ((sl_status_t)0x0000)

sl status generic space.

#define
SL_STATUS_PLATFORM_1_SPACE ((sl_status_t)0x0100)

sl status platform 1 space.

#define
SL_STATUS_PLATFORM_2_SPACE ((sl_status_t)0x0200)

sl status platform 2 space.

#define
SL_STATUS_HARDWARE_SPACE ((sl_status_t)0x0300)

sl status hardware space.

#define
SL_STATUS_BLUETOOTH_SPACE ((sl_status_t)0x0400)

sl status bluetooth space.

#define
SL_STATUS_BLUETOOTH_MESH_SPACE ((sl_status_t)0x0500)

sl status bluetooth mesh space.

#define
SL_STATUS_CAN_CANOPEN_SPACE ((sl_status_t)0x0600)

sl status can canopen space.

#define
SL_STATUS_CONNECT_SPACE ((sl_status_t)0x0700)

sl status connect space.

#define
SL_STATUS_NET_SUITE_SPACE ((sl_status_t)0x0800)

sl status net suite space.

#define
SL_STATUS_THREAD_SPACE ((sl_status_t)0x0900)

sl status thread space.

#define
SL_STATUS_USB_SPACE ((sl_status_t)0x0A00)

sl status usb space.

#define
SL_STATUS_WIFI_SPACE ((sl_status_t)0x0B00)

sl status wifi space.

#define
SL_STATUS_ZIGBEE_SPACE ((sl_status_t)0x0C00)

sl status zigbee space.

#define
SL_STATUS_Z_WAVE_SPACE ((sl_status_t)0x0D00)

sl status z wave space.

#define
SL_STATUS_GECKO_OS_1_SPACE ((sl_status_t)0x0E00)

sl status gecko os 1 space.

#define
SL_STATUS_GECKO_OS_2_SPACE ((sl_status_t)0x0F00)

sl status gecko os 2 space.

#define
SL_STATUS_BLUETOOTH_CTRL_SPACE ((sl_status_t)0x1000)

sl status bluetooth ctrl space.

#define
SL_STATUS_BLUETOOTH_ATT_SPACE ((sl_status_t)0x1100)

sl status bluetooth att space.

#define
SL_STATUS_BLUETOOTH_SMP_SPACE ((sl_status_t)0x1200)

sl status bluetooth mesh foundation space.

#define

sl status bluetooth mesh foundation space.

#define
SL_STATUS_WISUN_SPACE ((sl_status_t)0x1400)

sl status wisun space.

#define
SL_STATUS_COMPUTE_SPACE ((sl_status_t)0x1500)

sl status compute space.

#define
SL_STATUS_OK ((sl_status_t)0x0000)

No error.

#define
SL_STATUS_FAIL ((sl_status_t)0x0001)

Generic error.

#define
SL_STATUS_INVALID_STATE ((sl_status_t)0x0002)

Generic invalid state error.

#define
SL_STATUS_NOT_READY ((sl_status_t)0x0003)

Module is not ready for requested operation.

#define
SL_STATUS_BUSY ((sl_status_t)0x0004)

Module is busy and cannot carry out requested operation.

#define
SL_STATUS_IN_PROGRESS ((sl_status_t)0x0005)

Operation is in progress and not yet complete (pass or fail).

#define
SL_STATUS_ABORT ((sl_status_t)0x0006)

Operation aborted.

#define
SL_STATUS_TIMEOUT ((sl_status_t)0x0007)

Operation timed out.

#define
SL_STATUS_PERMISSION ((sl_status_t)0x0008)

Operation not allowed per permissions.

#define
SL_STATUS_WOULD_BLOCK ((sl_status_t)0x0009)

Non-blocking operation would block.

#define
SL_STATUS_IDLE ((sl_status_t)0x000A)

Operation/module is Idle, cannot carry requested operation.

#define
SL_STATUS_IS_WAITING ((sl_status_t)0x000B)

Operation cannot be done while construct is waiting.

#define
SL_STATUS_NONE_WAITING ((sl_status_t)0x000C)

No task/construct waiting/pending for that action/event.

#define
SL_STATUS_SUSPENDED ((sl_status_t)0x000D)

Operation cannot be done while construct is suspended.

#define
SL_STATUS_NOT_AVAILABLE ((sl_status_t)0x000E)

Feature not available due to software configuration.

#define
SL_STATUS_NOT_SUPPORTED ((sl_status_t)0x000F)

Feature not supported.

#define
SL_STATUS_INITIALIZATION ((sl_status_t)0x0010)

Initialization failed.

#define
SL_STATUS_NOT_INITIALIZED ((sl_status_t)0x0011)

Module has not been initialized.

#define
SL_STATUS_ALREADY_INITIALIZED ((sl_status_t)0x0012)

Module has already been initialized.

#define
SL_STATUS_DELETED ((sl_status_t)0x0013)

Object/construct has been deleted.

#define
SL_STATUS_ISR ((sl_status_t)0x0014)

Illegal call from ISR.

#define
SL_STATUS_NETWORK_UP ((sl_status_t)0x0015)

Illegal call because network is up.

#define
SL_STATUS_NETWORK_DOWN ((sl_status_t)0x0016)

Illegal call because network is down.

#define
SL_STATUS_NOT_JOINED ((sl_status_t)0x0017)

Failure due to not being joined in a network.

#define
SL_STATUS_NO_BEACONS ((sl_status_t)0x0018)

Invalid operation as there are no beacons.

#define
SL_STATUS_ALLOCATION_FAILED ((sl_status_t)0x0019)

Generic allocation error.

#define
SL_STATUS_NO_MORE_RESOURCE ((sl_status_t)0x001A)

No more resource available to perform the operation.

#define
SL_STATUS_EMPTY ((sl_status_t)0x001B)

Item/list/queue is empty.

#define
SL_STATUS_FULL ((sl_status_t)0x001C)

Item/list/queue is full.

#define
SL_STATUS_WOULD_OVERFLOW ((sl_status_t)0x001D)

Item would overflow.

#define
SL_STATUS_HAS_OVERFLOWED ((sl_status_t)0x001E)

Item/list/queue has been overflowed.

#define
SL_STATUS_OWNERSHIP ((sl_status_t)0x001F)

Generic ownership error.

#define
SL_STATUS_IS_OWNER ((sl_status_t)0x0020)

Already/still owning resource.

#define
SL_STATUS_INVALID_PARAMETER ((sl_status_t)0x0021)

Generic invalid argument or consequence of invalid argument.

#define
SL_STATUS_NULL_POINTER ((sl_status_t)0x0022)

Invalid null pointer received as argument.

#define
SL_STATUS_INVALID_CONFIGURATION ((sl_status_t)0x0023)

Invalid configuration provided.

#define
SL_STATUS_INVALID_MODE ((sl_status_t)0x0024)

Invalid mode.

#define
SL_STATUS_INVALID_HANDLE ((sl_status_t)0x0025)

Invalid handle.

#define
SL_STATUS_INVALID_TYPE ((sl_status_t)0x0026)

Invalid type for operation.

#define
SL_STATUS_INVALID_INDEX ((sl_status_t)0x0027)

Invalid index.

#define
SL_STATUS_INVALID_RANGE ((sl_status_t)0x0028)

Invalid range.

#define
SL_STATUS_INVALID_KEY ((sl_status_t)0x0029)

Invalid key.

#define
SL_STATUS_INVALID_CREDENTIALS ((sl_status_t)0x002A)

Invalid credentials.

#define
SL_STATUS_INVALID_COUNT ((sl_status_t)0x002B)

Invalid count.

#define
SL_STATUS_INVALID_SIGNATURE ((sl_status_t)0x002C)

Invalid signature / verification failed.

#define
SL_STATUS_NOT_FOUND ((sl_status_t)0x002D)

Item could not be found.

#define
SL_STATUS_ALREADY_EXISTS ((sl_status_t)0x002E)

Item already exists.

#define
SL_STATUS_IO ((sl_status_t)0x002F)

Generic I/O failure.

#define
SL_STATUS_IO_TIMEOUT ((sl_status_t)0x0030)

I/O failure due to timeout.

#define
SL_STATUS_TRANSMIT ((sl_status_t)0x0031)

Generic transmission error.

#define
SL_STATUS_TRANSMIT_UNDERFLOW ((sl_status_t)0x0032)

Transmit underflowed.

#define
SL_STATUS_TRANSMIT_INCOMPLETE ((sl_status_t)0x0033)

Transmit is incomplete.

#define
SL_STATUS_TRANSMIT_BUSY ((sl_status_t)0x0034)

Transmit is busy.

#define
SL_STATUS_RECEIVE ((sl_status_t)0x0035)

Generic reception error.

#define
SL_STATUS_OBJECT_READ ((sl_status_t)0x0036)

Failed to read on/via given object.

#define
SL_STATUS_OBJECT_WRITE ((sl_status_t)0x0037)

Failed to write on/via given object.

#define
SL_STATUS_MESSAGE_TOO_LONG ((sl_status_t)0x0038)

Message is too long.

#define

EEPROM MFG version mismatch.

#define

EEPROM Stack version mismatch.

#define
SL_STATUS_FLASH_WRITE_INHIBITED ((sl_status_t)0x003B)

Flash write is inhibited.

#define
SL_STATUS_FLASH_VERIFY_FAILED ((sl_status_t)0x003C)

Flash verification failed.

#define
SL_STATUS_FLASH_PROGRAM_FAILED ((sl_status_t)0x003D)

Flash programming failed.

#define
SL_STATUS_FLASH_ERASE_FAILED ((sl_status_t)0x003E)

Flash erase failed.

#define
SL_STATUS_MAC_NO_DATA ((sl_status_t)0x003F)

MAC no data.

#define
SL_STATUS_MAC_NO_ACK_RECEIVED ((sl_status_t)0x0040)

MAC no ACK received.

#define
SL_STATUS_MAC_INDIRECT_TIMEOUT ((sl_status_t)0x0041)

MAC indirect timeout.

#define
SL_STATUS_MAC_UNKNOWN_HEADER_TYPE ((sl_status_t)0x0042)

MAC unknown header type.

#define
SL_STATUS_MAC_ACK_HEADER_TYPE ((sl_status_t)0x0043)

MAC ACK unknown header type.

#define

MAC command transmit failure.

#define

Error in open NVM.

#define

Image checksum is not valid.

#define
SL_STATUS_SECURITY_DECRYPT_ERROR ((sl_status_t)0x0047)

Decryption failed.

#define
SL_STATUS_COMMAND_IS_INVALID ((sl_status_t)0x0048)

Command was not recognized.

#define
SL_STATUS_COMMAND_TOO_LONG ((sl_status_t)0x0049)

Command or parameter maximum length exceeded.

#define
SL_STATUS_COMMAND_INCOMPLETE ((sl_status_t)0x004A)

Data received does not form a complete command.

#define
SL_STATUS_BUS_ERROR ((sl_status_t)0x004B)

Bus error, e.g. invalid DMA address.

#define
SL_STATUS_CCA_FAILURE ((sl_status_t)0x004C)

CCA failure.

#define
SL_STATUS_MAC_SCANNING ((sl_status_t)0x004D)

MAC scanning.

#define
SL_STATUS_MAC_INCORRECT_SCAN_TYPE ((sl_status_t)0x004E)

MAC incorrect scan type.

#define
SL_STATUS_INVALID_CHANNEL_MASK ((sl_status_t)0x004F)

Invalid channel mask.

#define
SL_STATUS_BAD_SCAN_DURATION ((sl_status_t)0x0050)

Bad scan duration.

#define
SL_STATUS_BT_OUT_OF_BONDS ((sl_status_t)0x0402)

Bonding procedure can't be started because device has no space left for bond.

#define
SL_STATUS_BT_UNSPECIFIED ((sl_status_t)0x0403)

Unspecified error.

#define
SL_STATUS_BT_HARDWARE ((sl_status_t)0x0404)

Hardware failure.

#define
SL_STATUS_BT_NO_BONDING ((sl_status_t)0x0406)

The bonding does not exist.

#define
SL_STATUS_BT_CRYPTO ((sl_status_t)0x0407)

Error using crypto functions.

#define
SL_STATUS_BT_DATA_CORRUPTED ((sl_status_t)0x0408)

Data was corrupted.

#define
SL_STATUS_BT_INVALID_SYNC_HANDLE ((sl_status_t)0x040A)

Invalid periodic advertising sync handle.

#define

Bluetooth cannot be used on this hardware.

#define
SL_STATUS_BT_RADIO ((sl_status_t)0x040C)

Error received from radio.

#define

Returned when remote disconnects the connection-oriented channel by sending disconnection request.

#define

Returned when local host disconnect the connection-oriented channel by sending disconnection request.

#define
SL_STATUS_BT_L2CAP_CID_NOT_EXIST ((sl_status_t)0x040F)

Returned when local host did not find a connection-oriented channel with given destination CID.

#define

Returned when connection-oriented channel disconnected due to LE connection is dropped.

#define

Returned when connection-oriented channel disconnected due to remote end send data even without credit.

#define

Returned when connection-oriented channel disconnected due to remote end send flow control credits exceed 65535.

#define

Returned when connection-oriented channel has run out of flow control credit and local application still trying to send data.

#define

Returned when connection-oriented channel has not received connection response message within maximum timeout.

#define
SL_STATUS_BT_L2CAP_INVALID_CID ((sl_status_t)0x0416)

Returned when local host received a connection-oriented channel connection response with an invalid destination CID.

#define
SL_STATUS_BT_L2CAP_WRONG_STATE ((sl_status_t)0x0417)

Returned when local host application tries to send a command which is not suitable for L2CAP channel's current state.

#define
SL_STATUS_BT_PS_STORE_FULL ((sl_status_t)0x041B)

Flash reserved for PS store is full.

#define
SL_STATUS_BT_PS_KEY_NOT_FOUND ((sl_status_t)0x041C)

PS key not found.

#define

Mismatched or insufficient security level.

#define

Encryption/decryption operation failed.

#define

Connection does not exist, or connection open request was cancelled.

#define

Pairing or authentication failed due to incorrect results in the pairing or authentication procedure. This could be due to an incorrect PIN or Link Key.

#define

Pairing failed because of missing PIN, or authentication failed because of missing Key.

#define

Controller is out of memory.

#define

Link supervision timeout has expired.

#define

Controller is at limit of connections it can support.

#define

The Synchronous Connection Limit to a Device Exceeded error code indicates that the Controller has reached the limit to the number of synchronous connections that can be achieved to a device.

#define

The ACL Connection Already Exists error code indicates that an attempt to create a new ACL Connection to a device when there is already a connection to this device.

#define

Command requested cannot be executed because the Controller is in a state where it cannot process this command at this time.

#define

The Connection Rejected Due To Limited Resources error code indicates that an incoming connection was rejected due to limited resources.

#define

The Connection Rejected Due To Security Reasons error code indicates that a connection was rejected due to security requirements not being fulfilled, like authentication or pairing.

#define

The Connection was rejected because this device does not accept the BD_ADDR. This may be because the device will only accept connections from specific BD_ADDRs.

#define

The Connection Accept Timeout has been exceeded for this connection attempt.

#define

A feature or parameter value in the HCI command is not supported.

#define

Command contained invalid parameters.

#define

User on the remote device terminated the connection.

#define

The remote device terminated the connection because of low resources.

#define

Remote Device Terminated Connection due to Power Off.

#define

Local device terminated the connection.

#define

The Controller is disallowing an authentication or pairing procedure because too little time has elapsed since the last authentication or pairing attempt failed.

#define

The device does not allow pairing. This can be for example, when a device only allows pairing during a certain time window after some user input allows pairing.

#define

The remote device does not support the feature associated with the issued command.

#define

No other error code specified is appropriate to use.

#define

Connection terminated due to link-layer procedure timeout.

#define

LL procedure has collided with the same transaction or procedure that is already in progress.

#define

The requested encryption mode is not acceptable at this time.

#define

Link key cannot be changed because a fixed unit key is being used.

#define
SL_STATUS_BT_CTRL_INSTANT_PASSED ((sl_status_t)0x1028)

LMP PDU or LL PDU that includes an instant cannot be performed because the instant when this would have occurred has passed.

#define

It was not possible to pair as a unit key was requested and it is not supported.

#define

LMP transaction was started that collides with an ongoing transaction.

#define

The Controller cannot perform channel assessment because it is not supported.

#define

The HCI command or LMP PDU sent is only possible on an encrypted link.

#define

A parameter value requested is outside the mandatory range of parameters for the given HCI command or LMP PDU.

#define

The IO capabilities request or response was rejected because the sending Host does not support Secure Simple Pairing even though the receiving Link Manager does.

#define

The Host is busy with another pairing operation and unable to support the requested pairing. The receiving device should retry pairing again later.

#define

The Controller could not calculate an appropriate value for the Channel selection operation.

#define
SL_STATUS_BT_CTRL_CONTROLLER_BUSY ((sl_status_t)0x103A)

Operation was rejected because the controller is busy and unable to process the request.

#define

Remote device terminated the connection because of an unacceptable connection interval.

#define

Advertising for a fixed duration completed or, for directed advertising, that advertising completed without a connection being created.

#define

Connection was terminated because the Message Integrity Check (MIC) failed on a received packet.

#define

LL initiated a connection but the connection has failed to be established. Controller did not receive any packets from remote end.

#define

The MAC of the 802.11 AMP was requested to connect to a peer, but the connection failed.

#define

The master, at this time, is unable to make a coarse adjustment to the piconet clock, using the supplied parameters. Instead the master will attempt to move the clock using clock dragging.

#define

A command was sent from the Host that should identify an Advertising or Sync handle, but the Advertising or Sync handle does not exist.

#define
SL_STATUS_BT_CTRL_LIMIT_REACHED ((sl_status_t)0x1043)

Number of operations requested has been reached and has indicated the completion of the activity (e.g., advertising or scanning).

#define

A request to the Controller issued by the Host and still pending was successfully canceled.

#define
SL_STATUS_BT_CTRL_PACKET_TOO_LONG ((sl_status_t)0x1045)

An attempt was made to send or receive a packet that exceeds the maximum allowed packet l.

#define
SL_STATUS_BT_ATT_INVALID_HANDLE ((sl_status_t)0x1101)

The attribute handle given was not valid on this server.

#define

The attribute cannot be read.

#define

The attribute cannot be written.

#define
SL_STATUS_BT_ATT_INVALID_PDU ((sl_status_t)0x1104)

The attribute PDU was invalid.

#define

The attribute requires authentication before it can be read or written.

#define

Attribute Server does not support the request received from the client.

#define
SL_STATUS_BT_ATT_INVALID_OFFSET ((sl_status_t)0x1107)

Offset specified was past the end of the attribute.

#define

The attribute requires authorization before it can be read or written.

#define

Too many prepare writes have been queued.

#define
SL_STATUS_BT_ATT_ATT_NOT_FOUND ((sl_status_t)0x110A)

No attribute found within the given attribute handle range.

#define
SL_STATUS_BT_ATT_ATT_NOT_LONG ((sl_status_t)0x110B)

The attribute cannot be read or written using the Read Blob Request.

#define

The Encryption Key Size used for encrypting this link is insufficient.

#define

The attribute value length is invalid for the operation.

#define
SL_STATUS_BT_ATT_UNLIKELY_ERROR ((sl_status_t)0x110E)

The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested.

#define

The attribute requires encryption before it can be read or written.

#define

The attribute type is not a supported grouping attribute as defined by a higher layer specification.

#define

Insufficient Resources to complete the request.

#define
SL_STATUS_BT_ATT_OUT_OF_SYNC ((sl_status_t)0x1112)

The server requests the client to rediscover the database.

#define

The attribute parameter value was not allowed.

#define
SL_STATUS_BT_ATT_APPLICATION ((sl_status_t)0x1180)

When this is returned in a BGAPI response, the application tried to read or write the value of a user attribute from the GATT database.

#define

The requested write operation cannot be fulfilled for reasons other than permissions.

#define

The Client Characteristic Configuration descriptor is not configured according to the requirements of the profile or service.

#define

The profile or service request cannot be serviced because an operation that has been previously triggered is still in progress.

#define
SL_STATUS_BT_ATT_OUT_OF_RANGE ((sl_status_t)0x11FF)

The attribute value is out of range as defined by a profile or service specification.

#define

The user input of passkey failed, for example, the user cancelled the operation.

#define

Out of Band data is not available for authentication.

#define

The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices.

#define

The confirm value does not match the calculated compare value.

#define

Pairing is not supported by the device.

#define

The resultant encryption key size is insufficient for the security requirements of this device.

#define

The SMP command received is not supported on this device.

#define

Pairing failed due to an unspecified reason.

#define

Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request.

#define

The Invalid Parameters error code indicates: the command length is invalid or a parameter is outside of the specified range.

#define

Indicates to the remote device that the DHKey Check value received doesn't match the one calculated by the local device.

#define

Indicates that the confirm values in the numeric comparison protocol do not match.

#define

Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process.

#define

Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport.

#define
SL_STATUS_BT_SMP_KEY_REJECTED ((sl_status_t)0x120F)

Indicates that the device chose not to accept a distributed key.

#define
SL_STATUS_BT_MESH_ALREADY_EXISTS ((sl_status_t)0x0501)

Returned when trying to add a key or some other unique resource with an ID which already exists.

#define
SL_STATUS_BT_MESH_DOES_NOT_EXIST ((sl_status_t)0x0502)

Returned when trying to manipulate a key or some other resource with an ID which does not exist.

#define
SL_STATUS_BT_MESH_LIMIT_REACHED ((sl_status_t)0x0503)

Returned when an operation cannot be executed because a pre-configured limit for keys, key bindings, elements, models, virtual addresses, provisioned devices, or provisioning sessions is reached.

#define
SL_STATUS_BT_MESH_INVALID_ADDRESS ((sl_status_t)0x0504)

Returned when trying to use a reserved address or add a "pre-provisioned" device using an address already used by some other device.

#define
SL_STATUS_BT_MESH_MALFORMED_DATA ((sl_status_t)0x0505)

In a BGAPI response, the user supplied malformed data; in a BGAPI event, the remote end responded with malformed or unrecognized data.

#define

An attempt was made to initialize a subsystem that was already initialized.

#define
SL_STATUS_BT_MESH_NOT_INITIALIZED ((sl_status_t)0x0507)

An attempt was made to use a subsystem that wasn't initialized yet. Call the subsystem's init function first.

#define
SL_STATUS_BT_MESH_NO_FRIEND_OFFER ((sl_status_t)0x0508)

Returned when trying to establish a friendship as a Low Power Node, but no acceptable friend offer message was received.

#define

Provisioning link was unexpectedly closed before provisioning was complete.

#define

An unrecognized provisioning PDU was received.

#define

A provisioning PDU with wrong length or containing field values that are out of bounds was received.

#define

An unexpected (out of sequence) provisioning PDU was received.

#define

The computed confirmation value did not match the expected value.

#define

Provisioning could not be continued due to insufficient resources.

#define

The provisioning data block could not be decrypted.

#define

An unexpected error happened during provisioning.

#define

Device could not assign unicast addresses to all of its elements.

#define

Returned when trying to reuse an address of a previously deleted device before an IV Index Update has been executed.

#define

Returned when trying to assign an address that is used by one of the devices in the Device Database, or by the Provisioner itself.

#define

Application key or publish address are not set.

#define

Application key is not bound to a model.

#define

Returned when address in request was not valid.

#define

Returned when model identified is not found for a given element.

#define

Returned when the key identified by AppKeyIndex is not stored in the node.

#define

Returned when the key identified by NetKeyIndex is not stored in the node.

#define

Returned when The node cannot serve the request due to insufficient resources.

#define

Returned when the key identified is already stored in the node and the new NetKey value is different.

#define

Returned when the model does not support the publish mechanism.

#define

Returned when the model does not support the subscribe mechanism.

#define

Returned when storing of the requested parameters failed.

#define

Returned when requested setting is not supported.

#define

Returned when the requested update operation cannot be performed due to general constraints.

#define

Returned when the requested delete operation cannot be performed due to general constraints.

#define

Returned when the requested bind operation cannot be performed due to general constraints.

#define

Returned when The node cannot start advertising with Node Identity or Proxy since the maximum number of parallel advertising is reached.

#define

Returned when the requested state cannot be set.

#define

Returned when an unspecified error took place.

#define

Returned when the NetKeyIndex and AppKeyIndex combination is not valid for a Config AppKey Update.

#define
SL_STATUS_WIFI_INVALID_KEY ((sl_status_t)0x0B01)

Invalid firmware keyset.

#define

The firmware download took too long.

#define

Unknown request ID or wrong interface ID used.

#define
SL_STATUS_WIFI_WARNING ((sl_status_t)0x0B04)

The request is successful but some parameters have been ignored.

#define

No Packets waiting to be received.

#define
SL_STATUS_WIFI_SLEEP_GRANTED ((sl_status_t)0x0B08)

The sleep mode is granted.

#define
SL_STATUS_WIFI_SLEEP_NOT_GRANTED ((sl_status_t)0x0B09)

The WFx does not go back to sleep.

#define

The SecureLink MAC key was not found.

#define

The SecureLink MAC key is already installed in OTP.

#define

The SecureLink MAC key cannot be installed in RAM.

#define

The SecureLink MAC key installation failed.

#define

SecureLink key (re)negotiation failed.

#define
SL_STATUS_WIFI_WRONG_STATE ((sl_status_t)0x0B18)

The device is in an inappropriate state to perform the request.

#define

The request failed due to regulatory limitations.

#define
SL_STATUS_WIFI_NO_MATCHING_AP ((sl_status_t)0x0B1A)

The connection request failed because no suitable AP was found.

#define
SL_STATUS_WIFI_CONNECTION_ABORTED ((sl_status_t)0x0B1B)

The connection request was aborted by host.

#define
SL_STATUS_WIFI_CONNECTION_TIMEOUT ((sl_status_t)0x0B1C)

The connection request failed because of a timeout.

#define

The connection request failed because the AP rejected the device.

#define

The connection request failed because the WPA handshake did not complete successfully.

#define
SL_STATUS_WIFI_RETRY_EXCEEDED ((sl_status_t)0x0B1F)

The request failed because the retry limit was exceeded.

#define

The request failed because the MSDU life time was exceeded.

#define
SL_STATUS_COMPUTE_DRIVER_FAULT ((sl_status_t)0x1501)

Critical fault.

#define
SL_STATUS_COMPUTE_DRIVER_ALU_NAN ((sl_status_t)0x1502)

ALU operation output NaN.

#define

ALU numeric overflow.

#define

ALU numeric underflow.

#define

Overflow during array store.

#define

Underflow during array store conversion.

#define

Infinity encountered during array store conversion.

#define

NaN encountered during array store conversion.

#define
SL_STATUS_COMPUTE_MATH_NAN ((sl_status_t)0x1512)

MATH NaN encountered.

#define
SL_STATUS_COMPUTE_MATH_INFINITY ((sl_status_t)0x1513)

MATH Infinity encountered.

#define
SL_STATUS_COMPUTE_MATH_OVERFLOW ((sl_status_t)0x1514)

MATH numeric overflow.

#define
SL_STATUS_COMPUTE_MATH_UNDERFLOW ((sl_status_t)0x1515)

MATH numeric underflow.

Typedefs#

typedef uint32_t

define global status variable.

Functions#

int32_t
sl_status_get_string_n(sl_status_t status, char *buffer, uint32_t buffer_length)
void
sl_status_print(sl_status_t status)

Macro Definition Documentation#

SL_STATUS_SPACE_MASK#

#define SL_STATUS_SPACE_MASK
Value:
((sl_status_t)0xFF00)

sl status space mask.


SL_STATUS_GENERIC_SPACE#

#define SL_STATUS_GENERIC_SPACE
Value:
((sl_status_t)0x0000)

sl status generic space.


SL_STATUS_PLATFORM_1_SPACE#

#define SL_STATUS_PLATFORM_1_SPACE
Value:
((sl_status_t)0x0100)

sl status platform 1 space.


SL_STATUS_PLATFORM_2_SPACE#

#define SL_STATUS_PLATFORM_2_SPACE
Value:
((sl_status_t)0x0200)

sl status platform 2 space.


SL_STATUS_HARDWARE_SPACE#

#define SL_STATUS_HARDWARE_SPACE
Value:
((sl_status_t)0x0300)

sl status hardware space.


SL_STATUS_BLUETOOTH_SPACE#

#define SL_STATUS_BLUETOOTH_SPACE
Value:
((sl_status_t)0x0400)

sl status bluetooth space.


SL_STATUS_BLUETOOTH_MESH_SPACE#

#define SL_STATUS_BLUETOOTH_MESH_SPACE
Value:
((sl_status_t)0x0500)

sl status bluetooth mesh space.


SL_STATUS_CAN_CANOPEN_SPACE#

#define SL_STATUS_CAN_CANOPEN_SPACE
Value:
((sl_status_t)0x0600)

sl status can canopen space.


SL_STATUS_CONNECT_SPACE#

#define SL_STATUS_CONNECT_SPACE
Value:
((sl_status_t)0x0700)

sl status connect space.


SL_STATUS_NET_SUITE_SPACE#

#define SL_STATUS_NET_SUITE_SPACE
Value:
((sl_status_t)0x0800)

sl status net suite space.


SL_STATUS_THREAD_SPACE#

#define SL_STATUS_THREAD_SPACE
Value:
((sl_status_t)0x0900)

sl status thread space.


SL_STATUS_USB_SPACE#

#define SL_STATUS_USB_SPACE
Value:
((sl_status_t)0x0A00)

sl status usb space.


SL_STATUS_WIFI_SPACE#

#define SL_STATUS_WIFI_SPACE
Value:
((sl_status_t)0x0B00)

sl status wifi space.


SL_STATUS_ZIGBEE_SPACE#

#define SL_STATUS_ZIGBEE_SPACE
Value:
((sl_status_t)0x0C00)

sl status zigbee space.


SL_STATUS_Z_WAVE_SPACE#

#define SL_STATUS_Z_WAVE_SPACE
Value:
((sl_status_t)0x0D00)

sl status z wave space.


SL_STATUS_GECKO_OS_1_SPACE#

#define SL_STATUS_GECKO_OS_1_SPACE
Value:
((sl_status_t)0x0E00)

sl status gecko os 1 space.


SL_STATUS_GECKO_OS_2_SPACE#

#define SL_STATUS_GECKO_OS_2_SPACE
Value:
((sl_status_t)0x0F00)

sl status gecko os 2 space.


SL_STATUS_BLUETOOTH_CTRL_SPACE#

#define SL_STATUS_BLUETOOTH_CTRL_SPACE
Value:
((sl_status_t)0x1000)

sl status bluetooth ctrl space.


SL_STATUS_BLUETOOTH_ATT_SPACE#

#define SL_STATUS_BLUETOOTH_ATT_SPACE
Value:
((sl_status_t)0x1100)

sl status bluetooth att space.


SL_STATUS_BLUETOOTH_SMP_SPACE#

#define SL_STATUS_BLUETOOTH_SMP_SPACE
Value:
((sl_status_t)0x1200)

sl status bluetooth mesh foundation space.


SL_STATUS_BLUETOOTH_MESH_FOUNDATION_SPACE#

#define SL_STATUS_BLUETOOTH_MESH_FOUNDATION_SPACE
Value:
((sl_status_t)0x1300)

sl status bluetooth mesh foundation space.


SL_STATUS_WISUN_SPACE#

#define SL_STATUS_WISUN_SPACE
Value:
((sl_status_t)0x1400)

sl status wisun space.


SL_STATUS_COMPUTE_SPACE#

#define SL_STATUS_COMPUTE_SPACE
Value:
((sl_status_t)0x1500)

sl status compute space.


SL_STATUS_OK#

#define SL_STATUS_OK
Value:
((sl_status_t)0x0000)

No error.


SL_STATUS_FAIL#

#define SL_STATUS_FAIL
Value:
((sl_status_t)0x0001)

Generic error.


SL_STATUS_INVALID_STATE#

#define SL_STATUS_INVALID_STATE
Value:
((sl_status_t)0x0002)

Generic invalid state error.


SL_STATUS_NOT_READY#

#define SL_STATUS_NOT_READY
Value:
((sl_status_t)0x0003)

Module is not ready for requested operation.


SL_STATUS_BUSY#

#define SL_STATUS_BUSY
Value:
((sl_status_t)0x0004)

Module is busy and cannot carry out requested operation.


SL_STATUS_IN_PROGRESS#

#define SL_STATUS_IN_PROGRESS
Value:
((sl_status_t)0x0005)

Operation is in progress and not yet complete (pass or fail).


SL_STATUS_ABORT#

#define SL_STATUS_ABORT
Value:
((sl_status_t)0x0006)

Operation aborted.


SL_STATUS_TIMEOUT#

#define SL_STATUS_TIMEOUT
Value:
((sl_status_t)0x0007)

Operation timed out.


SL_STATUS_PERMISSION#

#define SL_STATUS_PERMISSION
Value:
((sl_status_t)0x0008)

Operation not allowed per permissions.


SL_STATUS_WOULD_BLOCK#

#define SL_STATUS_WOULD_BLOCK
Value:
((sl_status_t)0x0009)

Non-blocking operation would block.


SL_STATUS_IDLE#

#define SL_STATUS_IDLE
Value:
((sl_status_t)0x000A)

Operation/module is Idle, cannot carry requested operation.


SL_STATUS_IS_WAITING#

#define SL_STATUS_IS_WAITING
Value:
((sl_status_t)0x000B)

Operation cannot be done while construct is waiting.


SL_STATUS_NONE_WAITING#

#define SL_STATUS_NONE_WAITING
Value:
((sl_status_t)0x000C)

No task/construct waiting/pending for that action/event.


SL_STATUS_SUSPENDED#

#define SL_STATUS_SUSPENDED
Value:
((sl_status_t)0x000D)

Operation cannot be done while construct is suspended.


SL_STATUS_NOT_AVAILABLE#

#define SL_STATUS_NOT_AVAILABLE
Value:
((sl_status_t)0x000E)

Feature not available due to software configuration.


SL_STATUS_NOT_SUPPORTED#

#define SL_STATUS_NOT_SUPPORTED
Value:
((sl_status_t)0x000F)

Feature not supported.


SL_STATUS_INITIALIZATION#

#define SL_STATUS_INITIALIZATION
Value:
((sl_status_t)0x0010)

Initialization failed.


SL_STATUS_NOT_INITIALIZED#

#define SL_STATUS_NOT_INITIALIZED
Value:
((sl_status_t)0x0011)

Module has not been initialized.


SL_STATUS_ALREADY_INITIALIZED#

#define SL_STATUS_ALREADY_INITIALIZED
Value:
((sl_status_t)0x0012)

Module has already been initialized.


SL_STATUS_DELETED#

#define SL_STATUS_DELETED
Value:
((sl_status_t)0x0013)

Object/construct has been deleted.


SL_STATUS_ISR#

#define SL_STATUS_ISR
Value:
((sl_status_t)0x0014)

Illegal call from ISR.


SL_STATUS_NETWORK_UP#

#define SL_STATUS_NETWORK_UP
Value:
((sl_status_t)0x0015)

Illegal call because network is up.


SL_STATUS_NETWORK_DOWN#

#define SL_STATUS_NETWORK_DOWN
Value:
((sl_status_t)0x0016)

Illegal call because network is down.


SL_STATUS_NOT_JOINED#

#define SL_STATUS_NOT_JOINED
Value:
((sl_status_t)0x0017)

Failure due to not being joined in a network.


SL_STATUS_NO_BEACONS#

#define SL_STATUS_NO_BEACONS
Value:
((sl_status_t)0x0018)

Invalid operation as there are no beacons.


SL_STATUS_ALLOCATION_FAILED#

#define SL_STATUS_ALLOCATION_FAILED
Value:
((sl_status_t)0x0019)

Generic allocation error.


SL_STATUS_NO_MORE_RESOURCE#

#define SL_STATUS_NO_MORE_RESOURCE
Value:
((sl_status_t)0x001A)

No more resource available to perform the operation.


SL_STATUS_EMPTY#

#define SL_STATUS_EMPTY
Value:
((sl_status_t)0x001B)

Item/list/queue is empty.


SL_STATUS_FULL#

#define SL_STATUS_FULL
Value:
((sl_status_t)0x001C)

Item/list/queue is full.


SL_STATUS_WOULD_OVERFLOW#

#define SL_STATUS_WOULD_OVERFLOW
Value:
((sl_status_t)0x001D)

Item would overflow.


SL_STATUS_HAS_OVERFLOWED#

#define SL_STATUS_HAS_OVERFLOWED
Value:
((sl_status_t)0x001E)

Item/list/queue has been overflowed.


SL_STATUS_OWNERSHIP#

#define SL_STATUS_OWNERSHIP
Value:
((sl_status_t)0x001F)

Generic ownership error.


SL_STATUS_IS_OWNER#

#define SL_STATUS_IS_OWNER
Value:
((sl_status_t)0x0020)

Already/still owning resource.


SL_STATUS_INVALID_PARAMETER#

#define SL_STATUS_INVALID_PARAMETER
Value:
((sl_status_t)0x0021)

Generic invalid argument or consequence of invalid argument.


SL_STATUS_NULL_POINTER#

#define SL_STATUS_NULL_POINTER
Value:
((sl_status_t)0x0022)

Invalid null pointer received as argument.


SL_STATUS_INVALID_CONFIGURATION#

#define SL_STATUS_INVALID_CONFIGURATION
Value:
((sl_status_t)0x0023)

Invalid configuration provided.


SL_STATUS_INVALID_MODE#

#define SL_STATUS_INVALID_MODE
Value:
((sl_status_t)0x0024)

Invalid mode.


SL_STATUS_INVALID_HANDLE#

#define SL_STATUS_INVALID_HANDLE
Value:
((sl_status_t)0x0025)

Invalid handle.


SL_STATUS_INVALID_TYPE#

#define SL_STATUS_INVALID_TYPE
Value:
((sl_status_t)0x0026)

Invalid type for operation.


SL_STATUS_INVALID_INDEX#

#define SL_STATUS_INVALID_INDEX
Value:
((sl_status_t)0x0027)

Invalid index.


SL_STATUS_INVALID_RANGE#

#define SL_STATUS_INVALID_RANGE
Value:
((sl_status_t)0x0028)

Invalid range.


SL_STATUS_INVALID_KEY#

#define SL_STATUS_INVALID_KEY
Value:
((sl_status_t)0x0029)

Invalid key.


SL_STATUS_INVALID_CREDENTIALS#

#define SL_STATUS_INVALID_CREDENTIALS
Value:
((sl_status_t)0x002A)

Invalid credentials.


SL_STATUS_INVALID_COUNT#

#define SL_STATUS_INVALID_COUNT
Value:
((sl_status_t)0x002B)

Invalid count.


SL_STATUS_INVALID_SIGNATURE#

#define SL_STATUS_INVALID_SIGNATURE
Value:
((sl_status_t)0x002C)

Invalid signature / verification failed.


SL_STATUS_NOT_FOUND#

#define SL_STATUS_NOT_FOUND
Value:
((sl_status_t)0x002D)

Item could not be found.


SL_STATUS_ALREADY_EXISTS#

#define SL_STATUS_ALREADY_EXISTS
Value:
((sl_status_t)0x002E)

Item already exists.


SL_STATUS_IO#

#define SL_STATUS_IO
Value:
((sl_status_t)0x002F)

Generic I/O failure.


SL_STATUS_IO_TIMEOUT#

#define SL_STATUS_IO_TIMEOUT
Value:
((sl_status_t)0x0030)

I/O failure due to timeout.


SL_STATUS_TRANSMIT#

#define SL_STATUS_TRANSMIT
Value:
((sl_status_t)0x0031)

Generic transmission error.


SL_STATUS_TRANSMIT_UNDERFLOW#

#define SL_STATUS_TRANSMIT_UNDERFLOW
Value:
((sl_status_t)0x0032)

Transmit underflowed.


SL_STATUS_TRANSMIT_INCOMPLETE#

#define SL_STATUS_TRANSMIT_INCOMPLETE
Value:
((sl_status_t)0x0033)

Transmit is incomplete.


SL_STATUS_TRANSMIT_BUSY#

#define SL_STATUS_TRANSMIT_BUSY
Value:
((sl_status_t)0x0034)

Transmit is busy.


SL_STATUS_RECEIVE#

#define SL_STATUS_RECEIVE
Value:
((sl_status_t)0x0035)

Generic reception error.


SL_STATUS_OBJECT_READ#

#define SL_STATUS_OBJECT_READ
Value:
((sl_status_t)0x0036)

Failed to read on/via given object.


SL_STATUS_OBJECT_WRITE#

#define SL_STATUS_OBJECT_WRITE
Value:
((sl_status_t)0x0037)

Failed to write on/via given object.


SL_STATUS_MESSAGE_TOO_LONG#

#define SL_STATUS_MESSAGE_TOO_LONG
Value:
((sl_status_t)0x0038)

Message is too long.


SL_STATUS_EEPROM_MFG_VERSION_MISMATCH#

#define SL_STATUS_EEPROM_MFG_VERSION_MISMATCH
Value:
((sl_status_t)0x0039)

EEPROM MFG version mismatch.


SL_STATUS_EEPROM_STACK_VERSION_MISMATCH#

#define SL_STATUS_EEPROM_STACK_VERSION_MISMATCH
Value:
((sl_status_t)0x003A)

EEPROM Stack version mismatch.


SL_STATUS_FLASH_WRITE_INHIBITED#

#define SL_STATUS_FLASH_WRITE_INHIBITED
Value:
((sl_status_t)0x003B)

Flash write is inhibited.


SL_STATUS_FLASH_VERIFY_FAILED#

#define SL_STATUS_FLASH_VERIFY_FAILED
Value:
((sl_status_t)0x003C)

Flash verification failed.


SL_STATUS_FLASH_PROGRAM_FAILED#

#define SL_STATUS_FLASH_PROGRAM_FAILED
Value:
((sl_status_t)0x003D)

Flash programming failed.


SL_STATUS_FLASH_ERASE_FAILED#

#define SL_STATUS_FLASH_ERASE_FAILED
Value:
((sl_status_t)0x003E)

Flash erase failed.


SL_STATUS_MAC_NO_DATA#

#define SL_STATUS_MAC_NO_DATA
Value:
((sl_status_t)0x003F)

MAC no data.


SL_STATUS_MAC_NO_ACK_RECEIVED#

#define SL_STATUS_MAC_NO_ACK_RECEIVED
Value:
((sl_status_t)0x0040)

MAC no ACK received.


SL_STATUS_MAC_INDIRECT_TIMEOUT#

#define SL_STATUS_MAC_INDIRECT_TIMEOUT
Value:
((sl_status_t)0x0041)

MAC indirect timeout.


SL_STATUS_MAC_UNKNOWN_HEADER_TYPE#

#define SL_STATUS_MAC_UNKNOWN_HEADER_TYPE
Value:
((sl_status_t)0x0042)

MAC unknown header type.


SL_STATUS_MAC_ACK_HEADER_TYPE#

#define SL_STATUS_MAC_ACK_HEADER_TYPE
Value:
((sl_status_t)0x0043)

MAC ACK unknown header type.


SL_STATUS_MAC_COMMAND_TRANSMIT_FAILURE#

#define SL_STATUS_MAC_COMMAND_TRANSMIT_FAILURE
Value:
((sl_status_t)0x0044)

MAC command transmit failure.


SL_STATUS_CLI_STORAGE_NVM_OPEN_ERROR#

#define SL_STATUS_CLI_STORAGE_NVM_OPEN_ERROR
Value:
((sl_status_t)0x0045)

Error in open NVM.


SL_STATUS_SECURITY_IMAGE_CHECKSUM_ERROR#

#define SL_STATUS_SECURITY_IMAGE_CHECKSUM_ERROR
Value:
((sl_status_t)0x0046)

Image checksum is not valid.


SL_STATUS_SECURITY_DECRYPT_ERROR#

#define SL_STATUS_SECURITY_DECRYPT_ERROR
Value:
((sl_status_t)0x0047)

Decryption failed.


SL_STATUS_COMMAND_IS_INVALID#

#define SL_STATUS_COMMAND_IS_INVALID
Value:
((sl_status_t)0x0048)

Command was not recognized.


SL_STATUS_COMMAND_TOO_LONG#

#define SL_STATUS_COMMAND_TOO_LONG
Value:
((sl_status_t)0x0049)

Command or parameter maximum length exceeded.


SL_STATUS_COMMAND_INCOMPLETE#

#define SL_STATUS_COMMAND_INCOMPLETE
Value:
((sl_status_t)0x004A)

Data received does not form a complete command.


SL_STATUS_BUS_ERROR#

#define SL_STATUS_BUS_ERROR
Value:
((sl_status_t)0x004B)

Bus error, e.g. invalid DMA address.


SL_STATUS_CCA_FAILURE#

#define SL_STATUS_CCA_FAILURE
Value:
((sl_status_t)0x004C)

CCA failure.


SL_STATUS_MAC_SCANNING#

#define SL_STATUS_MAC_SCANNING
Value:
((sl_status_t)0x004D)

MAC scanning.


SL_STATUS_MAC_INCORRECT_SCAN_TYPE#

#define SL_STATUS_MAC_INCORRECT_SCAN_TYPE
Value:
((sl_status_t)0x004E)

MAC incorrect scan type.


SL_STATUS_INVALID_CHANNEL_MASK#

#define SL_STATUS_INVALID_CHANNEL_MASK
Value:
((sl_status_t)0x004F)

Invalid channel mask.


SL_STATUS_BAD_SCAN_DURATION#

#define SL_STATUS_BAD_SCAN_DURATION
Value:
((sl_status_t)0x0050)

Bad scan duration.


SL_STATUS_BT_OUT_OF_BONDS#

#define SL_STATUS_BT_OUT_OF_BONDS
Value:
((sl_status_t)0x0402)

Bonding procedure can't be started because device has no space left for bond.


SL_STATUS_BT_UNSPECIFIED#

#define SL_STATUS_BT_UNSPECIFIED
Value:
((sl_status_t)0x0403)

Unspecified error.


SL_STATUS_BT_HARDWARE#

#define SL_STATUS_BT_HARDWARE
Value:
((sl_status_t)0x0404)

Hardware failure.


SL_STATUS_BT_NO_BONDING#

#define SL_STATUS_BT_NO_BONDING
Value:
((sl_status_t)0x0406)

The bonding does not exist.


SL_STATUS_BT_CRYPTO#

#define SL_STATUS_BT_CRYPTO
Value:
((sl_status_t)0x0407)

Error using crypto functions.


SL_STATUS_BT_DATA_CORRUPTED#

#define SL_STATUS_BT_DATA_CORRUPTED
Value:
((sl_status_t)0x0408)

Data was corrupted.


SL_STATUS_BT_INVALID_SYNC_HANDLE#

#define SL_STATUS_BT_INVALID_SYNC_HANDLE
Value:
((sl_status_t)0x040A)

Invalid periodic advertising sync handle.


SL_STATUS_BT_INVALID_MODULE_ACTION#

#define SL_STATUS_BT_INVALID_MODULE_ACTION
Value:
((sl_status_t)0x040B)

Bluetooth cannot be used on this hardware.


SL_STATUS_BT_RADIO#

#define SL_STATUS_BT_RADIO
Value:
((sl_status_t)0x040C)

Error received from radio.


SL_STATUS_BT_L2CAP_REMOTE_DISCONNECTED#

#define SL_STATUS_BT_L2CAP_REMOTE_DISCONNECTED
Value:
((sl_status_t)0x040D)

Returned when remote disconnects the connection-oriented channel by sending disconnection request.


SL_STATUS_BT_L2CAP_LOCAL_DISCONNECTED#

#define SL_STATUS_BT_L2CAP_LOCAL_DISCONNECTED
Value:
((sl_status_t)0x040E)

Returned when local host disconnect the connection-oriented channel by sending disconnection request.


SL_STATUS_BT_L2CAP_CID_NOT_EXIST#

#define SL_STATUS_BT_L2CAP_CID_NOT_EXIST
Value:
((sl_status_t)0x040F)

Returned when local host did not find a connection-oriented channel with given destination CID.


SL_STATUS_BT_L2CAP_LE_DISCONNECTED#

#define SL_STATUS_BT_L2CAP_LE_DISCONNECTED
Value:
((sl_status_t)0x0410)

Returned when connection-oriented channel disconnected due to LE connection is dropped.


SL_STATUS_BT_L2CAP_FLOW_CONTROL_VIOLATED#

#define SL_STATUS_BT_L2CAP_FLOW_CONTROL_VIOLATED
Value:
((sl_status_t)0x0412)

Returned when connection-oriented channel disconnected due to remote end send data even without credit.


SL_STATUS_BT_L2CAP_FLOW_CONTROL_CREDIT_OVERFLOWED#

#define SL_STATUS_BT_L2CAP_FLOW_CONTROL_CREDIT_OVERFLOWED
Value:
((sl_status_t)0x0413)

Returned when connection-oriented channel disconnected due to remote end send flow control credits exceed 65535.


SL_STATUS_BT_L2CAP_NO_FLOW_CONTROL_CREDIT#

#define SL_STATUS_BT_L2CAP_NO_FLOW_CONTROL_CREDIT
Value:
((sl_status_t)0x0414)

Returned when connection-oriented channel has run out of flow control credit and local application still trying to send data.


SL_STATUS_BT_L2CAP_CONNECTION_REQUEST_TIMEOUT#

#define SL_STATUS_BT_L2CAP_CONNECTION_REQUEST_TIMEOUT
Value:
((sl_status_t)0x0415)

Returned when connection-oriented channel has not received connection response message within maximum timeout.


SL_STATUS_BT_L2CAP_INVALID_CID#

#define SL_STATUS_BT_L2CAP_INVALID_CID
Value:
((sl_status_t)0x0416)

Returned when local host received a connection-oriented channel connection response with an invalid destination CID.


SL_STATUS_BT_L2CAP_WRONG_STATE#

#define SL_STATUS_BT_L2CAP_WRONG_STATE
Value:
((sl_status_t)0x0417)

Returned when local host application tries to send a command which is not suitable for L2CAP channel's current state.


SL_STATUS_BT_PS_STORE_FULL#

#define SL_STATUS_BT_PS_STORE_FULL
Value:
((sl_status_t)0x041B)

Flash reserved for PS store is full.


SL_STATUS_BT_PS_KEY_NOT_FOUND#

#define SL_STATUS_BT_PS_KEY_NOT_FOUND
Value:
((sl_status_t)0x041C)

PS key not found.


SL_STATUS_BT_APPLICATION_MISMATCHED_OR_INSUFFICIENT_SECURITY#

#define SL_STATUS_BT_APPLICATION_MISMATCHED_OR_INSUFFICIENT_SECURITY
Value:
((sl_status_t)0x041D)

Mismatched or insufficient security level.


SL_STATUS_BT_APPLICATION_ENCRYPTION_DECRYPTION_ERROR#

#define SL_STATUS_BT_APPLICATION_ENCRYPTION_DECRYPTION_ERROR
Value:
((sl_status_t)0x041E)

Encryption/decryption operation failed.


SL_STATUS_BT_CTRL_UNKNOWN_CONNECTION_IDENTIFIER#

#define SL_STATUS_BT_CTRL_UNKNOWN_CONNECTION_IDENTIFIER
Value:
((sl_status_t)0x1002)

Connection does not exist, or connection open request was cancelled.


SL_STATUS_BT_CTRL_AUTHENTICATION_FAILURE#

#define SL_STATUS_BT_CTRL_AUTHENTICATION_FAILURE
Value:
((sl_status_t)0x1005)

Pairing or authentication failed due to incorrect results in the pairing or authentication procedure. This could be due to an incorrect PIN or Link Key.


SL_STATUS_BT_CTRL_PIN_OR_KEY_MISSING#

#define SL_STATUS_BT_CTRL_PIN_OR_KEY_MISSING
Value:
((sl_status_t)0x1006)

Pairing failed because of missing PIN, or authentication failed because of missing Key.


SL_STATUS_BT_CTRL_MEMORY_CAPACITY_EXCEEDED#

#define SL_STATUS_BT_CTRL_MEMORY_CAPACITY_EXCEEDED
Value:
((sl_status_t)0x1007)

Controller is out of memory.


SL_STATUS_BT_CTRL_CONNECTION_TIMEOUT#

#define SL_STATUS_BT_CTRL_CONNECTION_TIMEOUT
Value:
((sl_status_t)0x1008)

Link supervision timeout has expired.


SL_STATUS_BT_CTRL_CONNECTION_LIMIT_EXCEEDED#

#define SL_STATUS_BT_CTRL_CONNECTION_LIMIT_EXCEEDED
Value:
((sl_status_t)0x1009)

Controller is at limit of connections it can support.


SL_STATUS_BT_CTRL_SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED#

#define SL_STATUS_BT_CTRL_SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED
Value:
((sl_status_t)0x100A)

The Synchronous Connection Limit to a Device Exceeded error code indicates that the Controller has reached the limit to the number of synchronous connections that can be achieved to a device.


SL_STATUS_BT_CTRL_ACL_CONNECTION_ALREADY_EXISTS#

#define SL_STATUS_BT_CTRL_ACL_CONNECTION_ALREADY_EXISTS
Value:
((sl_status_t)0x100B)

The ACL Connection Already Exists error code indicates that an attempt to create a new ACL Connection to a device when there is already a connection to this device.


SL_STATUS_BT_CTRL_COMMAND_DISALLOWED#

#define SL_STATUS_BT_CTRL_COMMAND_DISALLOWED
Value:
((sl_status_t)0x100C)

Command requested cannot be executed because the Controller is in a state where it cannot process this command at this time.


SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES#

#define SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES
Value:
((sl_status_t)0x100D)

The Connection Rejected Due To Limited Resources error code indicates that an incoming connection was rejected due to limited resources.


SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS#

#define SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS
Value:
((sl_status_t)0x100E)

The Connection Rejected Due To Security Reasons error code indicates that a connection was rejected due to security requirements not being fulfilled, like authentication or pairing.


SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR#

#define SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR
Value:
((sl_status_t)0x100F)

The Connection was rejected because this device does not accept the BD_ADDR. This may be because the device will only accept connections from specific BD_ADDRs.


SL_STATUS_BT_CTRL_CONNECTION_ACCEPT_TIMEOUT_EXCEEDED#

#define SL_STATUS_BT_CTRL_CONNECTION_ACCEPT_TIMEOUT_EXCEEDED
Value:
((sl_status_t)0x1010)

The Connection Accept Timeout has been exceeded for this connection attempt.


SL_STATUS_BT_CTRL_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE#

#define SL_STATUS_BT_CTRL_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
Value:
((sl_status_t)0x1011)

A feature or parameter value in the HCI command is not supported.


SL_STATUS_BT_CTRL_INVALID_COMMAND_PARAMETERS#

#define SL_STATUS_BT_CTRL_INVALID_COMMAND_PARAMETERS
Value:
((sl_status_t)0x1012)

Command contained invalid parameters.


SL_STATUS_BT_CTRL_REMOTE_USER_TERMINATED#

#define SL_STATUS_BT_CTRL_REMOTE_USER_TERMINATED
Value:
((sl_status_t)0x1013)

User on the remote device terminated the connection.


SL_STATUS_BT_CTRL_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES#

#define SL_STATUS_BT_CTRL_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES
Value:
((sl_status_t)0x1014)

The remote device terminated the connection because of low resources.


SL_STATUS_BT_CTRL_REMOTE_POWERING_OFF#

#define SL_STATUS_BT_CTRL_REMOTE_POWERING_OFF
Value:
((sl_status_t)0x1015)

Remote Device Terminated Connection due to Power Off.


SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_BY_LOCAL_HOST#

#define SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_BY_LOCAL_HOST
Value:
((sl_status_t)0x1016)

Local device terminated the connection.


SL_STATUS_BT_CTRL_REPEATED_ATTEMPTS#

#define SL_STATUS_BT_CTRL_REPEATED_ATTEMPTS
Value:
((sl_status_t)0x1017)

The Controller is disallowing an authentication or pairing procedure because too little time has elapsed since the last authentication or pairing attempt failed.


SL_STATUS_BT_CTRL_PAIRING_NOT_ALLOWED#

#define SL_STATUS_BT_CTRL_PAIRING_NOT_ALLOWED
Value:
((sl_status_t)0x1018)

The device does not allow pairing. This can be for example, when a device only allows pairing during a certain time window after some user input allows pairing.


SL_STATUS_BT_CTRL_UNSUPPORTED_REMOTE_FEATURE#

#define SL_STATUS_BT_CTRL_UNSUPPORTED_REMOTE_FEATURE
Value:
((sl_status_t)0x101A)

The remote device does not support the feature associated with the issued command.


SL_STATUS_BT_CTRL_UNSPECIFIED_ERROR#

#define SL_STATUS_BT_CTRL_UNSPECIFIED_ERROR
Value:
((sl_status_t)0x101F)

No other error code specified is appropriate to use.


SL_STATUS_BT_CTRL_LL_RESPONSE_TIMEOUT#

#define SL_STATUS_BT_CTRL_LL_RESPONSE_TIMEOUT
Value:
((sl_status_t)0x1022)

Connection terminated due to link-layer procedure timeout.


SL_STATUS_BT_CTRL_LL_PROCEDURE_COLLISION#

#define SL_STATUS_BT_CTRL_LL_PROCEDURE_COLLISION
Value:
((sl_status_t)0x1023)

LL procedure has collided with the same transaction or procedure that is already in progress.


SL_STATUS_BT_CTRL_ENCRYPTION_MODE_NOT_ACCEPTABLE#

#define SL_STATUS_BT_CTRL_ENCRYPTION_MODE_NOT_ACCEPTABLE
Value:
((sl_status_t)0x1025)

The requested encryption mode is not acceptable at this time.


SL_STATUS_BT_CTRL_LINK_KEY_CANNOT_BE_CHANGED#

#define SL_STATUS_BT_CTRL_LINK_KEY_CANNOT_BE_CHANGED
Value:
((sl_status_t)0x1026)

Link key cannot be changed because a fixed unit key is being used.


SL_STATUS_BT_CTRL_INSTANT_PASSED#

#define SL_STATUS_BT_CTRL_INSTANT_PASSED
Value:
((sl_status_t)0x1028)

LMP PDU or LL PDU that includes an instant cannot be performed because the instant when this would have occurred has passed.


SL_STATUS_BT_CTRL_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED#

#define SL_STATUS_BT_CTRL_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
Value:
((sl_status_t)0x1029)

It was not possible to pair as a unit key was requested and it is not supported.


SL_STATUS_BT_CTRL_DIFFERENT_TRANSACTION_COLLISION#

#define SL_STATUS_BT_CTRL_DIFFERENT_TRANSACTION_COLLISION
Value:
((sl_status_t)0x102A)

LMP transaction was started that collides with an ongoing transaction.


SL_STATUS_BT_CTRL_CHANNEL_ASSESSMENT_NOT_SUPPORTED#

#define SL_STATUS_BT_CTRL_CHANNEL_ASSESSMENT_NOT_SUPPORTED
Value:
((sl_status_t)0x102E)

The Controller cannot perform channel assessment because it is not supported.


SL_STATUS_BT_CTRL_INSUFFICIENT_SECURITY#

#define SL_STATUS_BT_CTRL_INSUFFICIENT_SECURITY
Value:
((sl_status_t)0x102F)

The HCI command or LMP PDU sent is only possible on an encrypted link.


SL_STATUS_BT_CTRL_PARAMETER_OUT_OF_MANDATORY_RANGE#

#define SL_STATUS_BT_CTRL_PARAMETER_OUT_OF_MANDATORY_RANGE
Value:
((sl_status_t)0x1030)

A parameter value requested is outside the mandatory range of parameters for the given HCI command or LMP PDU.


SL_STATUS_BT_CTRL_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST#

#define SL_STATUS_BT_CTRL_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
Value:
((sl_status_t)0x1037)

The IO capabilities request or response was rejected because the sending Host does not support Secure Simple Pairing even though the receiving Link Manager does.


SL_STATUS_BT_CTRL_HOST_BUSY_PAIRING#

#define SL_STATUS_BT_CTRL_HOST_BUSY_PAIRING
Value:
((sl_status_t)0x1038)

The Host is busy with another pairing operation and unable to support the requested pairing. The receiving device should retry pairing again later.


SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND#

#define SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND
Value:
((sl_status_t)0x1039)

The Controller could not calculate an appropriate value for the Channel selection operation.


SL_STATUS_BT_CTRL_CONTROLLER_BUSY#

#define SL_STATUS_BT_CTRL_CONTROLLER_BUSY
Value:
((sl_status_t)0x103A)

Operation was rejected because the controller is busy and unable to process the request.


SL_STATUS_BT_CTRL_UNACCEPTABLE_CONNECTION_INTERVAL#

#define SL_STATUS_BT_CTRL_UNACCEPTABLE_CONNECTION_INTERVAL
Value:
((sl_status_t)0x103B)

Remote device terminated the connection because of an unacceptable connection interval.


SL_STATUS_BT_CTRL_ADVERTISING_TIMEOUT#

#define SL_STATUS_BT_CTRL_ADVERTISING_TIMEOUT
Value:
((sl_status_t)0x103C)

Advertising for a fixed duration completed or, for directed advertising, that advertising completed without a connection being created.


SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE#

#define SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE
Value:
((sl_status_t)0x103D)

Connection was terminated because the Message Integrity Check (MIC) failed on a received packet.


SL_STATUS_BT_CTRL_CONNECTION_FAILED_TO_BE_ESTABLISHED#

#define SL_STATUS_BT_CTRL_CONNECTION_FAILED_TO_BE_ESTABLISHED
Value:
((sl_status_t)0x103E)

LL initiated a connection but the connection has failed to be established. Controller did not receive any packets from remote end.


SL_STATUS_BT_CTRL_MAC_CONNECTION_FAILED#

#define SL_STATUS_BT_CTRL_MAC_CONNECTION_FAILED
Value:
((sl_status_t)0x103F)

The MAC of the 802.11 AMP was requested to connect to a peer, but the connection failed.


SL_STATUS_BT_CTRL_COARSE_CLOCK_ADJUSTMENT_REJECTED_BUT_WILL_TRY_TO_ADJUST_USING_CLOCK_DRAGGING#

#define SL_STATUS_BT_CTRL_COARSE_CLOCK_ADJUSTMENT_REJECTED_BUT_WILL_TRY_TO_ADJUST_USING_CLOCK_DRAGGING
Value:
((sl_status_t)0x1040)

The master, at this time, is unable to make a coarse adjustment to the piconet clock, using the supplied parameters. Instead the master will attempt to move the clock using clock dragging.


SL_STATUS_BT_CTRL_UNKNOWN_ADVERTISING_IDENTIFIER#

#define SL_STATUS_BT_CTRL_UNKNOWN_ADVERTISING_IDENTIFIER
Value:
((sl_status_t)0x1042)

A command was sent from the Host that should identify an Advertising or Sync handle, but the Advertising or Sync handle does not exist.


SL_STATUS_BT_CTRL_LIMIT_REACHED#

#define SL_STATUS_BT_CTRL_LIMIT_REACHED
Value:
((sl_status_t)0x1043)

Number of operations requested has been reached and has indicated the completion of the activity (e.g., advertising or scanning).


SL_STATUS_BT_CTRL_OPERATION_CANCELLED_BY_HOST#

#define SL_STATUS_BT_CTRL_OPERATION_CANCELLED_BY_HOST
Value:
((sl_status_t)0x1044)

A request to the Controller issued by the Host and still pending was successfully canceled.


SL_STATUS_BT_CTRL_PACKET_TOO_LONG#

#define SL_STATUS_BT_CTRL_PACKET_TOO_LONG
Value:
((sl_status_t)0x1045)

An attempt was made to send or receive a packet that exceeds the maximum allowed packet l.


SL_STATUS_BT_ATT_INVALID_HANDLE#

#define SL_STATUS_BT_ATT_INVALID_HANDLE
Value:
((sl_status_t)0x1101)

The attribute handle given was not valid on this server.


SL_STATUS_BT_ATT_READ_NOT_PERMITTED#

#define SL_STATUS_BT_ATT_READ_NOT_PERMITTED
Value:
((sl_status_t)0x1102)

The attribute cannot be read.


SL_STATUS_BT_ATT_WRITE_NOT_PERMITTED#

#define SL_STATUS_BT_ATT_WRITE_NOT_PERMITTED
Value:
((sl_status_t)0x1103)

The attribute cannot be written.


SL_STATUS_BT_ATT_INVALID_PDU#

#define SL_STATUS_BT_ATT_INVALID_PDU
Value:
((sl_status_t)0x1104)

The attribute PDU was invalid.


SL_STATUS_BT_ATT_INSUFFICIENT_AUTHENTICATION#

#define SL_STATUS_BT_ATT_INSUFFICIENT_AUTHENTICATION
Value:
((sl_status_t)0x1105)

The attribute requires authentication before it can be read or written.


SL_STATUS_BT_ATT_REQUEST_NOT_SUPPORTED#

#define SL_STATUS_BT_ATT_REQUEST_NOT_SUPPORTED
Value:
((sl_status_t)0x1106)

Attribute Server does not support the request received from the client.


SL_STATUS_BT_ATT_INVALID_OFFSET#

#define SL_STATUS_BT_ATT_INVALID_OFFSET
Value:
((sl_status_t)0x1107)

Offset specified was past the end of the attribute.


SL_STATUS_BT_ATT_INSUFFICIENT_AUTHORIZATION#

#define SL_STATUS_BT_ATT_INSUFFICIENT_AUTHORIZATION
Value:
((sl_status_t)0x1108)

The attribute requires authorization before it can be read or written.


SL_STATUS_BT_ATT_PREPARE_QUEUE_FULL#

#define SL_STATUS_BT_ATT_PREPARE_QUEUE_FULL
Value:
((sl_status_t)0x1109)

Too many prepare writes have been queued.


SL_STATUS_BT_ATT_ATT_NOT_FOUND#

#define SL_STATUS_BT_ATT_ATT_NOT_FOUND
Value:
((sl_status_t)0x110A)

No attribute found within the given attribute handle range.


SL_STATUS_BT_ATT_ATT_NOT_LONG#

#define SL_STATUS_BT_ATT_ATT_NOT_LONG
Value:
((sl_status_t)0x110B)

The attribute cannot be read or written using the Read Blob Request.


SL_STATUS_BT_ATT_INSUFFICIENT_ENC_KEY_SIZE#

#define SL_STATUS_BT_ATT_INSUFFICIENT_ENC_KEY_SIZE
Value:
((sl_status_t)0x110C)

The Encryption Key Size used for encrypting this link is insufficient.


SL_STATUS_BT_ATT_INVALID_ATT_LENGTH#

#define SL_STATUS_BT_ATT_INVALID_ATT_LENGTH
Value:
((sl_status_t)0x110D)

The attribute value length is invalid for the operation.


SL_STATUS_BT_ATT_UNLIKELY_ERROR#

#define SL_STATUS_BT_ATT_UNLIKELY_ERROR
Value:
((sl_status_t)0x110E)

The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested.


SL_STATUS_BT_ATT_INSUFFICIENT_ENCRYPTION#

#define SL_STATUS_BT_ATT_INSUFFICIENT_ENCRYPTION
Value:
((sl_status_t)0x110F)

The attribute requires encryption before it can be read or written.


SL_STATUS_BT_ATT_UNSUPPORTED_GROUP_TYPE#

#define SL_STATUS_BT_ATT_UNSUPPORTED_GROUP_TYPE
Value:
((sl_status_t)0x1110)

The attribute type is not a supported grouping attribute as defined by a higher layer specification.


SL_STATUS_BT_ATT_INSUFFICIENT_RESOURCES#

#define SL_STATUS_BT_ATT_INSUFFICIENT_RESOURCES
Value:
((sl_status_t)0x1111)

Insufficient Resources to complete the request.


SL_STATUS_BT_ATT_OUT_OF_SYNC#

#define SL_STATUS_BT_ATT_OUT_OF_SYNC
Value:
((sl_status_t)0x1112)

The server requests the client to rediscover the database.


SL_STATUS_BT_ATT_VALUE_NOT_ALLOWED#

#define SL_STATUS_BT_ATT_VALUE_NOT_ALLOWED
Value:
((sl_status_t)0x1113)

The attribute parameter value was not allowed.


SL_STATUS_BT_ATT_APPLICATION#

#define SL_STATUS_BT_ATT_APPLICATION
Value:
((sl_status_t)0x1180)

When this is returned in a BGAPI response, the application tried to read or write the value of a user attribute from the GATT database.


SL_STATUS_BT_ATT_WRITE_REQUEST_REJECTED#

#define SL_STATUS_BT_ATT_WRITE_REQUEST_REJECTED
Value:
((sl_status_t)0x11FC)

The requested write operation cannot be fulfilled for reasons other than permissions.


SL_STATUS_BT_ATT_CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_IMPROPERLY_CONFIGURED#

#define SL_STATUS_BT_ATT_CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_IMPROPERLY_CONFIGURED
Value:
((sl_status_t)0x11FD)

The Client Characteristic Configuration descriptor is not configured according to the requirements of the profile or service.


SL_STATUS_BT_ATT_PROCEDURE_ALREADY_IN_PROGRESS#

#define SL_STATUS_BT_ATT_PROCEDURE_ALREADY_IN_PROGRESS
Value:
((sl_status_t)0x11FE)

The profile or service request cannot be serviced because an operation that has been previously triggered is still in progress.


SL_STATUS_BT_ATT_OUT_OF_RANGE#

#define SL_STATUS_BT_ATT_OUT_OF_RANGE
Value:
((sl_status_t)0x11FF)

The attribute value is out of range as defined by a profile or service specification.


SL_STATUS_BT_SMP_PASSKEY_ENTRY_FAILED#

#define SL_STATUS_BT_SMP_PASSKEY_ENTRY_FAILED
Value:
((sl_status_t)0x1201)

The user input of passkey failed, for example, the user cancelled the operation.


SL_STATUS_BT_SMP_OOB_NOT_AVAILABLE#

#define SL_STATUS_BT_SMP_OOB_NOT_AVAILABLE
Value:
((sl_status_t)0x1202)

Out of Band data is not available for authentication.


SL_STATUS_BT_SMP_AUTHENTICATION_REQUIREMENTS#

#define SL_STATUS_BT_SMP_AUTHENTICATION_REQUIREMENTS
Value:
((sl_status_t)0x1203)

The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices.


SL_STATUS_BT_SMP_CONFIRM_VALUE_FAILED#

#define SL_STATUS_BT_SMP_CONFIRM_VALUE_FAILED
Value:
((sl_status_t)0x1204)

The confirm value does not match the calculated compare value.


SL_STATUS_BT_SMP_PAIRING_NOT_SUPPORTED#

#define SL_STATUS_BT_SMP_PAIRING_NOT_SUPPORTED
Value:
((sl_status_t)0x1205)

Pairing is not supported by the device.


SL_STATUS_BT_SMP_ENCRYPTION_KEY_SIZE#

#define SL_STATUS_BT_SMP_ENCRYPTION_KEY_SIZE
Value:
((sl_status_t)0x1206)

The resultant encryption key size is insufficient for the security requirements of this device.


SL_STATUS_BT_SMP_COMMAND_NOT_SUPPORTED#

#define SL_STATUS_BT_SMP_COMMAND_NOT_SUPPORTED
Value:
((sl_status_t)0x1207)

The SMP command received is not supported on this device.


SL_STATUS_BT_SMP_UNSPECIFIED_REASON#

#define SL_STATUS_BT_SMP_UNSPECIFIED_REASON
Value:
((sl_status_t)0x1208)

Pairing failed due to an unspecified reason.


SL_STATUS_BT_SMP_REPEATED_ATTEMPTS#

#define SL_STATUS_BT_SMP_REPEATED_ATTEMPTS
Value:
((sl_status_t)0x1209)

Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request.


SL_STATUS_BT_SMP_INVALID_PARAMETERS#

#define SL_STATUS_BT_SMP_INVALID_PARAMETERS
Value:
((sl_status_t)0x120A)

The Invalid Parameters error code indicates: the command length is invalid or a parameter is outside of the specified range.


SL_STATUS_BT_SMP_DHKEY_CHECK_FAILED#

#define SL_STATUS_BT_SMP_DHKEY_CHECK_FAILED
Value:
((sl_status_t)0x120B)

Indicates to the remote device that the DHKey Check value received doesn't match the one calculated by the local device.


SL_STATUS_BT_SMP_NUMERIC_COMPARISON_FAILED#

#define SL_STATUS_BT_SMP_NUMERIC_COMPARISON_FAILED
Value:
((sl_status_t)0x120C)

Indicates that the confirm values in the numeric comparison protocol do not match.


SL_STATUS_BT_SMP_BREDR_PAIRING_IN_PROGRESS#

#define SL_STATUS_BT_SMP_BREDR_PAIRING_IN_PROGRESS
Value:
((sl_status_t)0x120D)

Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process.


SL_STATUS_BT_SMP_CROSS_TRANSPORT_KEY_DERIVATION_GENERATION_NOT_ALLOWED#

#define SL_STATUS_BT_SMP_CROSS_TRANSPORT_KEY_DERIVATION_GENERATION_NOT_ALLOWED
Value:
((sl_status_t)0x120E)

Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport.


SL_STATUS_BT_SMP_KEY_REJECTED#

#define SL_STATUS_BT_SMP_KEY_REJECTED
Value:
((sl_status_t)0x120F)

Indicates that the device chose not to accept a distributed key.


SL_STATUS_BT_MESH_ALREADY_EXISTS#

#define SL_STATUS_BT_MESH_ALREADY_EXISTS
Value:
((sl_status_t)0x0501)

Returned when trying to add a key or some other unique resource with an ID which already exists.


SL_STATUS_BT_MESH_DOES_NOT_EXIST#

#define SL_STATUS_BT_MESH_DOES_NOT_EXIST
Value:
((sl_status_t)0x0502)

Returned when trying to manipulate a key or some other resource with an ID which does not exist.


SL_STATUS_BT_MESH_LIMIT_REACHED#

#define SL_STATUS_BT_MESH_LIMIT_REACHED
Value:
((sl_status_t)0x0503)

Returned when an operation cannot be executed because a pre-configured limit for keys, key bindings, elements, models, virtual addresses, provisioned devices, or provisioning sessions is reached.


SL_STATUS_BT_MESH_INVALID_ADDRESS#

#define SL_STATUS_BT_MESH_INVALID_ADDRESS
Value:
((sl_status_t)0x0504)

Returned when trying to use a reserved address or add a "pre-provisioned" device using an address already used by some other device.


SL_STATUS_BT_MESH_MALFORMED_DATA#

#define SL_STATUS_BT_MESH_MALFORMED_DATA
Value:
((sl_status_t)0x0505)

In a BGAPI response, the user supplied malformed data; in a BGAPI event, the remote end responded with malformed or unrecognized data.


SL_STATUS_BT_MESH_ALREADY_INITIALIZED#

#define SL_STATUS_BT_MESH_ALREADY_INITIALIZED
Value:
((sl_status_t)0x0506)

An attempt was made to initialize a subsystem that was already initialized.


SL_STATUS_BT_MESH_NOT_INITIALIZED#

#define SL_STATUS_BT_MESH_NOT_INITIALIZED
Value:
((sl_status_t)0x0507)

An attempt was made to use a subsystem that wasn't initialized yet. Call the subsystem's init function first.


SL_STATUS_BT_MESH_NO_FRIEND_OFFER#

#define SL_STATUS_BT_MESH_NO_FRIEND_OFFER
Value:
((sl_status_t)0x0508)

Returned when trying to establish a friendship as a Low Power Node, but no acceptable friend offer message was received.


SL_STATUS_BT_MESH_PROV_LINK_CLOSED#

#define SL_STATUS_BT_MESH_PROV_LINK_CLOSED
Value:
((sl_status_t)0x0509)

Provisioning link was unexpectedly closed before provisioning was complete.


SL_STATUS_BT_MESH_PROV_INVALID_PDU#

#define SL_STATUS_BT_MESH_PROV_INVALID_PDU
Value:
((sl_status_t)0x050A)

An unrecognized provisioning PDU was received.


SL_STATUS_BT_MESH_PROV_INVALID_PDU_FORMAT#

#define SL_STATUS_BT_MESH_PROV_INVALID_PDU_FORMAT
Value:
((sl_status_t)0x050B)

A provisioning PDU with wrong length or containing field values that are out of bounds was received.


SL_STATUS_BT_MESH_PROV_UNEXPECTED_PDU#

#define SL_STATUS_BT_MESH_PROV_UNEXPECTED_PDU
Value:
((sl_status_t)0x050C)

An unexpected (out of sequence) provisioning PDU was received.


SL_STATUS_BT_MESH_PROV_CONFIRMATION_FAILED#

#define SL_STATUS_BT_MESH_PROV_CONFIRMATION_FAILED
Value:
((sl_status_t)0x050D)

The computed confirmation value did not match the expected value.


SL_STATUS_BT_MESH_PROV_OUT_OF_RESOURCES#

#define SL_STATUS_BT_MESH_PROV_OUT_OF_RESOURCES
Value:
((sl_status_t)0x050E)

Provisioning could not be continued due to insufficient resources.


SL_STATUS_BT_MESH_PROV_DECRYPTION_FAILED#

#define SL_STATUS_BT_MESH_PROV_DECRYPTION_FAILED
Value:
((sl_status_t)0x050F)

The provisioning data block could not be decrypted.


SL_STATUS_BT_MESH_PROV_UNEXPECTED_ERROR#

#define SL_STATUS_BT_MESH_PROV_UNEXPECTED_ERROR
Value:
((sl_status_t)0x0510)

An unexpected error happened during provisioning.


SL_STATUS_BT_MESH_PROV_CANNOT_ASSIGN_ADDR#

#define SL_STATUS_BT_MESH_PROV_CANNOT_ASSIGN_ADDR
Value:
((sl_status_t)0x0511)

Device could not assign unicast addresses to all of its elements.


SL_STATUS_BT_MESH_ADDRESS_TEMPORARILY_UNAVAILABLE#

#define SL_STATUS_BT_MESH_ADDRESS_TEMPORARILY_UNAVAILABLE
Value:
((sl_status_t)0x0512)

Returned when trying to reuse an address of a previously deleted device before an IV Index Update has been executed.


SL_STATUS_BT_MESH_ADDRESS_ALREADY_USED#

#define SL_STATUS_BT_MESH_ADDRESS_ALREADY_USED
Value:
((sl_status_t)0x0513)

Returned when trying to assign an address that is used by one of the devices in the Device Database, or by the Provisioner itself.


SL_STATUS_BT_MESH_PUBLISH_NOT_CONFIGURED#

#define SL_STATUS_BT_MESH_PUBLISH_NOT_CONFIGURED
Value:
((sl_status_t)0x0514)

Application key or publish address are not set.


SL_STATUS_BT_MESH_APP_KEY_NOT_BOUND#

#define SL_STATUS_BT_MESH_APP_KEY_NOT_BOUND
Value:
((sl_status_t)0x0515)

Application key is not bound to a model.


SL_STATUS_BT_MESH_FOUNDATION_INVALID_ADDRESS#

#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_ADDRESS
Value:
((sl_status_t)0x1301)

Returned when address in request was not valid.


SL_STATUS_BT_MESH_FOUNDATION_INVALID_MODEL#

#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_MODEL
Value:
((sl_status_t)0x1302)

Returned when model identified is not found for a given element.


SL_STATUS_BT_MESH_FOUNDATION_INVALID_APP_KEY#

#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_APP_KEY
Value:
((sl_status_t)0x1303)

Returned when the key identified by AppKeyIndex is not stored in the node.


SL_STATUS_BT_MESH_FOUNDATION_INVALID_NET_KEY#

#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_NET_KEY
Value:
((sl_status_t)0x1304)

Returned when the key identified by NetKeyIndex is not stored in the node.


SL_STATUS_BT_MESH_FOUNDATION_INSUFFICIENT_RESOURCES#

#define SL_STATUS_BT_MESH_FOUNDATION_INSUFFICIENT_RESOURCES
Value:
((sl_status_t)0x1305)

Returned when The node cannot serve the request due to insufficient resources.


SL_STATUS_BT_MESH_FOUNDATION_KEY_INDEX_EXISTS#

#define SL_STATUS_BT_MESH_FOUNDATION_KEY_INDEX_EXISTS
Value:
((sl_status_t)0x1306)

Returned when the key identified is already stored in the node and the new NetKey value is different.


SL_STATUS_BT_MESH_FOUNDATION_INVALID_PUBLISH_PARAMS#

#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_PUBLISH_PARAMS
Value:
((sl_status_t)0x1307)

Returned when the model does not support the publish mechanism.


SL_STATUS_BT_MESH_FOUNDATION_NOT_SUBSCRIBE_MODEL#

#define SL_STATUS_BT_MESH_FOUNDATION_NOT_SUBSCRIBE_MODEL
Value:
((sl_status_t)0x1308)

Returned when the model does not support the subscribe mechanism.


SL_STATUS_BT_MESH_FOUNDATION_STORAGE_FAILURE#

#define SL_STATUS_BT_MESH_FOUNDATION_STORAGE_FAILURE
Value:
((sl_status_t)0x1309)

Returned when storing of the requested parameters failed.


SL_STATUS_BT_MESH_FOUNDATION_NOT_SUPPORTED#

#define SL_STATUS_BT_MESH_FOUNDATION_NOT_SUPPORTED
Value:
((sl_status_t)0x130A)

Returned when requested setting is not supported.


SL_STATUS_BT_MESH_FOUNDATION_CANNOT_UPDATE#

#define SL_STATUS_BT_MESH_FOUNDATION_CANNOT_UPDATE
Value:
((sl_status_t)0x130B)

Returned when the requested update operation cannot be performed due to general constraints.


SL_STATUS_BT_MESH_FOUNDATION_CANNOT_REMOVE#

#define SL_STATUS_BT_MESH_FOUNDATION_CANNOT_REMOVE
Value:
((sl_status_t)0x130C)

Returned when the requested delete operation cannot be performed due to general constraints.


SL_STATUS_BT_MESH_FOUNDATION_CANNOT_BIND#

#define SL_STATUS_BT_MESH_FOUNDATION_CANNOT_BIND
Value:
((sl_status_t)0x130D)

Returned when the requested bind operation cannot be performed due to general constraints.


SL_STATUS_BT_MESH_FOUNDATION_TEMPORARILY_UNABLE#

#define SL_STATUS_BT_MESH_FOUNDATION_TEMPORARILY_UNABLE
Value:
((sl_status_t)0x130E)

Returned when The node cannot start advertising with Node Identity or Proxy since the maximum number of parallel advertising is reached.


SL_STATUS_BT_MESH_FOUNDATION_CANNOT_SET#

#define SL_STATUS_BT_MESH_FOUNDATION_CANNOT_SET
Value:
((sl_status_t)0x130F)

Returned when the requested state cannot be set.


SL_STATUS_BT_MESH_FOUNDATION_UNSPECIFIED#

#define SL_STATUS_BT_MESH_FOUNDATION_UNSPECIFIED
Value:
((sl_status_t)0x1310)

Returned when an unspecified error took place.


SL_STATUS_BT_MESH_FOUNDATION_INVALID_BINDING#

#define SL_STATUS_BT_MESH_FOUNDATION_INVALID_BINDING
Value:
((sl_status_t)0x1311)

Returned when the NetKeyIndex and AppKeyIndex combination is not valid for a Config AppKey Update.


SL_STATUS_WIFI_INVALID_KEY#

#define SL_STATUS_WIFI_INVALID_KEY
Value:
((sl_status_t)0x0B01)

Invalid firmware keyset.


SL_STATUS_WIFI_FIRMWARE_DOWNLOAD_TIMEOUT#

#define SL_STATUS_WIFI_FIRMWARE_DOWNLOAD_TIMEOUT
Value:
((sl_status_t)0x0B02)

The firmware download took too long.


SL_STATUS_WIFI_UNSUPPORTED_MESSAGE_ID#

#define SL_STATUS_WIFI_UNSUPPORTED_MESSAGE_ID
Value:
((sl_status_t)0x0B03)

Unknown request ID or wrong interface ID used.


SL_STATUS_WIFI_WARNING#

#define SL_STATUS_WIFI_WARNING
Value:
((sl_status_t)0x0B04)

The request is successful but some parameters have been ignored.


SL_STATUS_WIFI_NO_PACKET_TO_RECEIVE#

#define SL_STATUS_WIFI_NO_PACKET_TO_RECEIVE
Value:
((sl_status_t)0x0B05)

No Packets waiting to be received.


SL_STATUS_WIFI_SLEEP_GRANTED#

#define SL_STATUS_WIFI_SLEEP_GRANTED
Value:
((sl_status_t)0x0B08)

The sleep mode is granted.


SL_STATUS_WIFI_SLEEP_NOT_GRANTED#

#define SL_STATUS_WIFI_SLEEP_NOT_GRANTED
Value:
((sl_status_t)0x0B09)

The WFx does not go back to sleep.


SL_STATUS_WIFI_SECURE_LINK_MAC_KEY_ERROR#

#define SL_STATUS_WIFI_SECURE_LINK_MAC_KEY_ERROR
Value:
((sl_status_t)0x0B10)

The SecureLink MAC key was not found.


SL_STATUS_WIFI_SECURE_LINK_MAC_KEY_ALREADY_BURNED#

#define SL_STATUS_WIFI_SECURE_LINK_MAC_KEY_ALREADY_BURNED
Value:
((sl_status_t)0x0B11)

The SecureLink MAC key is already installed in OTP.


SL_STATUS_WIFI_SECURE_LINK_RAM_MODE_NOT_ALLOWED#

#define SL_STATUS_WIFI_SECURE_LINK_RAM_MODE_NOT_ALLOWED
Value:
((sl_status_t)0x0B12)

The SecureLink MAC key cannot be installed in RAM.


SL_STATUS_WIFI_SECURE_LINK_FAILED_UNKNOWN_MODE#

#define SL_STATUS_WIFI_SECURE_LINK_FAILED_UNKNOWN_MODE
Value:
((sl_status_t)0x0B13)

The SecureLink MAC key installation failed.


SL_STATUS_WIFI_SECURE_LINK_EXCHANGE_FAILED#

#define SL_STATUS_WIFI_SECURE_LINK_EXCHANGE_FAILED
Value:
((sl_status_t)0x0B14)

SecureLink key (re)negotiation failed.


SL_STATUS_WIFI_WRONG_STATE#

#define SL_STATUS_WIFI_WRONG_STATE
Value:
((sl_status_t)0x0B18)

The device is in an inappropriate state to perform the request.


SL_STATUS_WIFI_CHANNEL_NOT_ALLOWED#

#define SL_STATUS_WIFI_CHANNEL_NOT_ALLOWED
Value:
((sl_status_t)0x0B19)

The request failed due to regulatory limitations.


SL_STATUS_WIFI_NO_MATCHING_AP#

#define SL_STATUS_WIFI_NO_MATCHING_AP
Value:
((sl_status_t)0x0B1A)

The connection request failed because no suitable AP was found.


SL_STATUS_WIFI_CONNECTION_ABORTED#

#define SL_STATUS_WIFI_CONNECTION_ABORTED
Value:
((sl_status_t)0x0B1B)

The connection request was aborted by host.


SL_STATUS_WIFI_CONNECTION_TIMEOUT#

#define SL_STATUS_WIFI_CONNECTION_TIMEOUT
Value:
((sl_status_t)0x0B1C)

The connection request failed because of a timeout.


SL_STATUS_WIFI_CONNECTION_REJECTED_BY_AP#

#define SL_STATUS_WIFI_CONNECTION_REJECTED_BY_AP
Value:
((sl_status_t)0x0B1D)

The connection request failed because the AP rejected the device.


SL_STATUS_WIFI_CONNECTION_AUTH_FAILURE#

#define SL_STATUS_WIFI_CONNECTION_AUTH_FAILURE
Value:
((sl_status_t)0x0B1E)

The connection request failed because the WPA handshake did not complete successfully.


SL_STATUS_WIFI_RETRY_EXCEEDED#

#define SL_STATUS_WIFI_RETRY_EXCEEDED
Value:
((sl_status_t)0x0B1F)

The request failed because the retry limit was exceeded.


SL_STATUS_WIFI_TX_LIFETIME_EXCEEDED#

#define SL_STATUS_WIFI_TX_LIFETIME_EXCEEDED
Value:
((sl_status_t)0x0B20)

The request failed because the MSDU life time was exceeded.


SL_STATUS_COMPUTE_DRIVER_FAULT#

#define SL_STATUS_COMPUTE_DRIVER_FAULT
Value:
((sl_status_t)0x1501)

Critical fault.


SL_STATUS_COMPUTE_DRIVER_ALU_NAN#

#define SL_STATUS_COMPUTE_DRIVER_ALU_NAN
Value:
((sl_status_t)0x1502)

ALU operation output NaN.


SL_STATUS_COMPUTE_DRIVER_ALU_OVERFLOW#

#define SL_STATUS_COMPUTE_DRIVER_ALU_OVERFLOW
Value:
((sl_status_t)0x1503)

ALU numeric overflow.


SL_STATUS_COMPUTE_DRIVER_ALU_UNDERFLOW#

#define SL_STATUS_COMPUTE_DRIVER_ALU_UNDERFLOW
Value:
((sl_status_t)0x1504)

ALU numeric underflow.


SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_OVERFLOW#

#define SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_OVERFLOW
Value:
((sl_status_t)0x1505)

Overflow during array store.


SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_UNDERFLOW#

#define SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_UNDERFLOW
Value:
((sl_status_t)0x1506)

Underflow during array store conversion.


SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_INFINITY#

#define SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_INFINITY
Value:
((sl_status_t)0x1507)

Infinity encountered during array store conversion.


SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_NAN#

#define SL_STATUS_COMPUTE_DRIVER_STORE_CONVERSION_NAN
Value:
((sl_status_t)0x1508)

NaN encountered during array store conversion.


SL_STATUS_COMPUTE_MATH_NAN#

#define SL_STATUS_COMPUTE_MATH_NAN
Value:
((sl_status_t)0x1512)

MATH NaN encountered.


SL_STATUS_COMPUTE_MATH_INFINITY#

#define SL_STATUS_COMPUTE_MATH_INFINITY
Value:
((sl_status_t)0x1513)

MATH Infinity encountered.


SL_STATUS_COMPUTE_MATH_OVERFLOW#

#define SL_STATUS_COMPUTE_MATH_OVERFLOW
Value:
((sl_status_t)0x1514)

MATH numeric overflow.


SL_STATUS_COMPUTE_MATH_UNDERFLOW#

#define SL_STATUS_COMPUTE_MATH_UNDERFLOW
Value:
((sl_status_t)0x1515)

MATH numeric underflow.


Typedef Documentation#

sl_status_t#

typedef uint32_t sl_status_t

define global status variable.


Function Documentation#

sl_status_get_string_n#

int32_t sl_status_get_string_n (sl_status_t status, char * buffer, uint32_t buffer_length)
Parameters
TypeDirectionArgument NameDescription
sl_status_tN/Astatus
char *N/Abuffer
uint32_tN/Abuffer_length

sl_status_print#

void sl_status_print (sl_status_t status)
Parameters
TypeDirectionArgument NameDescription
sl_status_tN/Astatus