IPMCSDB Driver
Documentation
FOCUS Software Engineering

Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

ipmcsdb.c File Reference

Library for Max Technologies IPM422/CSDB modules. More...

Include dependency graph for ipmcsdb.c:

Include dependency graph

Driver Initialization and Clean-up Functions

IpmCsdbHdl ipmCsdb_open (IpCarrierHdl ipCarrierHdl, int ipSlotNo, void(*intHandlerFunc)())
 Opens access to a Max Technologies 422/CSDB IPM422 module.

void ipmCsdb_close (IpmCsdbHdl ipModuleHdl)
 Closes access to the IP module and releases associated resources.


Transmit Functions

void ipmCsdb_sendNow (IpmCsdbHdl ipModuleHdl, int channel, uint8_t csdbWord)
 Sends a CSDB word immediately.

void ipmCsdb_sendScheduled (IpmCsdbHdl ipModuleHdl, int channel, uint8_t csdbWord, uint16_t timeTag)
 Sends a CSDB word time scheduled.

void ipmCsdb_txEnable (IpmCsdbHdl ipModuleHdl, int channel)
 Enables transmitter channel.

void ipmCsdb_txDisable (IpmCsdbHdl ipModuleHdl, int channel)
 Disables transmitter.

bool ipmCsdb_txIsEnabled (IpmCsdbHdl ipModuleHdl, int channel)
 Returns enable status of transmitter channel.

bool ipmCsdb_txIsFull (IpmCsdbHdl ipModuleHdl, int channel)
 Checks if transmitter is almost full.

bool ipmCsdb_txIsOverflown (IpmCsdbHdl ipModuleHdl, int channel)
 Returns buffer overflow status of transmitter and clears overflow condition.

void ipmCsdb_txIntEnable (IpmCsdbHdl ipModuleHdl, int channel)
 Enables transmit interrupt for a transmitter channel.

void ipmCsdb_txIntDisable (IpmCsdbHdl ipModuleHdl, int channel)
 Disables transmit interrupt for a transmitter channel.

bool ipmCsdb_txIntIsEnabled (IpmCsdbHdl ipModuleHdl, int channel)
 Returns interupt enable status of a transmitter channel.


Receive Functions

bool ipmCsdb_receiveStamped (IpmCsdbHdl ipModuleHdl, int channel, uint8_t *csdbWordPtr, uint16_t *timeTagPtr)
 Retrieves a time-stamped CSDB word from receive buffer.

bool ipmCsdb_receive (IpmCsdbHdl ipModuleHdl, int channel, uint8_t *csdbWordPtr)
 Retrieves an CSDB word from receive buffer.

void ipmCsdb_rxEnable (IpmCsdbHdl ipModuleHdl, int channel)
 Enables receiver.

void ipmCsdb_rxDisable (IpmCsdbHdl ipModuleHdl, int channel)
 Disables receiver.

bool ipmCsdb_rxIsEnabled (IpmCsdbHdl ipModuleHdl, int channel)
 Returns enable status of receiver.

bool ipmCsdb_rxIsAvail (IpmCsdbHdl ipModuleHdl, int channel)
 Checks if receiver has data.

bool ipmCsdb_rxIsOverflown (IpmCsdbHdl ipModuleHdl, int channel)
 Returns buffer overflow status of receiver.

void ipmCsdb_rxIntEnable (IpmCsdbHdl ipModuleHdl, int channel)
 Enables receive interrupt for a receiver channel.

void ipmCsdb_rxIntDisable (IpmCsdbHdl ipModuleHdl, int channel)
 Disables receive interrupt for a receiver channel.

bool ipmCsdb_rxIntIsEnabled (IpmCsdbHdl ipModuleHdl, int channel)
 Returns interrupt enable status for a receiver channel.


Channel configuration Functions

int ipmCsdb_getTxChannels (IpmCsdbHdl ipModuleHdl)
 Returns the number of TX channels for this module.

int ipmCsdb_getRxChannels (IpmCsdbHdl ipModuleHdl)
 Returns the number of RX channels for this module.

uint32_t ipmCsdb_getTimer (IpmCsdbHdl ipModuleHdl)
 Read the main timer register.

void ipmCsdb_rxSetRate (IpmCsdbHdl ipModuleHdl, int channel, IpmCsdbBitRate bitRate)
 Set receiver channel baud rate register.

void ipmCsdb_txSetRate (IpmCsdbHdl ipModuleHdl, int channel, IpmCsdbBitRate bitRate)
 Set transmitter channel baud rate register.

void ipmCsdb_setTxEmptyThreshold (IpmCsdbHdl ipModuleHdl, uint16_t value)
 Sets the transmitter FIFO almost empty threshold value.

void ipmCsdb_setTxFullThreshold (IpmCsdbHdl ipModuleHdl, uint16_t value)
 Sets the transmitter FIFO almost full threshold value.

void ipmCsdb_setRxFullThreshold (IpmCsdbHdl ipModuleHdl, uint16_t value)
 Sets the receiver FIFO almost full threshold value.

void ipmCsdb_setRxAgingTimeout (IpmCsdbHdl ipModuleHdl, uint16_t value)
 Sets the receiver FIFO aging time-out value.

void ipmCsdb_rxConfig (IpmCsdbHdl ipModuleHdl, int channel, IpmCsdbConfigOptions option)
 Configures receiver channel.

void ipmCsdb_txConfig (IpmCsdbHdl ipModuleHdl, int channel, IpmCsdbConfigOptions option)
 Configures transmitter channel.


Detailed Description

Library for Max Technologies IPM422/CSDB modules.