uC chip interface arduino  0.9.0
A interface for async and neuromrphic IC testing
Loading...
Searching...
No Matches
datatypes.h File Reference
#include <cstdint>
Include dependency graph for datatypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  config_t
 
struct  data32_t
 
struct  data8_t
 
struct  data_i2c_t
 
struct  error_t
 
union  packet_t
 
struct  pin_t
 

Enumerations

enum  confPacketHeader : uint8_t {
  CONF_ACTIVE = 60U , CONF_OUTPUT = 61U , CONF_INPUT = 62U , CONF_REQ = 70U ,
  CONF_ACK = 71U , CONF_WIDTH = 72U , CONF_REQ_DELAY = 73U , CONF_BYTE_ORDER = 74U ,
  CONF_SPEED_CLASS = 75U , CONF_TYPE = 76U , CONF_NONE = 253U , CONF_CHANNEL0 = 0U ,
  CONF_CHANNEL1 = 1U , CONF_CHANNEL2 = 2U , CONF_CHANNEL3 = 3U , CONF_CHANNEL4 = 4U ,
  CONF_CHANNEL5 = 5U , CONF_CHANNEL6 = 6U , CONF_CHANNEL7 = 7U , CONF_CHANNEL8 = 8U ,
  CONF_CHANNEL9 = 9U , CONF_CHANNEL10 = 10U , CONF_CHANNEL11 = 11U , CONF_CHANNEL12 = 12U ,
  CONF_CHANNEL13 = 13U , CONF_CHANNEL14 = 14U , CONF_CHANNEL15 = 15U , CONF_CHANNEL16 = 16U ,
  CONF_CHANNEL17 = 17U , CONF_CHANNEL18 = 18U , CONF_CHANNEL19 = 19U , CONF_CHANNEL20 = 20U ,
  CONF_CHANNEL21 = 21U , CONF_CHANNEL22 = 22U , CONF_CHANNEL23 = 23U , CONF_CHANNEL24 = 24U ,
  CONF_CHANNEL25 = 25U , CONF_CHANNEL26 = 26U , CONF_CHANNEL27 = 27U , CONF_CHANNEL28 = 28U ,
  CONF_CHANNEL29 = 29U , CONF_CHANNEL30 = 30U , CONF_CHANNEL31 = 31U
}
 
enum  inPacketHeader : uint8_t {
  IN_READ = 0U , IN_READ_LAST = 4U , IN_SET_TIME = 1U , IN_READ_TIME = 2U ,
  IN_READ_INSTRUCTIONS = 3U , IN_FREE_INSTRUCTION_SPOTS = 5U , IN_CONF_READ_ON_REQUEST = 6U , IN_PIN = 10U ,
  IN_PIN_READ = 11U , IN_SPI0 = 20U , IN_SPI1 = 21U , IN_SPI2 = 22U ,
  IN_I2C0 = 25U , IN_I2C1 = 26U , IN_I2C2 = 27U , IN_ASYNC_TO_CHIP0 = 30U ,
  IN_ASYNC_TO_CHIP1 = 31U , IN_ASYNC_TO_CHIP2 = 32U , IN_ASYNC_TO_CHIP3 = 33U , IN_ASYNC_TO_CHIP4 = 34U ,
  IN_ASYNC_TO_CHIP5 = 35U , IN_ASYNC_TO_CHIP6 = 36U , IN_ASYNC_TO_CHIP7 = 37U , IN_CONF_PIN = 50U ,
  IN_CONF_SPI0 = 60U , IN_CONF_SPI1 = 61U , IN_CONF_SPI2 = 62U , IN_CONF_I2C0 = 65U ,
  IN_CONF_I2C1 = 66U , IN_CONF_I2C2 = 67U , IN_CONF_ASYNC_TO_CHIP0 = 70U , IN_CONF_ASYNC_TO_CHIP1 = 71U ,
  IN_CONF_ASYNC_TO_CHIP2 = 72U , IN_CONF_ASYNC_TO_CHIP3 = 73U , IN_CONF_ASYNC_TO_CHIP4 = 74U , IN_CONF_ASYNC_TO_CHIP5 = 75U ,
  IN_CONF_ASYNC_TO_CHIP6 = 76U , IN_CONF_ASYNC_TO_CHIP7 = 77U , IN_CONF_ASYNC_FROM_CHIP0 = 80U , IN_CONF_ASYNC_FROM_CHIP1 = 81U ,
  IN_CONF_ASYNC_FROM_CHIP2 = 82U , IN_CONF_ASYNC_FROM_CHIP3 = 83U , IN_CONF_ASYNC_FROM_CHIP4 = 84U , IN_CONF_ASYNC_FROM_CHIP5 = 85U ,
  IN_CONF_ASYNC_FROM_CHIP6 = 86U , IN_CONF_ASYNC_FROM_CHIP7 = 87U , IN_CONF_UC = 99U , IN_MAPPER_KEY = 190U ,
  IN_MAPPER_END = 191U , IN_RESET = 254U , IN_ALIGN_COMMUNICATION_PROTOCOL = 255U
}
 
