Jump to content

Alcor6L/eLua/spi

From Wikibooks, open books for an open world

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

Only master SPI mode is implemented in eLua.

Functions

[edit | edit source]

spi.setup

[edit | edit source]

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

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

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

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

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.