Skip to content

Namespace daisy

Namespace List > daisy

Hardware defines and helpers for daisy field platform. More...

Namespaces

Type Name
namespace MAX11300Types
namespace patch_sm
namespace seed

Classes

Type Name
class AbstractMenu
Base class for complex menus.
struct AdcChannelConfig
Configuration Structure for an ADC Channel.
class AdcHandle
Handler for analog to digital conversion.
class Ak4556
struct AllNotesOffEvent
struct AllSoundOffEvent
class AnalogControl
Hardware Interface for control inputs Primarily designed for ADC input controls such as potentiometers, and control voltage. .
class Apds9960 <typename Transport>
Device support for APDS9960 gesture / RGB / proximity sensor.
class Apds9960I2CTransport
class AudioHandle
Audio Engine Handle.
class ButtonMonitor <typename BackendType, numButtons>
A button monitor that generates events in a UiEventQueue .
struct ChannelModeEvent
struct ChannelPressureEvent
class Color
class ColorGraphicsDisplay
class ColorGraphicsDisplayImpl <class ChildType>
struct ControlChangeEvent
class CpuLoadMeter
class DacHandle
DAC handle for Built-in DAC Peripheral.
class DaisyField
class DaisyLegio
Class that handles initializing all of the hardware specific to the Virt Iter Legio hardware. Helper funtions are also in place to provide easy access to built-in controls and peripherals.
class DaisyPatch
Class that handles initializing all of the hardware specific to the Daisy Patch Board. Helper funtions are also in place to provide easy access to built-in controls and peripherals.
class DaisyPetal
Helpers and hardware definitions for daisy petal.
class DaisyPod
Class that handles initializing all of the hardware specific to the Daisy Patch Board. Helper funtions are also in place to provide easy access to built-in controls and peripherals.
class DaisySeed
This is the higher-level interface for the Daisy board. All basic peripheral configuration/initialization is setup here. .
class DaisyVersio
Class that handles initializing all of the hardware specific to the Desmodus Versio hardware. Helper funtions are also in place to provide easy access to built-in controls and peripherals.
class DotStar <typename Transport>
Device support for Adafruit DotStar LEDs (Opsco SK9822)
class DotStarSpiTransport
SPI Transport for DotStars.
class Dps310 <typename Transport>
Device support for DPS310 Barometric Pressure and Altitude Sensor.
class Dps310I2CTransport
class Dps310SpiTransport
class Encoder
Generic Class for handling Quadrature Encoders Inspired/influenced by Mutable Instruments (pichenettes)Encoder classes.
class FIFO <typename T, capacity>
class FIFOBase <typename T>
class FatFSInterface
Daisy FatFS Driver Interface.
class FixedCapStr <capacity, class CharType>
class FixedCapStrBase <class CharType>
class FullScreenItemMenu
A menu page for small screens.
class GPIO
General Purpose I/O control.
class GateIn
Generic Class for handling gate inputs through GPIO .
class I2CHandle
class Icm20948 <typename Transport>
Device support for ICM20948 IMU sensor.
class Icm20948I2CTransport
class Icm20948SpiTransport
class LcdHD44780
Device Driver for 16x2 LCD panel. HD44780 with 4 data lines. Example product:https://www.adafruit.com/product/181 .
class Led
LED Class providing simple Software PWM ability, etc Eventually this will work with hardware PWM, and external LED Driver devices as well.
class LedDriverPca9685 <numDrivers, persistentBufferContents>
struct LocalControlEvent
class Logger <dest>
Interface for simple USB logging.
class Logger< LOGGER_NONE > <>
class LoggerImpl <dest>
Logging I/O underlying implementation.
class LoggerImpl< LOGGER_EXTERNAL > <>
Specialization for external USB port.
class LoggerImpl< LOGGER_INTERNAL > <>
Specialization for internal USB port.
class LoggerImpl< LOGGER_SEMIHOST > <>
Specialization for semihosting (stdout)
class MAX11300Driver <typename Transport, num_devices>
Device Driver for the MAX11300 20 port ADC/DAC/GPIO device.
class MAX11300MultiSlaveSpiTransport
struct MTCQuarterFrameEvent
class MappedFloatValue
class MappedIntValue
class MappedStringListValue
class MappedValue
class Mcp23017Transport
class Mcp23X17 <typename Transport>
struct MidiEvent
class MidiHandler <typename Transport>
Simple MIDI Handler Parses bytes from an input into valid MidiEvents. The MidiEvents fill aFIFO queue that the user can pop messages from.
class MidiParser
Utility class for parsing raw byte streams into MIDI messages.
class MidiUartTransport
Transport layer for sending and receiving MIDI data over UART.
class MidiUsbTransport
USB Transport for MIDI.
struct MonoModeOnEvent
class Mpr121 <typename Transport>
Device support for MPR121 12x Capacitive Touch Sensor.
class Mpr121I2CTransport
class MultiSlaveSpiHandle
class NeoPixel <typename Transport>
Device support for Adafruit Neopixel Device.
class NeoPixelI2CTransport
class NeoTrellis <typename Transport>
Device support for the Adafruit Neotrellis device.
class NeoTrellisI2CTransport
struct NoteOffEvent
struct NoteOnEvent
class OledColorDisplay <typename DisplayDriver>
class OledDisplay <typename DisplayDriver>
struct OmniModeOffEvent
struct OmniModeOnEvent
class OneBitGraphicsDisplay
class OneBitGraphicsDisplayImpl <class ChildType>
class PWMHandle
Hardware PWM using the timer peripheral.
class Parameter
class Pcm3060
class PersistentStorage <typename SettingStruct>
Non Volatile storage class for persistent settings on an external flash device.
struct Pin
representation of hardware port/pin combination
struct PitchBendEvent
struct PolyModeOnEvent
struct PolyphonicKeyPressureEvent
class PotMonitor <typename BackendType, numPots>
A potentiometer monitor that generates events in a UiEventQueue .
struct ProgramChangeEvent
class QSPIHandle
class Random
True Random Number Generator access.
class Rectangle
struct ResetAllControllersEvent
class RgbLed
class RingBuffer <typename T, size>
class RingBuffer< T, 0 > <typename T>
class SH1106Driver <width, height, typename Transport>
class SSD1307Driver <width, height, typename Transport>
class SSD130x4WireSoftSpiTransport
class SSD130x4WireSpiTransport
class SSD130xDriver <width, height, typename Transport>
class SSD130xI2CTransport
class SSD13274WireSpiTransport
class SSD1327Driver <width, height, typename Transport>
class SSD13514WireSpiTransport
class SSD1351Driver <width, height, typename Transport>
class SaiHandle
class ScopedIrqBlocker
class SdmmcHandler
class ShiftRegister4021 <num_daisychained, num_parallel>
Device Driver for CD4021 shift register.
class ShiftRegister595
Device Driver for 8-bit shift register. CD74HC595 - 8-bit serial to parallel output shift.
struct SongPositionPointerEvent
struct SongSelectEvent
class SpiHandle
class Stack <typename T, capacity>
class StackBase <typename T>
class Switch
class Switch3
class System
struct SystemExclusiveEvent
class TimerHandle
Hardare timer peripheral support.
class Tlv493d <typename Transport>
Device support for TLV493D Magnetic Sensor.
class Tlv493dI2CTransport
class UI
A generic UI system.
class USBHostHandle
Presents a USB Mass Storage Device host interface.
class UartHandler
struct UiCanvasDescriptor
A descriptor for a canvas in the UI system.
class UiEventQueue
A queue that holds user input events in the UI system.
class UiPage
The base class for a page in the UI system.
class VoctCalibration
Helper class for calibrating an input to 1V/oct response.
struct WAV_FormatTypeDef
struct WavFileInfo
class WavPlayer
class WavWriter <transfer_size>
class WaveTableLoader
class Wm8731
struct dsy_gpio_pin

