reference

This documentation is automatically generated from the openFrameworks source code using doxygen and refers to the most recent release, version 0.12.0.

ofArduino.h File Reference
#include "ofEvents.h"
#include "ofSerial.h"
#include "ofConstants.h"
#include <list>
#include <map>

Go to the source code of this file.

Classes

struct  supportedPinTypes
 
struct  Firmata_I2C_Data
 
struct  Firmata_Encoder_Data
 
struct  Firmata_Stepper_Data
 
struct  Firmata_Serial_Data
 
class  ofArduino
 This is a way to control an Arduino that has had the firmata library loaded onto it, from OF. More...
 

Macros

#define FIRMATA_MAJOR_VERSION   2
 
#define FIRMATA_MINOR_VERSION   5
 
#define FIRMATA_BUGFIX_VERSION   0
 
#define FIRMATA_MAX_DATA_BYTES   64
 
#define DIGITAL_MESSAGE   0x90
 
#define ANALOG_MESSAGE   0xE0
 
#define REPORT_ANALOG   0xC0
 
#define REPORT_DIGITAL   0xD0
 
#define SET_PIN_MODE   0xF4
 
#define SET_DIGITAL_PIN_VALUE   0xF5
 
#define REPORT_VERSION   0xF9
 
#define SYSTEM_RESET   0xFF
 
#define START_SYSEX   0xF0
 
#define END_SYSEX   0xF7
 
#define SERIAL_MESSAGE   0x60
 
#define ENCODER_DATA   0x61
 
#define SERVO_CONFIG   0x70
 
#define STRING_DATA   0x71
 
#define STEPPER_DATA   0x72
 
#define ONEWIRE_DATA   0x73
 
#define SHIFT_DATA   0x75
 
#define I2C_REQUEST   0x76
 
#define I2C_REPLY   0x77
 
#define I2C_CONFIG   0x78
 
#define EXTENDED_ANALOG   0x6F
 
#define PIN_STATE_QUERY   0x6D
 
#define PIN_STATE_RESPONSE   0x6E
 
#define CAPABILITY_QUERY   0x6B
 
#define CAPABILITY_RESPONSE   0x6C
 
#define ANALOG_MAPPING_QUERY   0x69
 
#define ANALOG_MAPPING_RESPONSE   0x6A
 
#define REPORT_FIRMWARE   0x79
 
#define SAMPLING_INTERVAL   0x7A
 
#define SCHEDULER_DATA   0x7B
 
#define SYSEX_NON_REALTIME   0x7E
 
#define SYSEX_REALTIME   0x7F
 
#define ARD_INPUT   0x00
 
#define ARD_OUTPUT   0x01
 
#define ARD_ANALOG   0x02
 
#define ARD_PWM   0x03
 
#define ARD_SERVO   0x04
 
#define ARD_SHIFT   0x05
 
#define ARD_I2C   0x06
 
#define ARD_ONEWIRE   0x07
 
#define ARD_STEPPER   0x08
 
#define ARD_ENCODER   0x09
 
#define ARD_SERIAL   0x0A
 
#define ARD_INPUT_PULLUP   0x0B
 
#define ARD_IGNORE   0x7F
 
#define TOTAL_PIN_MODES   13
 
#define MAX_STEPPERS   6
 
#define STEPPER_CONFIG   0
 
#define STEPPER_STEP   1
 
#define ONEWIRE_SEARCH_REQUEST   0x40
 
#define ONEWIRE_CONFIG_REQUEST   0x41
 
#define ONEWIRE_SEARCH_REPLY   0x42
 
#define ONEWIRE_READ_REPLY   0x43
 
#define ONEWIRE_SEARCH_ALARMS_REQUEST   0x44
 
#define ONEWIRE_SEARCH_ALARMS_REPLY   0x45
 
#define ONEWIRE_RESET_REQUEST_BIT   0x01
 
#define ONEWIRE_SKIP_REQUEST_BIT   0x02
 
#define ONEWIRE_SELECT_REQUEST_BIT   0x04
 
#define ONEWIRE_READ_REQUEST_BIT   0x08
 
#define ONEWIRE_DELAY_REQUEST_BIT   0x10
 
#define ONEWIRE_WRITE_REQUEST_BIT   0x20
 
#define ONEWIRE_WITHDATA_REQUEST_BITS   0x3C
 
#define ONEWIRE_POWER   1
 
#define I2C_WRITE   B00000000
 
#define I2C_READ   B00001000
 
#define I2C_READ_CONTINUOUSLY   B00010000
 
#define I2C_STOP_READING   B00011000
 
#define I2C_READ_WRITE_MODE_MASK   B00011000
 