enum  outPacketHeader : uint8_t {
  OUT_TIME = 100U , OUT_FREE_INSTRUCTION_SPOTS = 101U , OUT_PIN_LOW = 110U , OUT_PIN_HIGH = 111U ,
  OUT_SPI0 = 120U , OUT_SPI1 = 121U , OUT_SPI2 = 122U , OUT_I2C0 = 125U ,
  OUT_I2C1 = 126U , OUT_I2C2 = 127U , OUT_ASYNC_FROM_CHIP0 = 130U , OUT_ASYNC_FROM_CHIP1 = 131U ,
  OUT_ASYNC_FROM_CHIP2 = 132U , OUT_ASYNC_FROM_CHIP3 = 133U , OUT_ASYNC_FROM_CHIP4 = 134U , OUT_ASYNC_FROM_CHIP5 = 135U ,
  OUT_ASYNC_FROM_CHIP6 = 136U , OUT_ASYNC_FROM_CHIP7 = 137U , OUT_ERROR = 200U , OUT_ERROR_PIN_ALREADY_INUSE = 201U ,
  OUT_ERROR_PIN_NOT_CONFIGURED = 202U , OUT_ERROR_INPUT_FULL = 203U , OUT_ERROR_OUTPUT_FULL = 204U , OUT_ERROR_INTERFACE_ALREADY_ACTIVE = 205U ,
  OUT_ERROR_UNKNOWN_INSTRUCTION = 206U , OUT_ERROR_INTERFACE_NOT_ACTIVE = 207U , OUT_ERROR_UNKNOWN_CONFIGURATION = 208U , OUT_ERROR_ASYNC_HS_TIMEOUT = 209U ,
  OUT_ERROR_PERIPHERAL_INTERFACE_NOT_READY = 210U , OUT_ERROR_CONFIGURATION_OUT_OF_BOUNDS = 211U , OUT_ERROR_DATA_OUT_OF_BOUNDS = 212U , OUT_WARNING_DATA_COLLECTION_SQUEUED = 213U ,
  OUT_ALIGN_SUCCESS_VERSION = 253U
}
 

Functions

void copy_packet (packet_t *in, volatile packet_t *out)
 
packet_t copy_packet (volatile packet_t *in)
 

Enumeration Type Documentation

◆ confPacketHeader

enum confPacketHeader : uint8_t
Enumerator
CONF_ACTIVE 
CONF_OUTPUT 
CONF_INPUT 
CONF_REQ 
CONF_ACK 
CONF_WIDTH 
CONF_REQ_DELAY 
CONF_BYTE_ORDER 
CONF_SPEED_CLASS 
CONF_TYPE 
CONF_NONE 
CONF_CHANNEL0 
CONF_CHANNEL1 
CONF_CHANNEL2 
CONF_CHANNEL3 
CONF_CHANNEL4 
CONF_CHANNEL5 
CONF_CHANNEL6 
CONF_CHANNEL7 
CONF_CHANNEL8 
CONF_CHANNEL9 
CONF_CHANNEL10 
CONF_CHANNEL11 
CONF_CHANNEL12 
CONF_CHANNEL13 
CONF_CHANNEL14 
CONF_CHANNEL15 
CONF_CHANNEL16 
CONF_CHANNEL17 
CONF_CHANNEL18 
CONF_CHANNEL19 
CONF_CHANNEL20 
CONF_CHANNEL21 
CONF_CHANNEL22 
CONF_CHANNEL23 
CONF_CHANNEL24 
CONF_CHANNEL25 
CONF_CHANNEL26 
CONF_CHANNEL27 
CONF_CHANNEL28 
CONF_CHANNEL29 
CONF_CHANNEL30 
CONF_CHANNEL31 

Definition at line 610 of file datatypes.h.