Public Types

Type Name
enum Alignment
typedef Apds9960< Apds9960I2CTransport > Apds9960I2C
enum ApplicationTypeDef
enum ArrowButtonType
The type of arrow button in the UI system.
typedef DotStar< DotStarSpiTransport > DotStarSpi
typedef Dps310< Dps310I2CTransport > Dps310I2C
typedef Dps310< Dps310SpiTransport > Dps310Spi
enum GPIOPort
GPIO Port names.
typedef Icm20948< Icm20948I2CTransport > Icm20948I2C
typedef Icm20948< Icm20948SpiTransport > Icm20948Spi
enum LoggerDestination
enum uint8_t MCPMode
enum uint8_t MCPPort
enum uint8_t MCPRegister
typedef Mcp23X17< Mcp23017Transport > Mcp23017
typedef NeoPixel< NeoPixelI2CTransport > NeoPixelI2C
typedef NeoTrellis< NeoTrellisI2CTransport > NeoTrellisI2C
typedef SH1106Driver< 128, 64, SSD130x4WireSpiTransport > SH11064WireSpi128x64Driver
typedef SH1106Driver< 128, 64, SSD130xI2CTransport > SH1106I2c128x64Driver
typedef daisy::SSD1307Driver< 128, 128, SSD130x4WireSpiTransport > SSD13074WireSpi128x128Driver
typedef daisy::SSD1307Driver< 128, 64, SSD130x4WireSpiTransport > SSD13074WireSpi128x64Driver
typedef daisy::SSD1307Driver< 128, 80, SSD130x4WireSpiTransport > SSD13074WireSpi128x80Driver
typedef daisy::SSD130xDriver< 128, 128, SSD130xI2CTransport > SSD1307I2c128x128Driver
typedef daisy::SSD130xDriver< 128, 64, SSD130xI2CTransport > SSD1307I2c128x64Driver
typedef daisy::SSD1307Driver< 128, 80, SSD130xI2CTransport > SSD1307I2c128x80Driver
typedef daisy::SSD130xDriver< 128, 64, SSD130x4WireSoftSpiTransport > SSD130x4WireSoftSpi128x64Driver
typedef daisy::SSD130xDriver< 128, 32, SSD130x4WireSpiTransport > SSD130x4WireSpi128x32Driver
typedef daisy::SSD130xDriver< 128, 64, SSD130x4WireSpiTransport > SSD130x4WireSpi128x64Driver
typedef daisy::SSD130xDriver< 64, 32, SSD130x4WireSpiTransport > SSD130x4WireSpi64x32Driver
typedef daisy::SSD130xDriver< 64, 48, SSD130x4WireSpiTransport > SSD130x4WireSpi64x48Driver
typedef daisy::SSD130xDriver< 98, 16, SSD130x4WireSpiTransport > SSD130x4WireSpi98x16Driver
typedef daisy::SSD130xDriver< 128, 32, SSD130xI2CTransport > SSD130xI2c128x32Driver
typedef daisy::SSD130xDriver< 128, 64, SSD130xI2CTransport > SSD130xI2c128x64Driver
typedef daisy::SSD130xDriver< 64, 32, SSD130xI2CTransport > SSD130xI2c64x32Driver
typedef daisy::SSD130xDriver< 64, 48, SSD130xI2CTransport > SSD130xI2c64x48Driver
typedef daisy::SSD130xDriver< 98, 16, SSD130xI2CTransport > SSD130xI2c98x16Driver
typedef daisy::SSD1327Driver< 128, 128, SSD13274WireSpiTransport > SSD13274WireSpi128x128Driver
typedef daisy::SSD1351Driver< 128, 128, SSD13514WireSpiTransport > SSD13514WireSpi128x128Driver
typedef Tlv493d< Tlv493dI2CTransport > Tlv493dI2C
enum WavFileFormatCode
enum dsy_gpio_port