#define I2C_10BIT_ADDRESS_MODE_MASK   B00100000
 
#define I2C_END_TX_MASK   B01000000
 
#define I2C_STOP_TX   1
 
#define I2C_RESTART_TX   0
 
#define I2C_MAX_QUERIES   8
 
#define I2C_REGISTER_NOT_SPECIFIED   -1
 
#define MAX_ENCODERS   5
 
#define ENCODER_ATTACH   0x00
 
#define ENCODER_REPORT_POSITION   0x01
 
#define ENCODER_REPORT_POSITIONS   0x02
 
#define ENCODER_RESET_POSITION   0x03
 
#define ENCODER_REPORT_AUTO   0x04
 
#define ENCODER_DETACH   0x05
 
#define ENCODER_DIRECTION_MASK   0x40
 
#define ENCODER_CHANNEL_MASK   0x3F
 
#define SERIAL_CONFIG   0x10
 
#define SERIAL_WRITE   0x20
 
#define SERIAL_READ   0x30
 
#define SERIAL_REPLY   0x40
 
#define SERIAL_CLOSE   0x50
 
#define SERIAL_FLUSH   0x60
 
#define SERIAL_LISTEN   0x70
 
#define ARD_TOTAL_PORTS   15
 
#define ARD_HIGH   1
 
#define ARD_LOW   0
 
#define ARD_ON   1
 
#define ARD_OFF   0
 
#define OF_ARDUINO_DELAY_LENGTH   4.0
 

Typedefs

typedef ofArduino ofStandardFirmata
 

Enumerations

enum  Firmata_Pin_Modes {
  MODE_INPUT , MODE_OUTPUT , MODE_INPUT_PULLUP , MODE_ANALOG ,
  MODE_PWM , MODE_SERVO , MODE_I2C , MODE_SERIAL ,
  MODE_ONEWIRE , MODE_STEPPER , MODE_ENCODER
}
 
enum  Firmata_Stepper_Interface { FIRMATA_STEPPER_DRIVER = 1 , FIRMATA_STEPPER_TWO_WIRE = 2 , FIRMATA_STEPPER_FOUR_WIRE = 3 }
 
enum  Firmata_Stepper_Direction { FIRMATA_STEPPER_CCW = 0 , FIRMATA_STEPPER_CW = 1 }
 
enum  Firmata_I2C_Modes { FIRMATA_I2C_WRITE = 0x00 , FIRMATA_I2C_READ = 1 , FIRMATA_I2C_CONTINUOUS_READ = 2 , FIRMATA_I2C_STOP_READING = 3 }
 
enum  Firmata_Serial_Modes { FIRMATA_SERIAL_READ_CONTINUOUS = 0x00 , FIRMATA_SERIAL_STOP_READING = 0x01 }
 
enum  Firmata_Serial_Ports {
  HW_SERIAL0 = 0x00 , HW_SERIAL1 = 0x01 , HW_SERIAL2 = 0x02 , HW_SERIAL3 = 0x03 ,
  SW_SERIAL0 = 0x08 , SW_SERIAL1 = 0x09 , SW_SERIAL2 = 0x10 , SW_SERIAL3 = 0x11
}
 ids for hardware and software serial ports on the board More...
 

Macro Definition Documentation

◆ ANALOG_MAPPING_QUERY

#define ANALOG_MAPPING_QUERY   0x69

◆ ANALOG_MAPPING_RESPONSE

#define ANALOG_MAPPING_RESPONSE   0x6A

◆ ANALOG_MESSAGE

#define ANALOG_MESSAGE   0xE0

◆ ARD_ANALOG

#define ARD_ANALOG   0x02

◆ ARD_ENCODER

#define ARD_ENCODER   0x09

◆ ARD_HIGH

#define ARD_HIGH   1

◆ ARD_I2C

#define ARD_I2C   0x06

◆ ARD_IGNORE

#define ARD_IGNORE   0x7F

◆ ARD_INPUT

#define ARD_INPUT   0x00

◆ ARD_INPUT_PULLUP

#define ARD_INPUT_PULLUP   0x0B

◆ ARD_LOW

#define ARD_LOW   0

◆ ARD_OFF

#define ARD_OFF   0

◆ ARD_ON

#define ARD_ON   1

◆ ARD_ONEWIRE

#define ARD_ONEWIRE   0x07

◆ ARD_OUTPUT

#define ARD_OUTPUT   0x01

◆ ARD_PWM

#define ARD_PWM   0x03

◆ ARD_SERIAL

#define ARD_SERIAL   0x0A

◆ ARD_SERVO

#define ARD_SERVO   0x04

◆ ARD_SHIFT

#define ARD_SHIFT   0x05

