COSA
An Object-Oriented Platform for Arduino Programming
|
Cosa core data structures, support classes and run-time abstractions.
Common data types and syntax abstractions.
Issue a function periodically within a given time frame.
Issue a function at a specific time. The alarm may be reissued.
Compare input values on the positive pin AIN0 and negative pin AIN1 or ADCn (class AnalogComparator).
Abstract analog pin (class AnalogPin). Allows asynchronous sampling.
Abstract analog pin set (class AnalogPins). Allow sampling of a set of pins with interrupt or event handler when completed.
Simple two digit BCD convertion functions.
Bit mask, set and field access macro set.
Bitset handling.
Driver for the ATmega/ATtiny internal EEPROM and abstraction of EEPROM devices.
Event data structure with type, source and value (class Event).
Abstract external interrupt pin (class ExternalInterruptPin). Allows interrupt handling on the pin value changes.
Simple class for fixed point number representation (class FixedPoint)
Abstract interface for SPI Flash Memory.
Abstract interface for File Systems.
Finite State Machine support class. States are represented as an Event handler. Supports timeout events and period timed state machines.
Abstract input pin (class InputPin). Allows pullup mode.
Abstract pin that may switch between input and output pin (class IOPin).
Interface for Interrupt Handlers.
LED support class; background alert and normal blink.
The Cosa collection handling class; double linked circulic list.
Template class for event listener.
Synchronized block handling class.
Memory utility.
Mathematical support functions.
Tone generation support definitions.
Abstract output pin (class OutputPin).
Periodic function handler. Syntactic sugar for watchdog timeout event handlers (class Periodic).
Arduino pins abstractions (Pin); abstract, input, output, interrupt and analog pin. Captures the mapping from Arduino to processor pins. Forces declarative programming of pins in sketches.
Abstract interrupt pin (class PinChangeInterrupt). Allows interrupt handling on the pin value changes.
Power Management and Sleep modes.
Abstract pulse width modulation pin (class PWMPin).
Template class for ring-buffer for queueing data elements.
Abstract Resource Handler; secure acquire and release of resources.
Real-Time Timer (micro/milli-second).
Abstract Serial IOStream device class.
Simple Servo motor driver (Timer/OutputPin).
Abstract network interface. Implemented by W5100 (SPI) device driver.
The Serial Peripheral Interface (SPI) device driver support class.
String handling class.
Common date/time structure for real-time clocks.
Tone/Note generator.
Program trace and system log support functions and macros.
The I2C/TWI device driver support class (Two Wire Interface, TWI).
The Atmega Watchdog is used as a low power timer for period events and delay.
Abstract interface for wireless devices.