Public Attributes

Type Name
volatile daisy::System::BootInfo boot_info
const size_t kMaxSr595DaisyChain = 16
const uint32_t kWavFileChunkId = 0x46464952
const uint32_t kWavFileSubChunk1Id = 0x20746d66
const uint32_t kWavFileSubChunk2Id = 0x61746164
const uint32_t kWavFileWaveId = 0x45564157

Public Functions

Type Name
void GPIOClockEnable (Pin p)
constexpr uint32_t GetHALPin (Pin p)
constexpr GPIO_TypeDef * GetHALPort (Pin p)
constexpr void Swap (const FixedCapStr< capacity, CharType > & lhs, const FixedCapStr< capacity, CharType > & rhs) noexcept
void dsy_i2c_global_init ()
MCPRegister operator+ (MCPRegister a, MCPPort b)

Detailed Description

Copyright (C) Johannes Elliesen, 2021

Public Types Documentation

enum Alignment

enum daisy::Alignment {
    centered,
    topLeft,
    topCentered,
    topRight,
    bottomLeft,
    bottomCentered,
    bottomRight,
    centeredLeft,
    centeredRight
};

Justifications


typedef Apds9960I2C

using daisy::Apds9960I2C = typedef Apds9960<Apds9960I2CTransport>;

enum ApplicationTypeDef

