swc_error.h

SPARK Wireless Core error codes.

Copyright

Copyright (C) 2021 SPARK Microsystems International Inc. All rights reserved.

License

This source code is proprietary and subject to the SPARK Microsystems Software EULA found in this package in file EULA.txt.

Author

SPARK FW Team.

Typedefs

typedef enum swc_error swc_error_t

Wireless API error structure.

Enums

enum swc_error

Wireless API error structure.

Values:

enumerator SWC_ERR_NONE = 0

No error occurred

enumerator SWC_ERR_NOT_INITIALIZED

The Wireless Core is not initialized

enumerator SWC_ERR_NOT_ENOUGH_MEMORY

Not enough memory is allocated by the application for a full Wireless Core initialization

enumerator SWC_ERR_NULL_PTR

A NULL pointer is passed as argument

enumerator SWC_ERR_FAST_SYNC_WITH_DUAL_RADIO

Fast sync and dual radio are enabled but are incompatible

enumerator SWC_ERR_PAN_ID

The configured PAN ID is invalid

enumerator SWC_ERR_NETWORK_ROLE

The configured network role is invalid

enumerator SWC_ERR_SLEEP_LEVEL

The configured sleep level is invalid

enumerator SWC_ERR_IRQ_POLARITY

The configured IRQ polarity is invalid

enumerator SWC_ERR_SPI_MODE

The configured SPI mode is invalid

enumerator SWC_ERR_MODULATION

The configured modulation is invalid

enumerator SWC_ERR_FEC_RATIO

The configured FEC ratio is invalid

enumerator SWC_ERR_CCA_FAIL_ACTION

The configured CCA fail action is invalid

enumerator SWC_ERR_CCA_THRESHOLD

The configured CCA threshold is invalid

enumerator SWC_ERR_CCA_INVALID_PARAMETERS

The configured CCA parameters are invalid

enumerator SWC_ERR_LOCAL_ADDRESS

The configured local address is invalid

enumerator SWC_ERR_SOURCE_ADDRESS

The configured source address is invalid

enumerator SWC_ERR_DESTINATION_ADDRESS

The configured destination address is invalid

enumerator SWC_ERR_CONNECTION_ADDRESS

None of the connection’s addresses match with the local device’s address

enumerator SWC_ERR_ARQ_WITH_ACK_DISABLED

ARQ is enabled while ACK is not

enumerator SWC_ERR_THROTTLING_ON_RX_CONNECTION

Link throttling is enabled on an RX connection

enumerator SWC_ERR_THROTTLING_NOT_SUPPORTED

Link throttling is disabled on this connection

enumerator SWC_ERR_NO_PAYLOAD_MEM_ALLOC_ON_RX_CONNECTION

Payload memory allocation is not enabled on a RX connection

enumerator SWC_ERR_TX_PULSE_COUNT

The configured TX pulse count is invalid

enumerator SWC_ERR_TX_PULSE_COUNT_OFFSET

The configured TX pulse count offset is invalid

enumerator SWC_ERR_TX_PULSE_WIDTH

The configured TX pulse width is invalid

enumerator SWC_ERR_TX_PULSE_WIDTH_OFFSET

The configured TX pulse width offset is invalid

enumerator SWC_ERR_TX_PULSE_GAIN

The configured TX pulse gain is invalid

enumerator SWC_ERR_TX_GAIN_OFFSET

The configured TX pulse gain offset is invalid

enumerator SWC_ERR_RX_PULSE_COUNT

The configured RX pulse count is invalid

enumerator SWC_ERR_NO_BUFFER_AVAILABLE

There is no more payload buffer available from the queue

enumerator SWC_ERR_ADD_CHANNEL_ON_INVALID_CONNECTION

A channel is added on a connection using only auto-reply timeslots

enumerator SWC_ERR_INTERNAL

There is an internal Wireless Core error

enumerator SWC_ERR_ALREADY_CONNECTED

The Wireless Core is already connected.

enumerator SWC_ERR_NOT_CONNECTED

The Wireless Core is not connected.

enumerator SWC_ERR_DISCONNECT_TIMEOUT

The Wireless Core failed to disconnect within the timeout value.

enumerator SWC_ERR_PAYLOAD_TOO_BIG

The configured payload size exceeds the maximum value for the current connection configuration.

enumerator SWC_ERR_SECOND_RADIO_NOT_INIT

Dual radio is used but swc_node_radio_add() is not called twice

enumerator SWC_ERR_FRAGMENTATION_NOT_SUPPORTED

The function call is not supported when the frame fragmentation is enable on the connection. swc_connection_receive_to_buffer() should be use instead.

enumerator SWC_ERR_OUTIMPED

The configured output driver impedance is invalid

enumerator SWC_ERR_SEND_ON_RX_CONN

User tried to send on a connection that can’t send

enumerator SWC_ERR_ZERO_TIMESLOT_SEQ_LEN

Input parameter is out of acceptable value

enumerator SWC_ERR_ZERO_CHAN_SEQ_LEN

Zero value was given to channel sequence length

enumerator SWC_ERR_MIN_QUEUE_SIZE

Minimum queue size requirement not met

enumerator SWC_ERR_ZERO_TIMESLOT_COUNT

Zero was given to timeslot count

