Pico-Arduino
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CArduinoPicoToneArduinoPicoTone provides static methods for PicoTone
 Carduino::HardwareSPI
 CPicoHardwareSPIArduino HardwareSPI interface using the Pico API. We use the following default pins spi0: pinRx = 16; pinTx = 19; pinCS = 17; pinSCK = 18; spi1: pinRx = 12; pinTx = 11; pinCS = 13; pinSCK = 10; On the master miso = pinRx and mosi = pinTx
 CVector< T >::iteratorIterator for the Vector class
 CVector< Map::MapEntry< K, V > >::iterator
 CMap< K, V >A simple key value map collection
 CMap< K, V >::MapEntry< KM, VM >
 CMap< K, V >::MapEntry< K, V >
 CMuliticoreFifoThe RP2040 contains two FIFOs for passing data, messages or ordered events between the two cores. Each FIFO is 32 bits wide, and 8 entries deep. One of the FIFOs can only be written by core 0, and read by core 1. The other can only be written by core 1, and read by core 0
 Carduino::Stream::MultiTarget
 CPicoGPIOFunctionThe pico requires that the function of the pin is defined. In Arduino, there is no such concept: so we do this at the first call of the corresponding function: enum gpio_function { GPIO_FUNC_XIP = 0, GPIO_FUNC_SPI = 1, GPIO_FUNC_UART = 2, GPIO_FUNC_I2C = 3, GPIO_FUNC_PWM = 4, GPIO_FUNC_SIO = 5, GPIO_FUNC_PIO0 = 6, GPIO_FUNC_PIO1 = 7, GPIO_FUNC_GPCK = 8, GPIO_FUNC_USB = 9, GPIO_FUNC_NULL = 0xf, };
 CPicoLoggerA simple Logger that writes messages dependent on the log level
 CPicoToneWe use the TimerAlarmRepeating to generate tones
 CPIOManagerThe PIO subsystem on RP2040 allows you to write small, simple programs for what are called PIO state machines, of which RP2040 has eight split across two PIO instances. A state machine is responsible for setting and reading one or more GPIOs, buffering data to or from the processor (or RP2040’s ultra-fast DMA subsystem), and notifying the processor, via IRQ or polling, when data or attention is needed
 Carduino::PluggableUSB_
 Carduino::PluggableUSBModule
 Carduino::Print
 Carduino::Server
 Carduino::Stream
 Carduino::Client
 Carduino::HardwareI2C
 CPicoHardwareI2CArduino I2C implementation using the Pico functionality. In Arduino we can read and write individal characters wheresease in Pico the operations have to be done with arrays. We therefore create a read and write buffer to cache the operations
 Carduino::HardwareSerial
 CPicoDefaultSerialPicoDefaultSerial is using the pico default output. It is mapped to the Arduino Serial variable
 CPicoHardwareSerialSerial Stream for a defined UART. By default we use the following pins: UART0 tx/rx = gp0/gp1; UART1 tx/rx = gp4/gp5;
 Carduino::UDP
 Carduino::Printable
 Carduino::IPAddress
 CQueue< T >Construct a new Pico Queue object
 CSemaphorePico Semaphore which might be useful if you use the 2 processors (e.g. with the Thread class)
 Carduino::SPISettings
 CStream
 CSoftwareSerialSoftware Serial Arduino Stream which uses the Pico PIO
 CThreadAdds support for running code on the second processor core (core1)
 CTimerAlarmAlarm functions for scheduling future execution
 CTimerAlarmRepeatingRepeating Timer functions for simple scheduling of repeated execution
 CVector< T >Vector implementation which provides the most important methods as defined by std::vector. This is neither part of Pico nor of the Arduino framwork but nevertheless it is quite handy to have and most of the times quite better then dealing with raw c arrays
 CVector< Map::MapEntry< K, V > >