◆ inPacketHeader

enum inPacketHeader : uint8_t
Enumerator
IN_READ 
IN_READ_LAST 
IN_SET_TIME 
IN_READ_TIME 
IN_READ_INSTRUCTIONS 
IN_FREE_INSTRUCTION_SPOTS 
IN_CONF_READ_ON_REQUEST 
IN_PIN 
IN_PIN_READ 
IN_SPI0 
IN_SPI1 
IN_SPI2 
IN_I2C0 
IN_I2C1 
IN_I2C2 
IN_ASYNC_TO_CHIP0 
IN_ASYNC_TO_CHIP1 
IN_ASYNC_TO_CHIP2 
IN_ASYNC_TO_CHIP3 
IN_ASYNC_TO_CHIP4 
IN_ASYNC_TO_CHIP5 
IN_ASYNC_TO_CHIP6 
IN_ASYNC_TO_CHIP7 
IN_CONF_PIN 
IN_CONF_SPI0 
IN_CONF_SPI1 
IN_CONF_SPI2 
IN_CONF_I2C0 
IN_CONF_I2C1 
IN_CONF_I2C2 
IN_CONF_ASYNC_TO_CHIP0 
IN_CONF_ASYNC_TO_CHIP1 
IN_CONF_ASYNC_TO_CHIP2 
IN_CONF_ASYNC_TO_CHIP3 
IN_CONF_ASYNC_TO_CHIP4 
IN_CONF_ASYNC_TO_CHIP5 
IN_CONF_ASYNC_TO_CHIP6 
IN_CONF_ASYNC_TO_CHIP7 
IN_CONF_ASYNC_FROM_CHIP0 
IN_CONF_ASYNC_FROM_CHIP1 
IN_CONF_ASYNC_FROM_CHIP2 
IN_CONF_ASYNC_FROM_CHIP3 
IN_CONF_ASYNC_FROM_CHIP4 
IN_CONF_ASYNC_FROM_CHIP5 
IN_CONF_ASYNC_FROM_CHIP6 
IN_CONF_ASYNC_FROM_CHIP7 
IN_CONF_UC 
IN_MAPPER_KEY 
IN_MAPPER_END 
IN_RESET 
IN_ALIGN_COMMUNICATION_PROTOCOL 

Definition at line 31 of file datatypes.h.

◆ outPacketHeader

enum outPacketHeader : uint8_t
Enumerator
OUT_TIME 
OUT_FREE_INSTRUCTION_SPOTS 
OUT_PIN_LOW 
OUT_PIN_HIGH 
OUT_SPI0 
OUT_SPI1 
OUT_SPI2 
OUT_I2C0 
OUT_I2C1 
OUT_I2C2 
OUT_ASYNC_FROM_CHIP0 
OUT_ASYNC_FROM_CHIP1 
OUT_ASYNC_FROM_CHIP2 
OUT_ASYNC_FROM_CHIP3 
OUT_ASYNC_FROM_CHIP4 
OUT_ASYNC_FROM_CHIP5 
OUT_ASYNC_FROM_CHIP6 
OUT_ASYNC_FROM_CHIP7 
OUT_ERROR 
OUT_ERROR_PIN_ALREADY_INUSE 
OUT_ERROR_PIN_NOT_CONFIGURED 
OUT_ERROR_INPUT_FULL 
OUT_ERROR_OUTPUT_FULL 
OUT_ERROR_INTERFACE_ALREADY_ACTIVE 
OUT_ERROR_UNKNOWN_INSTRUCTION 
OUT_ERROR_INTERFACE_NOT_ACTIVE 
OUT_ERROR_UNKNOWN_CONFIGURATION 
OUT_ERROR_ASYNC_HS_TIMEOUT 
OUT_ERROR_PERIPHERAL_INTERFACE_NOT_READY 
OUT_ERROR_CONFIGURATION_OUT_OF_BOUNDS 
OUT_ERROR_DATA_OUT_OF_BOUNDS 
OUT_WARNING_DATA_COLLECTION_SQUEUED 
OUT_ALIGN_SUCCESS_VERSION 

Definition at line 390 of file datatypes.h.

Function Documentation

◆ copy_packet() [1/2]

void copy_packet ( packet_t in,
volatile packet_t out 
)

Definition at line 31 of file datatypes.cpp.

◆ copy_packet() [2/2]

packet_t copy_packet ( volatile packet_t in)

Definition at line 23 of file datatypes.cpp.