enum daisy::ApplicationTypeDef {
    APPLICATION_IDLE = 0,
    APPLICATION_START,
    APPLICATION_READY,
    APPLICATION_DISCONNECT
};

Status of USB Host application


enum ArrowButtonType

The type of arrow button in the UI system.

enum daisy::ArrowButtonType {
    left = 0,
    right,
    up,
    down
};

Author:

jelliesen


typedef DotStarSpi

using daisy::DotStarSpi = typedef DotStar<DotStarSpiTransport>;

typedef Dps310I2C

using daisy::Dps310I2C = typedef Dps310<Dps310I2CTransport>;

typedef Dps310Spi

using daisy::Dps310Spi = typedef Dps310<Dps310SpiTransport>;

enum GPIOPort

GPIO Port names.

enum daisy::GPIOPort {
    PORTA,
    PORTB,
    PORTC,
    PORTD,
    PORTE,
    PORTF,
    PORTG,
    PORTH,
    PORTI,
    PORTJ,
    PORTK,
    PORTX
};


typedef Icm20948I2C

using daisy::Icm20948I2C = typedef Icm20948<Icm20948I2CTransport>;

typedef Icm20948Spi

using daisy::Icm20948Spi = typedef Icm20948<Icm20948SpiTransport>;

enum LoggerDestination

enum daisy::LoggerDestination {
    LOGGER_NONE,
    LOGGER_INTERNAL,
    LOGGER_EXTERNAL,
    LOGGER_SEMIHOST
};

Enumeration of destination ports for debug logging


enum MCPMode

enum daisy::MCPMode {
    INPUT,
    INPUT_PULLUP,
    OUTPUT
};

enum MCPPort

enum daisy::MCPPort {
    A = 0,
    B = 1
};

enum MCPRegister

enum daisy::MCPRegister {
    IODIR_A = 0x00,
    IODIR_B = 0x01,
    IPOL_A = 0x02,
    IPOL_B = 0x03,
    GPINTEN_A = 0x04,
    GPINTEN_B = 0x05,
    DEFVAL_A = 0x06,
    DEFVAL_B = 0x07,
    INTCON_A = 0x08,
    INTCON_B = 0x09,
    IOCON = 0x0A,
    GPPU_A = 0x0C,
    GPPU_B = 0x0D,
    INTF_A = 0x0E,
    INTF_B = 0x0F,
    INTCAP_A = 0x10,
    INTCAP_B = 0x11,
    GPIO_A = 0x12,
    GPIO_B = 0x13,
    OLAT_A = 0x14,
    OLAT_B = 0x15
};

Registers addresses. The library use addresses for IOCON.BANK = 0. See "3.2.1 Byte mode and Sequential mode".


typedef Mcp23017

using daisy::Mcp23017 = typedef Mcp23X17<Mcp23017Transport>;

typedef NeoPixelI2C

using daisy::NeoPixelI2C = typedef NeoPixel<NeoPixelI2CTransport>;

typedef NeoTrellisI2C

using daisy::NeoTrellisI2C = typedef NeoTrellis<NeoTrellisI2CTransport>;

typedef SH11064WireSpi128x64Driver

using daisy::SH11064WireSpi128x64Driver = typedef SH1106Driver<128, 64, SSD130x4WireSpiTransport>;

A driver for SH1106 128x64 OLED displays connected via 4 wire SPI


typedef SH1106I2c128x64Driver

using daisy::SH1106I2c128x64Driver = typedef SH1106Driver<128, 64, SSD130xI2CTransport>;

A driver for SH1106 128x64 OLED displays connected via I2C


typedef SSD13074WireSpi128x128Driver