◆ ARD_STEPPER

#define ARD_STEPPER   0x08

◆ ARD_TOTAL_PORTS

#define ARD_TOTAL_PORTS   15

◆ CAPABILITY_QUERY

#define CAPABILITY_QUERY   0x6B

◆ CAPABILITY_RESPONSE

#define CAPABILITY_RESPONSE   0x6C

◆ DIGITAL_MESSAGE

#define DIGITAL_MESSAGE   0x90

◆ ENCODER_ATTACH

#define ENCODER_ATTACH   0x00

◆ ENCODER_CHANNEL_MASK

#define ENCODER_CHANNEL_MASK   0x3F

◆ ENCODER_DATA

#define ENCODER_DATA   0x61

◆ ENCODER_DETACH

#define ENCODER_DETACH   0x05

◆ ENCODER_DIRECTION_MASK

#define ENCODER_DIRECTION_MASK   0x40

◆ ENCODER_REPORT_AUTO

#define ENCODER_REPORT_AUTO   0x04

◆ ENCODER_REPORT_POSITION

#define ENCODER_REPORT_POSITION   0x01

◆ ENCODER_REPORT_POSITIONS

#define ENCODER_REPORT_POSITIONS   0x02

◆ ENCODER_RESET_POSITION

#define ENCODER_RESET_POSITION   0x03

◆ END_SYSEX

#define END_SYSEX   0xF7

◆ EXTENDED_ANALOG

#define EXTENDED_ANALOG   0x6F

◆ FIRMATA_BUGFIX_VERSION

#define FIRMATA_BUGFIX_VERSION   0

◆ FIRMATA_MAJOR_VERSION

#define FIRMATA_MAJOR_VERSION   2

◆ FIRMATA_MAX_DATA_BYTES

#define FIRMATA_MAX_DATA_BYTES   64

◆ FIRMATA_MINOR_VERSION

#define FIRMATA_MINOR_VERSION   5

◆ I2C_10BIT_ADDRESS_MODE_MASK

#define I2C_10BIT_ADDRESS_MODE_MASK   B00100000

◆ I2C_CONFIG

#define I2C_CONFIG   0x78

◆ I2C_END_TX_MASK

#define I2C_END_TX_MASK   B01000000

◆ I2C_MAX_QUERIES

#define I2C_MAX_QUERIES   8

◆ I2C_READ

#define I2C_READ   B00001000

◆ I2C_READ_CONTINUOUSLY

#define I2C_READ_CONTINUOUSLY   B00010000

◆ I2C_READ_WRITE_MODE_MASK

#define I2C_READ_WRITE_MODE_MASK   B00011000

◆ I2C_REGISTER_NOT_SPECIFIED

#define I2C_REGISTER_NOT_SPECIFIED   -1

◆ I2C_REPLY

#define I2C_REPLY   0x77

◆ I2C_REQUEST

#define I2C_REQUEST   0x76

◆ I2C_RESTART_TX

#define I2C_RESTART_TX   0

◆ I2C_STOP_READING

#define I2C_STOP_READING   B00011000

◆ I2C_STOP_TX

#define I2C_STOP_TX   1

◆ I2C_WRITE

#define I2C_WRITE   B00000000

◆ MAX_ENCODERS

#define MAX_ENCODERS   5

◆ MAX_STEPPERS

#define MAX_STEPPERS   6

◆ OF_ARDUINO_DELAY_LENGTH

#define OF_ARDUINO_DELAY_LENGTH   4.0

◆ ONEWIRE_CONFIG_REQUEST

#define ONEWIRE_CONFIG_REQUEST   0x41

◆ ONEWIRE_DATA

#define ONEWIRE_DATA   0x73

◆ ONEWIRE_DELAY_REQUEST_BIT

#define ONEWIRE_DELAY_REQUEST_BIT   0x10

◆ ONEWIRE_POWER

#define ONEWIRE_POWER   1

◆ ONEWIRE_READ_REPLY

#define ONEWIRE_READ_REPLY   0x43

◆ ONEWIRE_READ_REQUEST_BIT

#define ONEWIRE_READ_REQUEST_BIT   0x08

◆ ONEWIRE_RESET_REQUEST_BIT

#define ONEWIRE_RESET_REQUEST_BIT   0x01

◆ ONEWIRE_SEARCH_ALARMS_REPLY

#define ONEWIRE_SEARCH_ALARMS_REPLY   0x45

◆ ONEWIRE_SEARCH_ALARMS_REQUEST

#define ONEWIRE_SEARCH_ALARMS_REQUEST   0x44

◆ ONEWIRE_SEARCH_REPLY

#define ONEWIRE_SEARCH_REPLY   0x42

