|
FastArduino v1.10
C++ library to build fast but small Arduino/AVR projects
|
| ►Nanalog | Defines all API to manipulate analog input/output |
| CAnalogComparator | Handler of the Analog Comparator feature |
| CAnalogInput | API that handles a given analog input pin of the target MCU |
| CPowerVoltage | API that uses bandgap feature to calculate current voltage fed to the MCU |
| CPWMOutput | Construct a new handler for a PWM output pin |
| ►Ncontainers | Contains all FastArduino generic containers: |
| Carray | Container that encapsulates a fixed size array |
| CLink | A wrapper for items stored in a LinkedList |
| CLinkedList | Linked list of type T_ items |
| CLinkWrapper | A wrapper for items stored in a LinkedList |
| CQueue | Queue of type T_ items |
| ►Ndevices | Defines all API for all external devices supported by FastArduino |
| ►Naudio | Defines API for audio tones (square waves) generation and simple melodies playing |
| CAbstractTonePlayer | This low-level API defines an abstract player of melodies (defined as a sequence of tones and durations) |
| CAsyncTonePlayer | This API defines a player of melodies, defined as a sequence of tones and durations |
| CBeat | This embeds minimum duration (duration of a 32nd note), in milliseconds, for a given tempo (beats per minute) |
| CQTonePlay | An optimized surrogate to TonePlay structure |
| CToneGenerator | API class for tone generation to a buzzer (or better an amplifier) connected to pin OUTPUT |
| CTonePlay | This struct is the unit data manipulated by TonePlayer: it describes one Tone along with its duration in milliseconds |
| CTonePlayer | This API defines a player of melodies, defined as a sequence of tones and durations |
| ►Ndisplay | Defines generic API for all display devices |
| CDefaultVerticalFont7x5 | |
| CDisplay | Class handling drawing primitives on any display device |
| CDisplayDeviceTrait | Traits for display devices |
| CDisplayDeviceTrait_impl | Default base class for all DisplayDeviceTrait |
| CDrawContext | Drawing Context passed to display devices low-level primitives set_pixel() and write_char() |
| CDrawMode | Drawing Mode to use for Display drawing primitives |
| CFont | Generic font support class |
| CLCD5110 | SPI device driver for Nokia 5110 display chip |
| ►Nmagneto | Defines API for magnetic sensors for direction, speed and acceleration properties |
| CAllSensors | Structure to store all MPU6050 sensors data (3 axis gyroscope and accelerometer, chip temperature) |
| CFIFOEnable | Configuration for MPU6050 FIFO Enable register (register map §4.6) |
| ►CHMC5883L | I2C device driver for the HMC5883L compass chip |
| CBeginFuture | Create a future to be used by asynchronous method begin(BeginFuture&) |
| CINTStatus | The structure of the Interrupt Status register (register map §4.16) |
| ►CMPU6050 | I2C device driver for the MPU6050 gyroscope/accelerometer chip |
| CBeginFuture | Create a future to be used by asynchronous method begin(BeginFuture&) |
| CEndFuture | Create a future to be used by asynchronous method end(EndFuture&) |
| CFifoBeginFuture | Create a future to be used by asynchronous method begin(FifoBeginFuture&) |
| CResetFuture | Create a future to be used by asynchronous method reset(ResetFuture&) |
| CSensor3D | Structure to store 3 axis data for one sensor (gyroscope or accelerometer) |
| CStatus | The chip status, as defined in datasheet p16 |
| ►Nmcp230xx | Defines the API for MCP23008/MCP23017 chips support |
| ►CMCP23008 | I2C device driver for Microchip MCP23008 support |
| CConfigureGPIOFuture | Create a future to be used by asynchronous method configure_gpio(ConfigureGPIOFuture&) |
| CConfigureInterruptsFuture | Create a future to be used by asynchronous method configure_interrupts(ConfigureInterruptsFuture&) |
| ►CMCP23017 | I2C device driver for Microchip MCP23017 support |
| CBeginFuture | Create a future to be used by asynchronous method begin(BeginFuture&) |
| CConfigureGPIOFuture | Create a future to be used by asynchronous method configure_gpio(ConfigureGPIOFuture |
| CConfigureInterruptsFuture | Create a future to be used by asynchronous method configure_interrupts(ConfigureInterruptsFuture<P_>&) |
| ►Nmcp3x0x | Defines the API for MicroChip ADC chips family support |
| CMCP3x0x | Generic class to support (almost) any chip of the SPI-based MicroChip ADC chips family (MCP3001-2-4-8, MCP3201-2-4-8, MCP3301-2-4) |
| ►Nprotocols | Defines utility classes to implement various protocols used in several devices, like Wiegand |
| CWiegand | Supporting class for the Wiegand 26 bits protocol (used by many access control devices) |
| ►Nrf | Defines the API for radio-frequency (wireless) communication support |
| CIRQ_NRF24L01 | SPI device driver for Nordic Semiconductor nRF24L01+ support, with IRQ |
| ►CNRF24L01 | SPI device driver for Nordic Semiconductor nRF24L01+ support, without IRQ support |
| Caddr_t | Network address together with port |
| Cfifo_status_t | Register FIFO_STATUS data type, transmission queue status |
| Cobserve_tx_t | Register OBSERVE_TX data type, performance statistics |
| Cstatus_t | Register STATUS data type |
| ►Nrfid | This namespace contains classes to support various RFID devices |
| CGrove125KHzRFIDReaderUART | Support for seeedstudio Grove 125KHz RFID Reader in UART mode |
| CGrove125KHzRFIDReaderWiegandEXT | Support for seeedstudio Grove 125KHz RFID Reader in Wiegand mode |
| CGrove125KHzRFIDReaderWiegandPCI | Support for seeedstudio Grove 125KHz RFID Reader in Wiegand mode |
| ►Nrtc | Defines API for Real-Time Clock chips usage |
| ►CDS1307 | I2C device driver for the DS1307 RTC chip |
| CDisableOutputFuture | Create a future to be used by asynchronous method disable_output(DisableOutputFuture&) |
| CEnableOutputFuture | Create a future to be used by asynchronous method enable_output(EnableOutputFuture&) |
| CGetRam1Future | Create a future to be used by asynchronous method get_ram(GetRam1Future&) |
| CGetRamFuture | Create a future to be used by asynchronous method get_ram(GetRamFuture<SIZE>&) |
| CHaltClockFuture | Create a future to be used by asynchronous method halt_clock(HaltClockFuture&) |
| CSetRam1Future | Create a future to be used by asynchronous method set_ram(SetRam1Future&) |
| CSetRamFuture | Create a future to be used by asynchronous method set_ram(SetRamFuture<SIZE>&) |
| Ctm | The datetime structure used by the RTC API |
| ►Nservo | Defines the API for servomotor support |
| CServo | This template class supports one servomotor connected to a PWM pin |
| ►Nsonar | Defines the API for sonar support |
| CAbstractSonar | An abstract base class for some sonar classes defined as part of this API |
| CHCSR04 | |
| CMultiHCSR04 | This template class supports up to 8 HC-SR04 sonars (or equivalent sensors), with their trigger pins gathered and connected to only one MCU pin, and all echo pins connected to the same MCU board::Port |
| CSonarEvent | This type holds information about events occurring within MultiHCSR04 handler |
| ►Nvl53l0x | Defines API for VL53L0X Time-of-Flight ranging sensor chip usage |
| CDeviceStatus | Status of device as retrieved by VL53L0X::get_range_status() |
| CFixPoint9_7 | Helper class to handle VL53L0X special fix-point 9.7 values |
| CGPIOSettings | Settings for behavior of VL53L0X GPIO pin |
| CSequenceSteps | Hold VL53L0X sequence steps to use for ranging |
| CSequenceStepsTimeout | Hold VL53L0X sequence steps timeouts and other related settings used for ranging |
| CSPADInfo | Hold SPAD information from VL53L0X device |
| CSPADReference | Hold reference SPADs (Single Photon Avalanche Diode) |
| ►CVL53L0X | I2C device driver for the VL53L0X ToF ranging chip |
| CGetGPIOSettingsFuture | Future to get device current GPIO settings |
| CSetGPIOSettingsFuture | Future to set device GPIO settings |
| CSIPO | This template class supports one SIPO chip, connected to the MCU through 3 pins |
| ►CWinBond | SPI device driver for WinBond flash memory chips, like W25Q80BV (8 Mbit flash) |
| CDevice | Device information (§6.2.31) |
| CStatus | This type maps WinBond Status register (§6.1) to more readable pieces |
| ►Neeprom | Defines the API for accessing the EEPROM embedded in each AVR MCU |
| CEEPROM | Collection of static methods to read or write the AVR EEPROM |
| CQueuedWriter | API that allows asynchronous writing to EEPROM; this can be useful when you have large amount of data to write but cannot afford to wait until all bytes have been written |
| ►Nevents | Defines all API to handle events within FastArduino programs |
| CDispatcher | Utility to dispatch an event to a list of EventHandlers that are registered for its type |
| CEvent | A standard Event as managed by FastArduino event API |
| CEventHandler | Abstract event handler, used by Dispatcher to get called back when an event of the expected type is dispatched |
| CJob | Abstract class holding some action to be executed at given periods of time |
| CScheduler | Schedule jobs at predefined periods of time |
| ►Nflash | Defines API to handle flash memory storage |
| CFlashReader | Functor reading items from an address in AVR Flash memory (PROGMEM) |
| ►Nfunctor | This namespace defines a few useful functors |
| CCast | Cast functor: returns its argument of type ARG casted to type RES |
| CChangeEndianness | Endianness change functor: will change from big to little or little to big endian format on integer types |
| CCompose | Composition functor: applies 2 functors one after each other |
| CConstant | Constant functor: always returns a constant value |
| CFunctor | Utility to instantiate and execute a functor from its type |
| CIdentity | Identity functor: always returns its argument, unchanged |
| ►Nfuture | Contains the API around Future implementation |
| CAbstractFakeFuture | Base class for all FakeFutures |
| CAbstractFuture | Base class for all Futures |
| CAbstractFuturesGroup | Abstract class to allow aggregation of several futures |
| CFakeFuture | Actual FakeFuture, it has the exact same API as Future and can be used in lieu of Future |
| CFuture | Represent a value to be obtained, in some asynchronous way, in the future |
| ►Ngpio | Defines all API to manipulate general-purpose digital input/output pins |
| CFastMaskedPort | API that manipulates a part of a digital IO port |
| CFastPin | API that manipulates one digital IO pin of a given port |
| CFastPinType | API that manipulates a given digital IO pin of a the target MCU |
| CFastPort | API that manipulates a whole digital IO port |
| ►Ni2c | Define API to define and manage I2C devices |
| ►Ndebug | Defines API to ease I2C devices debugging |
| CI2CDebugLiveLogger | Class tracing I2C debug notifications live to out |
| CI2CDebugRecorder | Class recording I2C debug notifications for later output |
| CI2CDebugStatusLiveLogger | Class tracing I2C status and debug notifications live to out |
| CI2CDebugStatusRecorder | Class recording I2C debug and status notifications for later output |
| ►Nstatus | Defines API to ease I2C manager status tracing and debugging |
| CI2CLatestStatusHolder | Class holding the latest I2C status |
| CI2CStatusLiveLogger | Class tracing I2C status notifications live to out |
| CI2CStatusRecorder | Class recording I2C status notifications for later output |
| CAbstractI2CAsyncManager | Abstract asynchronous I2C Manager |
| CAbstractI2CSyncATmegaManager | Abstract synchronous I2C Manager for ATmega architecture |
| CAbstractI2CSyncATtinyManager | Abstract synchronous I2C Manager for ATtiny architecture |
| CAbstractI2CSyncManager | Abstract synchronous I2C Manager for all MCU architectures |
| CI2CAsyncDebugManager | Asynchronous I2C Manager for ATmega architecture with debug facility |
| CI2CAsyncManager | Asynchronous I2C Manager for ATmega architecture |
| CI2CAsyncStatusDebugManager | Asynchronous I2C Manager for ATmega architecture with debug and status notification facilities |
| CI2CAsyncStatusManager | Asynchronous I2C Manager for ATmega architecture with status notification facility |
| CI2CCommand | Atomic I2C command as used internally by an asynchronous I2C Manager |
| CI2CDevice | Base class for all I2C devices |
| CI2CFuturesGroup | Abstract class to allow aggregation of several futures in relation to I2C transactions |
| CI2CLightCommand | Light atomic I2C command as prepared by an I2C device |
| CI2CSameFutureGroup | Class to allow dynamic creation of futures from values stored in flash memory, leading to launch of I2C transactions |
| CI2CSyncDebugManager | Synchronous I2C Manager for ATmega architecture with debug facility |
| CI2CSyncManager | Synchronous I2C Manager for ATmega architecture |
| CI2CSyncStatusDebugManager | Synchronous I2C Manager for ATmega architecture with status notification and debug facility |
| CI2CSyncStatusManager | Synchronous I2C Manager for ATmega architecture wit status notification facility |
| CReadRegisterFuture | General Future that can be used to read an I2C device register |
| CTReadRegisterFuture | Generic Future that can be used to read an I2C device register |
| CTWriteMultiRegisterFuture | Generic Future that can be used to write to several I2C device registers |
| CTWriteRegisterFuture | Generic Future that can be used to write to an I2C device register |
| CWriteRegisterFuture | General Future that can be used to write to an I2C device register |
| ►Ninterrupt | Defines API to handle AVR interruptions |
| CINTSignal | Handler of an External Interrupt |
| CPCISignal | Handler of a Pin Change Interrupt vector |
| CPCIType | Helper class that easily converts a PIN into the right PCISignal |
| ►Npower | Defines simple API to handle AVR power sleep modes |
| CPower | This class contains the API for handling power sleep modes |
| ►Nserial | Defines all API for UART features |
| ►Nhard | Defines API types used by hardware UART features |
| CUART | Hardware serial receiver/transceiver API |
| CUARX | Hardware serial receiver API |
| CUATX | Hardware serial transmitter API |
| ►Nsoft | Defines API types used by software UART features |
| CUART< board::ExternalInterruptPin, RX_, TX_ > | |
| CUART< board::InterruptPin, RX_, TX_ > | |
| CUARX< board::ExternalInterruptPin, RX_ > | |
| CUARX< board::InterruptPin, RX_ > | |
| CUATX | Software-emulated serial transmitter API |
| CUARTErrors | Holder of latest UART errors |
| ►Nspi | Define API to define and manage SPI devices |
| CAbstractSPIDevice | Contain general payload transfer API for an SPI device |
| CSPIDevice | Base class for any SPI slave device |
| ►Nstd | Similar to standard C++ std namespace, this namespace is used by FastArduino library to implement various types of the standard C++ library when this is useful |
| Cinitializer_list | C++ standard support for "initializer_list" |
| ►Nstreams | Defines C++-like streams API, based on circular buffers for input or output |
| Cios_base | Base class for formatted streams |
| Cistream | Input stream wrapper to provide formatted input API, a la C++ |
| Cistreambuf | Input API based on a ring buffer |
| Cnull_ostream | Implements an empty formatted output that does nothing |
| Costream | Output stream wrapper to provide formatted output API, a la C++ |
| Costreambuf | Output API based on a ring buffer |
| ►Ntime | Defines simple API to handle time and delays |
| Cauto_delay | Set a new time::delay function for the duration of the current scope; when the scope is left, the previous time::delay function is restored |
| Cauto_millis | Set a new time::millis function for the duration of the current scope; when the scope is left, the previous time::millis function is restored |
| CRTTTime | Structure used to hold a time value with microsecond precision |
| ►Ntimer | Defines all API to manipulate AVR Timers |
| CCalculator | Defines a set of calculation methods for the given NTIMER_ The behavior of these methods is specific to each AVR Timer are there can be many important differences between 2 timers on AVR |
| CPulseTimer | Special kind of timer::Timer, specialized in emitting pulses with accurate width, according to a slow frequency |
| CRTT | API to handle a real-time timer |
| CRTTEventCallback | Utility to generate events from an RTT instance at a given period |
| CRTTRawTime | Utility class to avoid costly instantiation of time::RTTTime from an interrupt routine |
| CSquareWave | Simple API to generate a square wave to an output pin |
| CTimer | General API to handle an AVR timer |
| ►Ntypes_traits | Defines traits and utility methods for standard types, like uint16_t |
| Cderives_from | Utility class that checks, at compile-time, that type T is a subtype of type B |
| Cremove_reference | Remove a reference from the given type |
| CSmallestInt | Find the smallest integral types, signed and unsigned, tha can hold a given value |
| CType_trait | This trait allows static checks (at compile-time) of properties of various types |
| ►Nutils | Contains all generic utility methods |
| Crange | Iterable class that can embed arrays or initializer lists through implicit conversion |
| ►Nwatchdog | Defines the simple API for Watchdog timer management |
| CWatchdog | Simple API to use watchdog timer as a clock for events generation |
| CWatchdogRTT | Simple API to use watchdog timer as a real-time clock |
| CWatchdogSignal | Simple API to handle watchdog signals |