Cascoda SDK
Cascoda SDK for building software to run with CA-821x transceivers
HWME and TWME Message definitions

Data structures and definitions used for HWME and TDME Messages. More...

Collaboration diagram for HWME and TWME Message definitions:

Macros

#define MAX_HWME_ATTRIBUTE_SIZE   16
 
#define MAX_TDME_ATTRIBUTE_SIZE   2
 
#define MAX_TXPOWER_CH26   4
 Channel 26 Transmit Power limited to +4 dBm. More...
 

Enumerations

enum  hwme_status { HWME_SUCCESS = 0x00 , HWME_UNKNOWN = 0x01 , HWME_INVALID = 0x02 , HWME_NO_ACCESS = 0x03 }
 HWME Status Codes. More...
 
enum  hwme_wakeup_condition {
  HWME_WAKEUP_POWERUP = 0x00 , HWME_WAKEUP_WDT = 0x01 , HWME_WAKEUP_POFF_SLT = 0x02 , HWME_WAKEUP_POFF_GPIO = 0x03 ,
  HWME_WAKEUP_STBY_SLT = 0x04 , HWME_WAKEUP_STBY_GPIO = 0x05 , HWME_WAKEUP_ACTIVE_SLT = 0x06
}
 Potential values for HWME_WAKEUP_indication's WakeUpCondition parameter. More...
 
enum  lqi_mode { HWME_LQIMODE_CS = 0x00 , HWME_LQIMODE_ED = 0x01 }
 Potential values of HWME_LQIMODE. More...
 
enum  hwme_attribute {
  HWME_POWERCON = 0x00 , HWME_CHIPID = 0x01 , HWME_TXPOWER = 0x02 , HWME_CCAMODE = 0x03 ,
  HWME_EDTHRESHOLD = 0x04 , HWME_CSTHRESHOLD = 0x05 , HWME_EDVALUE = 0x06 , HWME_CSVALUE = 0x07 ,
  HWME_EDVALLP = 0x08 , HWME_CSVALLP = 0x09 , HWME_FREQOFFS = 0x0A , HWME_MACTIMER = 0x0B ,
  HWME_RANDOMNUM = 0x0C , HWME_TEMPERATURE = 0x0D , HWME_HSKEY = 0x0E , HWME_SYSCLKOUT = 0x0F ,
  HWME_LQIMODE = 0x10 , HWME_LQILIMIT = 0x11 , HWME_IMAGINARYINDIRECT = 0x17
}
 HWME Attribute IDs. More...
 
enum  haes_mode { HAES_MODE_ENCRYPT = 0 , HAES_MODE_DECRYPT = 1 }
 Hardware AES mode values. More...
 
enum  cca_mode { CCAM_EDORCS = 0 , CCAM_ED = 1 , CCAM_CS = 2 , CCAM_EDANDCS = 3 }
 CCA Mode. More...
 
enum  tdme_hw_err {
  TDME_ERR_NO_ERROR = 0x00 , TDME_ERR_LO_UNLOCK = 0x10 , TDME_ERR_SPI_INVALID = 0x20 , TDME_ERR_EX_STOF = 0x30 ,
  TDME_ERR_EX_STUF = 0x40 , TDME_ERR_EX_DIVBY0 = 0x50 , TDME_ERR_DMA_ACCESS = 0x60 , TDME_ERR_UNEXP_IRQ = 0x70 ,
  TDME_ERR_MALLOC_FAIL = 0x80 , TDME_ERR_SYSTEM_ERROR = 0x90
}
 Hardware Error Messages from TDME_ERROR_indication. More...
 
enum  tdme_status {
  TDME_SUCCESS = 0x00 , TDME_UNKNOWN = 0x01 , TDME_INVALID = 0x02 , TDME_NO_ACCESS = 0x03 ,
  TDME_LO_ERROR = 0x04 , TDME_FCS_ERROR = 0x05 , TDME_SHR_ERROR = 0x06 , TDME_PHR_ERROR = 0x07
}
 TDME Status Codes. More...
 
enum  tdme_test_mode {
  TDME_TEST_OFF = 0x00 , TDME_TEST_IDLE = 0x01 , TDME_TEST_TX = 0x02 , TDME_TEST_RX = 0x03 ,
  TDME_TEST_ED = 0x04 , TDME_TEST_LO_1 = 0x05 , TDME_TEST_LO_2 = 0x06 , TDME_TEST_LO_3 = 0x07
}
 TDME Test Modes. More...
 
