Atmel Software Framework

Macros

#define STATUS_CATEGORY_MASK   0xF0
 Mask to retrieve the error category of a status code. More...
 
#define STATUS_ERROR_MASK   0x0F
 Mask to retrieve the error code within the category of a status code. More...
 

Typedefs

typedef enum status_code status_code_genare_t
 
typedef enum status_code_wireless status_code_t
 

Enumerations

enum  status_categories {
  STATUS_CATEGORY_OK = 0x00,
  STATUS_CATEGORY_COMMON = 0x10,
  STATUS_CATEGORY_ANALOG = 0x30,
  STATUS_CATEGORY_COM = 0x40,
  STATUS_CATEGORY_IO = 0x50
}
 Status code error categories. More...
 
enum  status_code {
  STATUS_OK = STATUS_CATEGORY_OK | 0x00,
  STATUS_VALID_DATA = STATUS_CATEGORY_OK | 0x01,
  STATUS_NO_CHANGE = STATUS_CATEGORY_OK | 0x02,
  STATUS_ABORTED = STATUS_CATEGORY_OK | 0x04,
  STATUS_BUSY = STATUS_CATEGORY_OK | 0x05,
  STATUS_SUSPEND = STATUS_CATEGORY_OK | 0x06,
  STATUS_ERR_IO = STATUS_CATEGORY_COMMON | 0x00,
  STATUS_ERR_REQ_FLUSHED = STATUS_CATEGORY_COMMON | 0x01,
  STATUS_ERR_TIMEOUT = STATUS_CATEGORY_COMMON | 0x02,
  STATUS_ERR_BAD_DATA = STATUS_CATEGORY_COMMON | 0x03,
  STATUS_ERR_NOT_FOUND = STATUS_CATEGORY_COMMON | 0x04,
  STATUS_ERR_UNSUPPORTED_DEV = STATUS_CATEGORY_COMMON | 0x05,
  STATUS_ERR_NO_MEMORY = STATUS_CATEGORY_COMMON | 0x06,
  STATUS_ERR_INVALID_ARG = STATUS_CATEGORY_COMMON | 0x07,
  STATUS_ERR_BAD_ADDRESS = STATUS_CATEGORY_COMMON | 0x08,
  STATUS_ERR_BAD_FORMAT = STATUS_CATEGORY_COMMON | 0x0A,
  STATUS_ERR_BAD_FRQ = STATUS_CATEGORY_COMMON | 0x0B,
  STATUS_ERR_DENIED = STATUS_CATEGORY_COMMON | 0x0c,
  STATUS_ERR_ALREADY_INITIALIZED = STATUS_CATEGORY_COMMON | 0x0d,
  STATUS_ERR_OVERFLOW = STATUS_CATEGORY_COMMON | 0x0e,
  STATUS_ERR_NOT_INITIALIZED = STATUS_CATEGORY_COMMON | 0x0f,
  STATUS_ERR_SAMPLERATE_UNAVAILABLE = STATUS_CATEGORY_ANALOG | 0x00,
  STATUS_ERR_RESOLUTION_UNAVAILABLE = STATUS_CATEGORY_ANALOG | 0x01,
  STATUS_ERR_BAUDRATE_UNAVAILABLE = STATUS_CATEGORY_COM | 0x00,
  STATUS_ERR_PACKET_COLLISION = STATUS_CATEGORY_COM | 0x01,
  STATUS_ERR_PROTOCOL = STATUS_CATEGORY_COM | 0x02,
  STATUS_ERR_PIN_MUX_INVALID = STATUS_CATEGORY_IO | 0x00
}
 Status code that may be returned by shell commands and protocol implementations. More...
 
enum  status_code_wireless {
  ERR_IO_ERROR = -1,
  ERR_FLUSHED = -2,
  ERR_TIMEOUT = -3,
  ERR_BAD_DATA = -4,
  ERR_PROTOCOL = -5,
  ERR_UNSUPPORTED_DEV = -6,
  ERR_NO_MEMORY = -7,
  ERR_INVALID_ARG = -8,
  ERR_BAD_ADDRESS = -9,
  ERR_BUSY = -10,
  ERR_BAD_FORMAT = -11,
  ERR_NO_TIMER = -12,
  ERR_TIMER_ALREADY_RUNNING = -13,
  ERR_TIMER_NOT_RUNNING = -14,
  OPERATION_IN_PROGRESS = -128
}
 Status codes used by MAC stack. More...
 

#define STATUS_CATEGORY_MASK   0xF0

Mask to retrieve the error category of a status code.

#define STATUS_ERROR_MASK   0x0F

Mask to retrieve the error code within the category of a status code.

Status code error categories.

Enumerator
STATUS_CATEGORY_OK 
STATUS_CATEGORY_COMMON 
STATUS_CATEGORY_ANALOG 
STATUS_CATEGORY_COM 
STATUS_CATEGORY_IO 

Status code that may be returned by shell commands and protocol implementations.

Note
Any change to these status codes and the corresponding message strings is strictly forbidden. New codes can be added, however, but make sure that any message string tables are updated at the same time.
Enumerator
STATUS_OK 
STATUS_VALID_DATA 
STATUS_NO_CHANGE 
STATUS_ABORTED 
STATUS_BUSY 
STATUS_SUSPEND 
STATUS_ERR_IO 
STATUS_ERR_REQ_FLUSHED 
STATUS_ERR_TIMEOUT 
STATUS_ERR_BAD_DATA 
STATUS_ERR_NOT_FOUND 
STATUS_ERR_UNSUPPORTED_DEV 
STATUS_ERR_NO_MEMORY 
STATUS_ERR_INVALID_ARG 
STATUS_ERR_BAD_ADDRESS 
STATUS_ERR_BAD_FORMAT 
STATUS_ERR_BAD_FRQ 
STATUS_ERR_DENIED 
STATUS_ERR_ALREADY_INITIALIZED 
STATUS_ERR_OVERFLOW 
STATUS_ERR_NOT_INITIALIZED 
STATUS_ERR_SAMPLERATE_UNAVAILABLE 
STATUS_ERR_RESOLUTION_UNAVAILABLE 
STATUS_ERR_BAUDRATE_UNAVAILABLE 
STATUS_ERR_PACKET_COLLISION 
STATUS_ERR_PROTOCOL 
STATUS_ERR_PIN_MUX_INVALID 

Status codes used by MAC stack.

Enumerator
ERR_IO_ERROR 

I/O error.

ERR_FLUSHED 

Request flushed from queue.

ERR_TIMEOUT 

Operation timed out.

ERR_BAD_DATA 

Data integrity check failed.

ERR_PROTOCOL 

Protocol error.

ERR_UNSUPPORTED_DEV 

Unsupported device.

ERR_NO_MEMORY 

Insufficient memory.

ERR_INVALID_ARG 

Invalid argument.

ERR_BAD_ADDRESS 

Bad address.

ERR_BUSY 

Resource is busy.

ERR_BAD_FORMAT 

Data format not recognized.

ERR_NO_TIMER 

No timer available.

ERR_TIMER_ALREADY_RUNNING 

Timer already running.

ERR_TIMER_NOT_RUNNING 

Timer not running.

OPERATION_IN_PROGRESS 

Operation in progress.

This status code is for driver-internal use when an operation is currently being performed.

Note
Drivers should never return this status code to any callers. It is strictly for internal use.