enumerator SWC_ERR_NULL_TIMESLOT_DURATION

Zero was given as timeslot duration for 1 or more timeslots

enumerator SWC_ERR_CHANGING_CONFIG_WHILE_RUNNING

User tried to change configuration while the SWC is running

enumerator SWC_ERR_SEND_QUEUE_FULL

The queue of the sender is full

enumerator SWC_ERR_SIZE_TOO_BIG

The payload sent is greater than the available space

enumerator SWC_ERR_RECEIVE_QUEUE_EMPTY

The queue of the receiver is empty

enumerator SWC_ERR_RX_OVERRUN

New payload received and dropped because the RX queue is full

enumerator SWC_ERR_TIMESLOT_CONN_LIMIT_REACHED

The maximum number of connection assigned to the time slot was already reached

enumerator SWC_ERR_NON_ZERO_PRIORITY_WITHOUT_CONN_ID

The connection priority is not equal to zero while the connection ID protocol is disabled.

enumerator SWC_ERR_NON_MATCHING_SAME_TIMESLOT_CONN_FIELD

Some connection fields must be identical in order for these connections to be used on the same time slot using the connection priority feature.

enumerator SWC_ERR_MULTI_RADIO_HAL_INVALID

The multi radio hal initialization is invalid.

enumerator SWC_ERR_MAX_CONN_PRIORITY

The priority of the connection is higher than the maximum priority.

enumerator SWC_ERR_BUFFER_SIZE_TOO_SMALL

The provided buffer size is too small to execute the operation.

enumerator SWC_ERR_INVALID_PARAMETER

The one of the specified parameter/s has an invalid value.

enumerator SWC_ERR_NOT_ALLOWED_CONN_PRIORITY_CONFIGURATION

The priority configuration of the connection is not allowed.

enumerator SWC_ERR_PRIO_NOT_ENABLE_ON_ALL_CONN

Connection priority feature is not enable on each connection sharing the same timeslot.

enumerator SWC_ERR_OPTIMIZATION_DELAY_TO_HIGH

The computed delay for the latency optimization feature is too high.

enumerator SWC_ERR_CHIP_RATE

The configured chip rate is invalid.

enumerator SWC_ERR_RANGING_NOT_SUPPORTED

The ranging feature is not supported.

enumerator SWC_ERR_CREDIT_FLOW_CTRL_WITH_ACK_DISABLED

Credit low control is enabled while ACK is not

enumerator SWC_ERR_CONTEXT_SWITCH_TRIGGER_IS_NULL

The context switch trigger has not been initialized.

enumerator SWC_ERR_ACK_NOT_SUPPORTED_IN_AUTO_REPLY_CONNECTION

The Wireless core doesn’t support acknowledge on anauto-reply connection.

enumerator SWC_ERR_ADD_RANGING_SETTINGS_ON_INVALID_CONNECTION

Ranging settings are added on a TX connection or a connection using a main timeslot.

enumerator SWC_ERR_RADIO_ID_INVALID

The radio ID provided is out of range.

enumerator SWC_ERR_CALIBRATION_MISSING

No saved calibration data found in HEAP; calibration required.

enumerator SWC_ERR_RADIO_NOT_FOUND

Radio model not found.

enumerator SWC_ERR_INVALID_TIMESLOT_SLEEP_LEVEL

Sleep level for one of the time slots is incorrect.

enumerator SWC_ERR_INVALID_PULSE_CONFIG_27M

Pulse configuration for 27MHz is not valid

enumerator SWC_ERR_INVALID_OPERATION_AFTER_SETUP

Operation must be done before SWC setup.

enumerator SWC_ERR_NO_CHANNEL_INIT

No channel are initialized in one of the connections

enumerator SWC_ERR_CHANNEL_OUT_OF_RANGE

Selected channel is out of range for the current radio model.

enumerator SWC_ERR_DYNAMIC_PHY_MODE_DISABLED

PHY mode was requested why the feature is disabled.

enumerator SWC_ERR_UNINITIALIZED_CONNECTION

Connection hasn’t been allocated and the pointer is null

enumerator SWC_ERR_CONNECTION_CREATION_FAILED

Failed to create connection due to internal error.

enumerator SWC_ERR_FRAME_CONFIGURATION_FAILED

Failed to configure frame due to internal error.

enumerator SWC_ERR_FAILED_TO_SET_CALLBACK

Failed to set callback due to internal error.

enumerator SWC_ERR_NODE_NOT_INITIALIZED

The node instance hasn’t been initialized before.

enumerator SWC_ERR_NOT_MATCHING_NETWORK_ID

Network ID doesn’t match the Network ID set during node init.

enumerator SWC_ERR_FLUSH_QUEUE_WHILE_RUNNING

User tried to flush a connection’s queue while the SWC is running

enumerator SWC_ERR_INVALID_OPERATION_AFTER_SWC_LOCK

Connection settings cannot be modified after the connection priority or slot priority has been initialized. Ensure that these feature API calls are the last ones made when configuring a connection.

enumerator SWC_ERR_INVALID_OPERATION_CONN_PRIO_ENABLED
enumerator SWC_ERR_INVALID_OPERATION_SLOT_PRIO_ENABLED

Connection priority feature cannot be use if slot priority is enabled.