enum  tdme_payload_type { TDME_TXD_RANDOM = 0x00 , TDME_TXD_SEQRANDOM = 0x01 , TDME_TXD_COUNT = 0x02 , TDME_TXD_APPENDED = 0x03 }
 
enum  tdme_attribute {
  TDME_CHANNEL = 0x00 , TDME_TX_CONFIG = 0x01 , TDME_ED_CONFIG = 0x02 , TDME_RX_CONFIG = 0x03 ,
  TDME_LO_1_CONFIG = 0x04 , TDME_LO_2_CONFIG = 0x05 , TDME_ATM_CONFIG = 0x06 , TDME_MPW2_OVWR = 0x07
}
 TDME Attribute IDs. More...
 

Detailed Description

Data structures and definitions used for HWME and TDME Messages.

Macro Definition Documentation

◆ MAX_HWME_ATTRIBUTE_SIZE

#define MAX_HWME_ATTRIBUTE_SIZE   16

◆ MAX_TDME_ATTRIBUTE_SIZE

#define MAX_TDME_ATTRIBUTE_SIZE   2

◆ MAX_TXPOWER_CH26

#define MAX_TXPOWER_CH26   4

Channel 26 Transmit Power limited to +4 dBm.

Enumeration Type Documentation

◆ cca_mode

enum cca_mode

CCA Mode.

Enumerator
CCAM_EDORCS 

CCA Mode: Either ED or CS level exceeded.

CCAM_ED 

CCA Mode: ED level exceeded.

CCAM_CS 

CCA Mode: CS level exceeded.

CCAM_EDANDCS 

CCA Mode: Both ED and CS level exceeded.

◆ haes_mode

enum haes_mode

Hardware AES mode values.

Enumerator
HAES_MODE_ENCRYPT 

Encrypt given buffer.

HAES_MODE_DECRYPT 

Decrypt given buffer.

◆ hwme_attribute

HWME Attribute IDs.

Enumerator
HWME_POWERCON 

Power Saving Mode Control.

HWME_CHIPID 

Product ID and Version Number.

HWME_TXPOWER 

Transmit Power Setting.

HWME_CCAMODE 

Clear Channel Assessment Mode, according to 802.15.4 Section 6.9.9.

HWME_EDTHRESHOLD 

Energy Detect (ED) Threshold for CCA.

HWME_CSTHRESHOLD 

Carrier Sense (CS) Threshold for CCA.

HWME_EDVALUE 

Energy Detect (ED) Value of current channel.

HWME_CSVALUE 

Carrier Sense (CS) Value of current channel.

HWME_EDVALLP 

Energy Detect (ED) Value of last received Packet.

HWME_CSVALLP 

Carrier Sense (CS) Value of last received Packet.

HWME_FREQOFFS 

Frequency Offset of last received Packet.

HWME_MACTIMER 

MAC Symbol Timer Value.

HWME_RANDOMNUM 

Random Number Value.

HWME_TEMPERATURE 

Temperature Sensor Measurement Value.

HWME_HSKEY 

Host Security Key for AES-128 Encryption or Decryption.

HWME_SYSCLKOUT 

System Clock Output to a specific GPIO.

HWME_LQIMODE 

LQI Reporting Mode for Data Indications and PanDescriptors.

HWME_LQILIMIT 

LQI minimal value to accept a received MAC frame.

HWME_IMAGINARYINDIRECT 

0=Normal Indirect behaviour, 1=Imaginary mode, don't send indirect frames

◆ hwme_status

HWME Status Codes.

Enumerator
HWME_SUCCESS 

The requested Primitive has been executed successfully.

HWME_UNKNOWN 

Unknown HWME Attribute or Parameter.

HWME_INVALID 

Invalid HWME Attribute Value or Parameter Value.

HWME_NO_ACCESS 

The requested Attribute cannot currently be accessed.

◆ hwme_wakeup_condition

Potential values for HWME_WAKEUP_indication's WakeUpCondition parameter.

Enumerator
HWME_WAKEUP_POWERUP 

Transceiver woken up from Power Up / System Reset.

HWME_WAKEUP_WDT 

Watchdog Timer Time-Out.

