spibus0gpio.c File Reference

Go to the source code of this file.

Functions

int GpioSpiBus0Transfer (NUTSPINODE *node, CONST void *txbuf, void *rxbuf, int xlen)
 Transfer data on the SPI bus.
int GpioSpiBus0NodeInit (NUTSPINODE *node)
 Initialize an SPI bus node.
int GpioSpiBus0Select (NUTSPINODE *node, uint32_t tmo)
 Select a device on the SPI bus.
int GpioSpiBus0Deselect (NUTSPINODE *node)
 Deselect a device on the SPI bus.

Variables

NUTSPIBUS spiBus0Gpio
 AVR SPI bus driver implementation structure.

Function Documentation

int GpioSpiBus0Transfer ( NUTSPINODE *  node,
CONST void *  txbuf,
void *  rxbuf,
int  xlen 
)

Transfer data on the SPI bus.

A device must have been selected by calling GpioSpi0Select().

Parameters:
node Specifies the SPI bus node.
txbuf Pointer to the transmit buffer. If NULL, undetermined byte values are transmitted.
rxbuf Pointer to the receive buffer. If NULL, then incoming data is discarded.
xlen Number of bytes to transfer.
Returns:
Always 0.

Definition at line 301 of file spibus0gpio.c.

References NUTASSERT, SPI_MODE_0, SPI_MODE_1, SPI_MODE_2, and SPI_MODE_3.

int GpioSpiBus0NodeInit ( NUTSPINODE *  node  ) 

Initialize an SPI bus node.

This routine is called for each SPI node, which is registered via NutRegisterSpiDevice().

Parameters:
node Specifies the SPI bus node.
Returns:
0 on success or -1 if there is no valid chip select.

Definition at line 339 of file spibus0gpio.c.

References GpioSpiSetup(), NUTASSERT, and SPI_MODE_CSHIGH.

int GpioSpiBus0Select ( NUTSPINODE *  node,
uint32_t  tmo 
)

Select a device on the SPI bus.

Locks and activates the bus for the specified node.

Parameters:
node Specifies the SPI bus node.
tmo Timeout in milliseconds. To disable timeout, set this parameter to NUT_WAIT_INFINITE.
Returns:
0 on success. In case of an error, -1 is returned and the bus is not locked.

Definition at line 364 of file spibus0gpio.c.

References EIO, errno, GPIO_CFG_OUTPUT, GpioPinConfigSet(), GpioPinSetLow(), GpioSpiSetup(), NUTASSERT, NutEventPost(), NutEventWait(), SPI_MODE_CPOL, SPI_MODE_CSHIGH, and SPI_MODE_UPDATE.

int GpioSpiBus0Deselect ( NUTSPINODE *  node  ) 

Deselect a device on the SPI bus.

Deactivates the chip select and unlocks the bus.

Parameters:
node Specifies the SPI bus node.
Returns:
Always 0.

Definition at line 411 of file spibus0gpio.c.

References NUTASSERT, NutEventPost(), and SPI_MODE_CSHIGH.


Variable Documentation

NUTSPIBUS spiBus0Gpio
Initial value:

AVR SPI bus driver implementation structure.

Definition at line 429 of file spibus0gpio.c.


© 2000-2010 by contributors - visit http://www.ethernut.de/