This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

Class

SPI

Name

settings()

Examples
import processing.io.*;
SPI adc;

void setup() {
  //printArray(SPI.list());
  adc = new SPI(SPI.list()[0]);
  adc.settings(500000, SPI.MSBFIRST, SPI.MODE0);
}

void draw() {
  // read in values over SPI from an analog-to-digital
  // converter
  // dummy write, actual values don't matter
  byte[] out = { 0, 0 };
  byte[] in = adc.transfer(out);
  // some input bit shifting according to the datasheet
  int val = ((in[0] & 0x1f) << 5) | ((in[1] & 0xf8) >> 3);
  // val is between 0 and 1023
  println(val);
}

Description Configures the SPI interface

The default setting is: 500000, SPI.MSBFIRST, SPI.MODE0
Syntax
.settings(maxSpeed, dataOrder, mode)
Parameters
maxSpeed int: maximum transmission rate in Hz, 500000 (500 kHz) is a resonable default
dataOrder int: whether data is send with the first- or least-significant bit first (SPI.MSBFIRST or SPI.LSBFIRST, the former is more common)
mode int: SPI.MODE0 to SPI.MODE3
Returnsvoid
Updated on January 1, 2021 03:38:10am EST