Arduino API

Implementation of the Arduino API in RIOT. More...

Detailed Description

Implementation of the Arduino API in RIOT.

Files

file  arduino.hpp
 Main interface definition of the Arduino API.
 
file  serialport.hpp
 Definition of the Arduino 'Serial' interface.
 
file  spiport.hpp
 Definition of the Arduino 'SPI' interface.
 
file  wireport.hpp
 Definition of the Arduino 'Wire Library' for TwoWire interfaces.
 

Macros

#define ARDUINO_UART_DEV   UART_DEV(0)
 UART device to use for Arduino serial.
 
#define ARDUINO_PWM_FREQU   (1000U)
 PWM default frequency. More...
 
#define ARDUINO_PWM_MODE   PWM_LEFT
 PWM mode.
 
#define ARDUINO_PWM_STEPS   (256U)
 PWM steps.
 

Typedefs

typedef bool boolean
 Arduino boolean data type definion.
 
typedef uint8_t byte
 Arduino byte data type definion.
 

Enumerations

enum  { INPUT , OUTPUT , INPUT_PULLUP }
 Possible pin configurations. More...
 
enum  { LOW = 0 , HIGH = 1 }
 Possible pin states. More...
 

Functions

unsigned long millis ()
 Returns the number of milliseconds since start. More...
 
void pinMode (int pin, int mode)
 Configure a pin as either input or output. More...
 
void digitalWrite (int pin, int state)
 Set the value for the given pin. More...
 
int digitalRead (int pin)
 Read the current state of the given pin. More...
 
void delay (unsigned long msec)
 Sleep for a given amount of time [milliseconds]. More...
 
void delayMicroseconds (unsigned long usec)
 Sleep for a given amount of time [microseconds]. More...
 
unsigned long micros ()
 Returns the number of microseconds since start. More...
 
int analogRead (int pin)
 Read the current value of the given analog pin. More...
 
void analogWrite (int pin, int value)
 Write an analog value to a pin. More...
 
static void interrupts (void)
 Enables interrupts.
 
static void noInterrupts (void)
 Disables interrupts.
 

Variables

static SerialPort Serial (ARDUINO_UART_DEV)
 Primary serial port (mapped to ARDUINO_UART_DEV)
 

Macro Definition Documentation

◆ ARDUINO_PWM_FREQU

#define ARDUINO_PWM_FREQU   (1000U)

PWM default frequency.

Can be overridden at board level in arduino_board.h.

See table from https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/ for reference values.

Definition at line 147 of file arduino.hpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Possible pin configurations.

Enumerator
INPUT 

configure pin as input

OUTPUT 

configure pin as output

INPUT_PULLUP 

configure pin as input with pull-up resistor

Definition at line 53 of file arduino.hpp.

◆ anonymous enum

anonymous enum

Possible pin states.

Enumerator
LOW 

pin is cleared

HIGH 

pin is set

Definition at line 62 of file arduino.hpp.

Function Documentation

◆ analogRead()

int analogRead ( int  pin)

Read the current value of the given analog pin.

Parameters
[in]pinpin to read
Returns
a value between 0 to 1023 that is proportionnal to the voltage applied to the pin

◆ analogWrite()

void analogWrite ( int  pin,
int  value 
)

Write an analog value to a pin.

Parameters
[in]pinpin to write
[in]valueduty cycle value, between 0 and 255

◆ delay()

void delay ( unsigned long  msec)

Sleep for a given amount of time [milliseconds].

Parameters
[in]msecnumber of milliseconds to sleep

◆ delayMicroseconds()

void delayMicroseconds ( unsigned long  usec)

Sleep for a given amount of time [microseconds].

Parameters
[in]usecnumber of microseconds to sleep

◆ digitalRead()

int digitalRead ( int  pin)

Read the current state of the given pin.

Parameters
[in]pinpin to read
Returns
state of the given pin, HIGH or LOW

◆ digitalWrite()

void digitalWrite ( int  pin,
int  state 
)

Set the value for the given pin.

Parameters
[in]pinpin to set
[in]stateHIGH or LOW

◆ micros()

unsigned long micros ( )

Returns the number of microseconds since start.

Returns
value of microseconds since start

◆ millis()

unsigned long millis ( )

Returns the number of milliseconds since start.

Returns
value of milliseconds since start

◆ pinMode()

void pinMode ( int  pin,
int  mode 
)

Configure a pin as either input or output.

Parameters
[in]pinpin to configure
[in]modemode to set the pin to