Alcor6L/eLua/spi

From Wikibooks, open books for an open world
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 | 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.