Alcor6L/eLua/spi

This module contains functions for accessing the SPI interfaces of the eLua CPU.

Only master SPI mode is implemented in eLua.

=Functions=

spi.setup
Setup the SPI interface

clock = spi.setup( id, type, clock, cpol, cpha, databits )


 * id - the ID of the SPI interface.
 * type - SPI interface type, can be either spi.MASTER or spi.SLAVE. NOTE: currently, only master SPI mode is supported.
 * clock - the clock of the SPI interface.
 * cpol - the clock polarity (0 or 1).
 * cpha - the clock phase (0 or 1).
 * databits - the length of the SPI data word.

Returns:
 * clock - The actual clock set on the SPI interface. Depending on the hardware, this might have a different value than the clock parameter.

spi.sson
Select the SS line (Slave Select) of the SPI interface. This is only applicable for SPI interfaces with a dedicated SS pin.

spi.sson( id )


 * id - the ID of the SPI interface.

Returns: nothing.

spi.ssoff
Deselect the SS line (Slave Select) of the SPI interface. This is only applicable for SPI interfaces with a dedicated SS pin.

spi.ssoff( id )

Arguments:
 * id - the ID of the SPI interface.

Returns: nothing.

spi.write
Write one or more strings/numbers to the SPI interface.

spi.write( id, data1, [data2], ..., [datan] )


 * id - the ID of the SPI interface.
 * data1 - the first string/number to send.
 * data2 (optional) - the second string/number to send.
 * datan (optional) - the n-th string/number to send.

Returns: nothing.

spi.readwrite
Write one or more strings/numbers to the SPI interface and return the data read from the same interface.

data = spi.readwrite( id, data1, [data2], ..., [datan] )


 * id - the ID of the SPI interface.
 * data1 - the first string/number to send.
 * data2 (optional) - the second string/number to send.
 * datan (optional) - the n-th string/number to send.

Returns:
 * data - An array with all the data read from the SPI interface.