arduino-emulator
Classes | Typedefs | Enumerations | Functions | Variables
arduino Namespace Reference

We provide the WiFi class to simulate the Arduino WIFI. In in Linux we can expect that networking is already active. So we dont need to do anything. More...

Classes

struct  __container__
 
class  ArduinoLogger
 A simple Logger that writes messages dependent on the log level. More...
 
class  Client
 
class  EthernetClient
 
class  EthernetImpl
 
class  FileStream
 We use the SerialDef class to be able to provide Serail, Serial1 and Serial2 outside of the Arduino environment;
More...
 
class  HardwareGPIO
 
class  HardwareI2C
 
class  HardwareI2CEx
 
struct  HardwareImpl
 
class  HardwareSerial
 
class  HardwareService
 
class  HardwareSetupImpl
 
class  HardwareSPI
 
class  IPAddress
 
class  PluggableUSB_
 
class  PluggableUSBModule
 
class  Print
 
class  Printable
 
class  RemoteGPIO
 
class  RemoteI2C
 
class  RemoteI2S
 
class  RemoteSerialImpl
 
class  RemoteSPI
 
class  RingBufferExt
 Implementation of a Simple Circular Buffer. Instead of comparing the position of the read and write pointer in order to figure out if we still have characters available or space left to write we keep track of the actual length which is easier to follow. This class was implemented to support the reading and writing of arrays. More...
 
class  RingBufferN
 
class  SerialImpl
 
class  Server
 
class  SocketImpl
 
class  SPISettings
 
class  StdioDevice
 We use the SerialDef class to be able to provide Serail, Serial1 and Serial2 outside of the Arduino environment;
More...
 
class  Stream
 
class  String
 
class  StringSumHelper
 
class  Test
 
class  UDP
 
class  WifiMock
 
class  WiFiUDP
 
class  WiFiUDPStream
 

Typedefs

typedef RingBufferN< SERIAL_BUFFER_SIZE > RingBuffer
 
typedef HardwareSPI SPIClass
 
template<typename T >
using voidTemplateFuncPtrParam = void(*)(T param)
 
typedef EthernetClient WiFiClient
 

Enumerations

enum  HWCalls {
  I2cBegin0 , I2cBegin1 , I2cEnd , I2cSetClock ,
  I2cBeginTransmission , I2cEndTransmission1 , I2cEndTransmission , I2cRequestFrom3 ,
  I2cRequestFrom2 , I2cOnReceive , I2cOnRequest , I2cWrite ,
  I2cAvailable , I2cRead , I2cPeek , SpiTransfer ,
  SpiTransfer8 , SpiTransfer16 , SpiUsingInterrupt , SpiNotUsingInterrupt ,
  SpiBeginTransaction , SpiEndTransaction , SpiAttachInterrupt , SpiDetachInterrupt ,
  SpiBegin , SpiEnd , GpioPinMode , GpioDigitalWrite ,
  GpioDigitalRead , GpioAnalogRead , GpioAnalogReference , GpioAnalogWrite ,
  GpioTone , GpioNoTone , GpioPulseIn , GpioPulseInLong ,
  SerialBegin , SerialEnd , SerialWrite , SerialRead ,
  SerialAvailable , SerialPeek , SerialFlush , I2sSetup ,
  I2sBegin3 , I2sBegin2 , I2sEnd , I2sAvailable ,
  I2sRead , I2sPeek , I2sFlush , I2sWrite ,
  I2sAvailableForWrite , I2sSetBufferSize
}
 
enum  LookaheadMode { SKIP_ALL , SKIP_NONE , SKIP_WHITESPACE }
 
enum  SPIMode { SPI_MODE0 = 0 , SPI_MODE1 = 1 , SPI_MODE2 = 2 , SPI_MODE3 = 3 }
 
