GaIA BIOS Library
Loading...
Searching...
No Matches
IOBUS Handling macros and variables

Macros and variables used for IOBUS interfacing and handling. More...

Data Structures

struct  block_t
struct  block_set_t
struct  spi_module_t
struct  spi_chain_t

Macros

#define MAX_SPI_MODULES   (32)
#define MAX_BLOCKS   (12)
#define GWA_IO_ERR_MODULE_IDENTIFY   (-1)
 Error during modules identification.
#define GWA_IO_ERR_MEM_ALLOC   (-2)
 Error allocating memory.

Enumerations

enum  module_type_t {
  GWA_BASE_NONE = 0x80 , GWA_BASE_IO = 0x81 , GWA_BASE_DISP = 0x82 , GWA_BASE_IO_201 = 0x83 ,
  GWA_X84_BOARD = 0x84 , AMATH7_BASE_IO = 0x85 , GWA_BASE_IO_203 = 0x86 , GWA_GXIO00_BOARD = 0xA1 ,
  GWA_GXST10_BOARD = 0xA2 , GWA_RGRID00_BOARD = 0xA6
}
 The board types. More...
enum  iobus_speed_t { iobus_default_speed = 0 , iobus_full_speed , iobus_high_speed , iobus_warp_speed }
 IOBUS SPI speed settings. More...
enum  block_type_t {
  BLK_DIP_SWITCH = 0x01 , BLK_INPUT = 0x02 , BLK_OUT_DIAG = 0x03 , BLK_OUTPUT = 0x04 ,
  BLK_DISP_SEG = 0x05 , BLK_DISP_COL = 0x06
}
 Device types on the SPI chain. More...

Variables

spi_chain_t spi_chain
volatile uint8_t gwa_dip_switch
volatile uint8_t in_data [MAX_SPI_MODULES *MAX_BLOCKS]
 Input data.
uint16_t in_data_len
 Length of in_data array.
volatile uint8_t out_data [MAX_SPI_MODULES *MAX_BLOCKS]
 Output data.
uint16_t out_data_len
 Length of out_data array.
volatile uint8_t oldoutw_data [MAX_SPI_MODULES *MAX_BLOCKS]
 Previously written output data.
volatile uint8_t oldoutr_data [MAX_SPI_MODULES *MAX_BLOCKS]
 Read back output data.
volatile uint8_t diag_data [MAX_SPI_MODULES *MAX_BLOCKS]
 Diagnostics data.
uint16_t diag_data_len
 Length of diag_data array.

Detailed Description

Macros and variables used for IOBUS interfacing and handling.

Enumeration Type Documentation

◆ block_type_t

Device types on the SPI chain.

Enumerator
BLK_DIP_SWITCH 0x01 

DIP Switch block.

BLK_INPUT 0x02 

Input block.

BLK_OUT_DIAG 0x03 

Output Diagnostics block.

BLK_OUTPUT 0x04 

Output block.

BLK_DISP_SEG 0x05 

Display Segment block.

BLK_DISP_COL 0x06 

Display Column block.

◆ iobus_speed_t

IOBUS SPI speed settings.

Enumerator
iobus_default_speed 

Default 1x IOBUS speed setting.

iobus_full_speed  

2x IOBUS speed setting

iobus_high_speed  

4x IOBUS speed setting

iobus_warp_speed  

8x IOBUS speed setting

◆ module_type_t

The board types.

Enumerator
GWA_BASE_NONE 0x80 

Baseboard virtual module with no blocks.

GWA_BASE_IO 0x81 

First baseboard virtual module (DIP, inputs, out_diags, outputs)

GWA_BASE_DISP 0x82 

Last baseboard virtual module (display segments, display columns)

GWA_X84_BOARD 0x84 

Expansion board with identifier 0x84.

AMATH7_BASE_IO 0x85 

AMAT H7 BOTC module (display segments, display columns)

GWA_BASE_IO_203 0x86 

First baseboard virtual module (DIP, inputs, out_diags, outputs)

GWA_GXIO00_BOARD 0xA1 

GXIO board with identifier 0xA1.

GWA_GXST10_BOARD 0xA2 

GXST Stepper board with identifier 0xA2.

GWA_RGRID00_BOARD 0xA6 

RGRID board with identifier 0xA6.