Alcor6L/eLua/spi

From Wikibooks, open books for an open world
Jump to navigation Jump to search

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

Only master SPI mode is implemented in eLua.

Functions[edit]

spi.setup[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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.