using daisy::SSD13074WireSpi128x128Driver = typedef daisy::SSD1307Driver<128, 128, SSD130x4WireSpiTransport>;

A driver for the SSD1307 128x128 OLED displays connected via 4 wire SPI


typedef SSD13074WireSpi128x64Driver

using daisy::SSD13074WireSpi128x64Driver = typedef daisy::SSD1307Driver<128, 64, SSD130x4WireSpiTransport>;

A driver for the SSD1307 128x64 OLED displays connected via 4 wire SPI


typedef SSD13074WireSpi128x80Driver

using daisy::SSD13074WireSpi128x80Driver = typedef daisy::SSD1307Driver<128, 80, SSD130x4WireSpiTransport>;

A driver for the SSD1307 128x80 OLED displays connected via 4 wire SPI


typedef SSD1307I2c128x128Driver

using daisy::SSD1307I2c128x128Driver = typedef daisy::SSD130xDriver<128, 128, SSD130xI2CTransport>;

A driver for the SSD1307 128x128 OLED displays connected via I2C


typedef SSD1307I2c128x64Driver

using daisy::SSD1307I2c128x64Driver = typedef daisy::SSD130xDriver<128, 64, SSD130xI2CTransport>;

A driver for the SSD1307 128x64 OLED displays connected via I2C


typedef SSD1307I2c128x80Driver

using daisy::SSD1307I2c128x80Driver = typedef daisy::SSD1307Driver<128, 80, SSD130xI2CTransport>;

A driver for the SSD1307 128x80 OLED displays connected via I2C


typedef SSD130x4WireSoftSpi128x64Driver

using daisy::SSD130x4WireSoftSpi128x64Driver = typedef daisy::SSD130xDriver<128, 64, SSD130x4WireSoftSpiTransport>;

A driver for the SSD1306/SSD1309 128x64 OLED displays connected via 4 wire SPI


typedef SSD130x4WireSpi128x32Driver

using daisy::SSD130x4WireSpi128x32Driver = typedef daisy::SSD130xDriver<128, 32, SSD130x4WireSpiTransport>;

A driver for the SSD1306/SSD1309 128x32 OLED displays connected via 4 wire SPI


typedef SSD130x4WireSpi128x64Driver

using daisy::SSD130x4WireSpi128x64Driver = typedef daisy::SSD130xDriver<128, 64, SSD130x4WireSpiTransport>;

A driver for the SSD1306/SSD1309 128x64 OLED displays connected via 4 wire SPI


typedef SSD130x4WireSpi64x32Driver

using daisy::SSD130x4WireSpi64x32Driver = typedef daisy::SSD130xDriver<64, 32, SSD130x4WireSpiTransport>;

A driver for the SSD1306/SSD1309 64x32 OLED displays connected via 4 wire SPI


typedef SSD130x4WireSpi64x48Driver

using daisy::SSD130x4WireSpi64x48Driver = typedef daisy::SSD130xDriver<64, 48, SSD130x4WireSpiTransport>;

A driver for the SSD1306/SSD1309 64x48 OLED displays connected via 4 wire SPI


typedef SSD130x4WireSpi98x16Driver

using daisy::SSD130x4WireSpi98x16Driver = typedef daisy::SSD130xDriver<98, 16, SSD130x4WireSpiTransport>;

A driver for the SSD1306/SSD1309 98x16 OLED displays connected via 4 wire SPI


typedef SSD130xI2c128x32Driver

using daisy::SSD130xI2c128x32Driver = typedef daisy::SSD130xDriver<128, 32, SSD130xI2CTransport>;

A driver for the SSD1306/SSD1309 128x32 OLED displays connected via I2C


typedef SSD130xI2c128x64Driver

using daisy::SSD130xI2c128x64Driver = typedef daisy::SSD130xDriver<128, 64, SSD130xI2CTransport>;

A driver for the SSD1306/SSD1309 128x64 OLED displays connected via I2C


typedef SSD130xI2c64x32Driver

using daisy::SSD130xI2c64x32Driver = typedef daisy::SSD130xDriver<64, 32, SSD130xI2CTransport>;

A driver for the SSD1306/SSD1309 64x32 OLED displays connected via I2C


typedef SSD130xI2c64x48Driver