HWME_WAKEUP_POFF_SLT 

Transceiver woken up from Power-Off by Sleep Timer Time-Out.

HWME_WAKEUP_POFF_GPIO 

Transceiver woken up from Power-Off by GPIO Activity.

HWME_WAKEUP_STBY_SLT 

Transceiver woken up from Standby by Sleep Timer Time-Out.

HWME_WAKEUP_STBY_GPIO 

Transceiver woken up from Standby by GPIO Activity.

HWME_WAKEUP_ACTIVE_SLT 

Sleep-Timer Time-Out in Active Mode.

◆ lqi_mode

enum lqi_mode

Potential values of HWME_LQIMODE.

Enumerator
HWME_LQIMODE_CS 

CS (Carrier Sense) is reported as LQI.

HWME_LQIMODE_ED 

ED (Energy Detect) is reported as LQI.

◆ tdme_attribute

TDME Attribute IDs.

Enumerator
TDME_CHANNEL 

IEEE802.15.4 Channel Selection.

TDME_TX_CONFIG 

Transmit (Tx) Test Configuration.

TDME_ED_CONFIG 

Energy Detect Configuration.

TDME_RX_CONFIG 

Receiver Test Configuration.

TDME_LO_1_CONFIG 

LO Test 1 Configuration (Tx/Rx with no Modulation on 802.15.4 Channel)

TDME_LO_2_CONFIG 

LO Test 2 Configuration (VCO Open Loop / Initialisation)

TDME_ATM_CONFIG 

Analog Test Bus Configuration.

TDME_MPW2_OVWR 

◆ tdme_hw_err

Hardware Error Messages from TDME_ERROR_indication.

Enumerator
TDME_ERR_NO_ERROR 

Everything OK.

TDME_ERR_LO_UNLOCK 

LO Unlocked.

TDME_ERR_SPI_INVALID 

Invalid SPI Message.

TDME_ERR_EX_STOF 

Exception: Stack Overflow.

TDME_ERR_EX_STUF 

Exception: Stack Underflow.

TDME_ERR_EX_DIVBY0 

Exception: Divide by 0.

TDME_ERR_DMA_ACCESS 

DMA Access Overflow/Underflow (+0x0F)

TDME_ERR_UNEXP_IRQ 

Unexpected Interrupt (+0x0F)

TDME_ERR_MALLOC_FAIL 

Memory Allocation Failure.

TDME_ERR_SYSTEM_ERROR 

System Error.

◆ tdme_payload_type

Enumerator
TDME_TXD_RANDOM 

Random Data, internally generated.

TDME_TXD_SEQRANDOM 

Sequence Number in 1st Byte and all other Data Random, internally generated.

TDME_TXD_COUNT 

Count (Increment) Data, internally generated.

TDME_TXD_APPENDED 

Data external and appended to TDME-TXPKT Request.

◆ tdme_status

TDME Status Codes.

Enumerator
TDME_SUCCESS 

The requested Primitive has been executed successfully.

TDME_UNKNOWN 

Unknown TDME Value or Parameter.

TDME_INVALID 

Invalid TDME Value or Parameter Value.

TDME_NO_ACCESS 

The requested Value cannot currently be accessed.

TDME_LO_ERROR 

LO Locking Error.

TDME_FCS_ERROR 

Received Packet Frame Check Sequence (CRC) Error.

TDME_SHR_ERROR 

Received Packet Synchronisation Header Error.

TDME_PHR_ERROR 

Received Packet Packet Header Error.

◆ tdme_test_mode

TDME Test Modes.

Enumerator
TDME_TEST_OFF 

All Test Modes are disabled (default)

TDME_TEST_IDLE 

Idle Test Mode.

Test mode is enabled but transmitter and receiver are off

TDME_TEST_TX 

Transmit Test Mode.

TDME_TEST_RX 

Receive Test Mode.

TDME_TEST_ED 

Energy Detect Test Mode (Energy Sniffer)

TDME_TEST_LO_1 

LO Test Mode 1 (Tx/Rx with no Modulation on 802.15.4 Channel, PA enabled)

TDME_TEST_LO_2 

LO Test Mode 2 (VCO Open Loop / Initialisation, PA enabled)

TDME_TEST_LO_3 

LO Test Mode 3 (Locking Test, PA disabled)