enum  wl_status_t {
  WL_NO_SHIELD = 255 , WL_IDLE_STATUS = 0 , WL_NO_SSID_AVAIL , WL_SCAN_COMPLETED ,
  WL_CONNECTED , WL_CONNECT_FAILED , WL_CONNECTION_LOST , WL_DISCONNECTED
}
 

Functions

struct __attribute__ ((packed))
 
int analogRead (pin_size_t pinNumber)
 
void analogReference (uint8_t mode)
 
void analogWrite (pin_size_t pinNumber, int value)
 
template<typename T >
void attachInterrupt (pin_size_t interruptNum, voidTemplateFuncPtrParam< T * > userFunc, PinStatus mode, T *param)
 
template<typename T >
void attachInterrupt (pin_size_t interruptNum, voidTemplateFuncPtrParam< T > userFunc, PinStatus mode, T &param)
 
PinStatus digitalRead (pin_size_t pinNumber)
 
void digitalWrite (pin_size_t pinNumber, int status)
 
void digitalWrite (pin_size_t pinNumber, PinStatus status)
 
bool isAlpha (int c) __attribute__((always_inline))
 
bool isAlphaNumeric (int c) __attribute__((always_inline))
 
bool isAscii (int c) __attribute__((always_inline))
 
bool isControl (int c) __attribute__((always_inline))
 
bool isDigit (int c) __attribute__((always_inline))
 
bool isGraph (int c) __attribute__((always_inline))
 
bool isHexadecimalDigit (int c) __attribute__((always_inline))
 
bool isLowerCase (int c) __attribute__((always_inline))
 
bool isPrintable (int c) __attribute__((always_inline))
 
bool isPunct (int c) __attribute__((always_inline))
 
bool isSpace (int c) __attribute__((always_inline))
 
bool isUpperCase (int c) __attribute__((always_inline))
 
bool isWhitespace (int c) __attribute__((always_inline))
 
void noTone (uint8_t pinNumber)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, char c)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, const __FlashStringHelper *rhs)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, const char *cstr)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, const String &rhs)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, double num)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, float num)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, int num)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, long num)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, unsigned char num)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, unsigned int num)
 
StringSumHelperoperator+ (const StringSumHelper &lhs, unsigned long num)
 
void pinMode (pin_size_t pinNumber, int mode)
 
void pinMode (pin_size_t pinNumber, PinMode pinMode)
 
unsigned long pulseIn (uint8_t pinNumber, uint8_t state, unsigned long timeout=1000000L)
 Reads a pulse (either HIGH or LOW) on a pin.
 
unsigned long pulseInLong (uint8_t pinNumber, uint8_t state, unsigned long timeout=1000000L)
 Reads a pulse (either HIGH or LOW) on a pin.
 
void serialEventRun (void) __attribute__((weak))
 
int toAscii (int c) __attribute__((always_inline))
 
int toLowerCase (int c) __attribute__((always_inline))
 
void tone (uint8_t pinNumber, unsigned int frequency, unsigned long duration=0)
 
int toUpperCase (int c) __attribute__((always_inline))
 

Variables

const SPISettings DEFAULT_SPI_SETTINGS = SPISettings()
 
EthernetImpl Ethernet
 
HardwareImpl Hardware
 
HardwareSetupImpl HardwareSetup
 
const IPAddress INADDR_NONE
 
ArduinoLogger Logger
 
StdioDevice Serial
 
SerialImpl Serial1 ("/dev/ttyACM0")
 
const char * SOCKET_IMPL = "SocketImpl"
 
 USBSetup
 
WifiMock WiFi
 

Detailed Description

We provide the WiFi class to simulate the Arduino WIFI. In in Linux we can expect that networking is already active. So we dont need to do anything.

We support different implementations for GPIO. These are the implementations for the public methods defined by Common.h

We suppport different implementations for the I2C

We suppport different implementations for the SPI

We virtualize the hardware and send the requests and replys over a stream.

Separate implementation class for the WIFI client to prevent import conflicts

Enumeration Type Documentation

◆ HWCalls

We virtualize the hardware and send the requests and replys over a stream.