◆ ONEWIRE_SEARCH_REQUEST

#define ONEWIRE_SEARCH_REQUEST   0x40

◆ ONEWIRE_SELECT_REQUEST_BIT

#define ONEWIRE_SELECT_REQUEST_BIT   0x04

◆ ONEWIRE_SKIP_REQUEST_BIT

#define ONEWIRE_SKIP_REQUEST_BIT   0x02

◆ ONEWIRE_WITHDATA_REQUEST_BITS

#define ONEWIRE_WITHDATA_REQUEST_BITS   0x3C

◆ ONEWIRE_WRITE_REQUEST_BIT

#define ONEWIRE_WRITE_REQUEST_BIT   0x20

◆ PIN_STATE_QUERY

#define PIN_STATE_QUERY   0x6D

◆ PIN_STATE_RESPONSE

#define PIN_STATE_RESPONSE   0x6E

◆ REPORT_ANALOG

#define REPORT_ANALOG   0xC0

◆ REPORT_DIGITAL

#define REPORT_DIGITAL   0xD0

◆ REPORT_FIRMWARE

#define REPORT_FIRMWARE   0x79

◆ REPORT_VERSION

#define REPORT_VERSION   0xF9

◆ SAMPLING_INTERVAL

#define SAMPLING_INTERVAL   0x7A

◆ SCHEDULER_DATA

#define SCHEDULER_DATA   0x7B

◆ SERIAL_CLOSE

#define SERIAL_CLOSE   0x50

◆ SERIAL_CONFIG

#define SERIAL_CONFIG   0x10

◆ SERIAL_FLUSH

#define SERIAL_FLUSH   0x60

◆ SERIAL_LISTEN

#define SERIAL_LISTEN   0x70

◆ SERIAL_MESSAGE

#define SERIAL_MESSAGE   0x60

◆ SERIAL_READ

#define SERIAL_READ   0x30

◆ SERIAL_REPLY

#define SERIAL_REPLY   0x40

◆ SERIAL_WRITE

#define SERIAL_WRITE   0x20

◆ SERVO_CONFIG

#define SERVO_CONFIG   0x70

◆ SET_DIGITAL_PIN_VALUE

#define SET_DIGITAL_PIN_VALUE   0xF5

◆ SET_PIN_MODE

#define SET_PIN_MODE   0xF4

◆ SHIFT_DATA

#define SHIFT_DATA   0x75

◆ START_SYSEX

#define START_SYSEX   0xF0

◆ STEPPER_CONFIG

#define STEPPER_CONFIG   0

◆ STEPPER_DATA

#define STEPPER_DATA   0x72

◆ STEPPER_STEP

#define STEPPER_STEP   1

◆ STRING_DATA

#define STRING_DATA   0x71

◆ SYSEX_NON_REALTIME

#define SYSEX_NON_REALTIME   0x7E

◆ SYSEX_REALTIME

#define SYSEX_REALTIME   0x7F

◆ SYSTEM_RESET

#define SYSTEM_RESET   0xFF

◆ TOTAL_PIN_MODES

#define TOTAL_PIN_MODES   13

Typedef Documentation

◆ ofStandardFirmata

Enumeration Type Documentation

◆ Firmata_I2C_Modes

Enumerator
FIRMATA_I2C_WRITE 
FIRMATA_I2C_READ 
FIRMATA_I2C_CONTINUOUS_READ 
FIRMATA_I2C_STOP_READING 

◆ Firmata_Pin_Modes

Enumerator
MODE_INPUT 
MODE_OUTPUT 
MODE_INPUT_PULLUP 
MODE_ANALOG 
MODE_PWM 
MODE_SERVO 
MODE_I2C 
MODE_SERIAL 
MODE_ONEWIRE 
MODE_STEPPER 
MODE_ENCODER 

◆ Firmata_Serial_Modes

Enumerator
FIRMATA_SERIAL_READ_CONTINUOUS 
FIRMATA_SERIAL_STOP_READING 

◆ Firmata_Serial_Ports

ids for hardware and software serial ports on the board

Enumerator
HW_SERIAL0 
HW_SERIAL1 
HW_SERIAL2 
HW_SERIAL3 
SW_SERIAL0 
SW_SERIAL1 
SW_SERIAL2 
SW_SERIAL3 

◆ Firmata_Stepper_Direction

Enumerator
FIRMATA_STEPPER_CCW 
FIRMATA_STEPPER_CW 

◆ Firmata_Stepper_Interface

Enumerator
FIRMATA_STEPPER_DRIVER 
FIRMATA_STEPPER_TWO_WIRE 
FIRMATA_STEPPER_FOUR_WIRE