using daisy::SSD130xI2c64x48Driver = typedef daisy::SSD130xDriver<64, 48, SSD130xI2CTransport>;

A driver for the SSD1306/SSD1309 64x48 OLED displays connected via I2C


typedef SSD130xI2c98x16Driver

using daisy::SSD130xI2c98x16Driver = typedef daisy::SSD130xDriver<98, 16, SSD130xI2CTransport>;

A driver for the SSD1306/SSD1309 98x16 OLED displays connected via I2C


typedef SSD13274WireSpi128x128Driver

using daisy::SSD13274WireSpi128x128Driver = typedef daisy::SSD1327Driver<128, 128, SSD13274WireSpiTransport>;

A driver for the SSD1327 128x128 OLED displays connected via 4 wire SPI


typedef SSD13514WireSpi128x128Driver

using daisy::SSD13514WireSpi128x128Driver = typedef daisy::SSD1351Driver<128, 128, SSD13514WireSpiTransport>;

A driver for the SSD1351 128x128 OLED displays connected via 4 wire SPI


typedef Tlv493dI2C

using daisy::Tlv493dI2C = typedef Tlv493d<Tlv493dI2CTransport>;

enum WavFileFormatCode

enum daisy::WavFileFormatCode {
    WAVE_FORMAT_PCM = 0x0001,
    WAVE_FORMAT_IEEE_FLOAT = 0x0003,
    WAVE_FORMAT_ALAW = 0x0006,
    WAVE_FORMAT_ULAW = 0x0007,
    WAVE_FORMAT_EXTENSIBLE = 0xFFFE
};

Standard Format codes for the waveform data.

According to spec, extensible should be used whenever: * PCM data has more than 16 bits/sample * The number of channels is more than 2 * The actual number of bits/sample is not equal to the container size * The mapping from channels to speakers needs to be specified.


enum dsy_gpio_port

enum daisy::dsy_gpio_port {
    DSY_GPIOA,
    DSY_GPIOB,
    DSY_GPIOC,
    DSY_GPIOD,
    DSY_GPIOE,
    DSY_GPIOF,
    DSY_GPIOG,
    DSY_GPIOH,
    DSY_GPIOI,
    DSY_GPIOJ,
    DSY_GPIOK,
    DSY_GPIOX,
    DSY_GPIO_LAST
};

Enums and a simple struct for defining a hardware pin on the MCU These correlate with the stm32 datasheet, and are used to configure the hardware.

This along with the dsy_gpio_pin class should no longer be used. They are available for backwards compatability.

Please use GPIOPort enum and the Pin struct instead.


Public Attributes Documentation

variable boot_info

volatile daisy::System::BootInfo daisy::boot_info;

variable kMaxSr595DaisyChain

const size_t daisy::kMaxSr595DaisyChain;

Maximum Number of chained devices Connect device's QH' pin to the next chips serial input


variable kWavFileChunkId

const uint32_t daisy::kWavFileChunkId;

Constants for In-Header IDs "RIFF"


variable kWavFileSubChunk1Id

const uint32_t daisy::kWavFileSubChunk1Id;

"fmt "


variable kWavFileSubChunk2Id

const uint32_t daisy::kWavFileSubChunk2Id;

"data"


variable kWavFileWaveId

const uint32_t daisy::kWavFileWaveId;

"WAVE"


Public Functions Documentation

function GPIOClockEnable

inline void daisy::GPIOClockEnable (
    Pin p
) 

function GetHALPin

constexpr  uint32_t daisy::GetHALPin (
    Pin p
) 

function GetHALPort

constexpr  GPIO_TypeDef * daisy::GetHALPort (
    Pin p
) 

function Swap

template<class CharType, std::size_t capacity>
inline constexpr  void daisy::Swap (
    const  FixedCapStr < capacity, CharType > & lhs,
    const  FixedCapStr < capacity, CharType > & rhs
) noexcept

function dsy_i2c_global_init

void daisy::dsy_i2c_global_init () 

internal. Used for global init.


function operator+

inline MCPRegister daisy::operator+ (
    MCPRegister a,
    MCPPort b
) 


The documentation for this class was generated from the following file external-docs/libDaisy/src/daisy_core.h