libDaisy
Classes | Typedefs | Enumerations | Functions | Variables
daisy Namespace Reference

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

Classes

class  AbstractMenu
 
struct  AdcChannelConfig
 
class  AdcHandle
 
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.
. More...
 
class  AudioHandle
 
class  BlockingSpiTransport
 
class  ButtonMonitor
 
struct  ChannelPressureEvent
 
class  Color
 
struct  ControlChangeEvent
 
class  CpuLoadMeter
 
class  DacHandle
 
class  DaisyField
 
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. More...
 
class  DaisyPetal
 Helpers and hardware definitions for daisy petal. More...
 
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. More...
 
class  DaisySeed
 This is the higher-level interface for the Daisy board.
All basic peripheral configuration/initialization is setup here.
. More...
 
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. More...
 
class  Encoder
 Generic Class for handling Quadrature Encoders
Inspired/influenced by Mutable Instruments (pichenettes) Encoder classes. More...
 
class  FIFO
 
class  FIFOBase
 
class  FixedCapStr
 
class  FixedCapStrBase
 
class  FullScreenItemMenu
 
class  GateIn
 Generic Class for handling gate inputs through GPIO. More...
 
class  I2CHandle
 
class  LcdHD44780
 
class  Led
 LED Class providing simple Software PWM ability, etc
Eventually this will work with hardware PWM, and external LED Driver devices as well. More...
 
class  LedDriverPca9685
 
struct  LocalControlEvent
 
class  Logger
 Interface for simple USB logging. More...
 
class  Logger< LOGGER_NONE >
 
class  LoggerImpl
 Logging I/O underlying implementation. More...
 
class  LoggerImpl< LOGGER_EXTERNAL >
 Specialization for external USB port. More...
 
class  LoggerImpl< LOGGER_INTERNAL >
 Specialization for internal USB port. More...
 
class  LoggerImpl< LOGGER_SEMIHOST >
 Specialization for semihosting (stdout) More...
 
class  MappedFloatValue
 
class  MappedIntValue
 
class  MappedStringListValue
 
class  MappedValue
 
class  MAX11300Driver
 Device Driver for the MAX11300 20 port ADC/DAC/GPIO device. More...
 
struct  MidiEvent
 
class  MidiHandler
 Simple MIDI Handler
Parses bytes from an input into valid MidiEvents.
The MidiEvents fill a FIFO queue that the user can pop messages from. More...
 
class  MidiUartTransport
 
class  MidiUsbTransport
 
struct  MonoModeOnEvent
 
class  MSDHandle
 Presents a USB Mass Storage Device host interface. More...
 
struct  MTCQuarterFrameEvent
 
struct  NoteOffEvent
 
struct  NoteOnEvent
 
class  OledDisplay
 
struct  OmniModeOffEvent
 
struct  OmniModeOnEvent
 
class  OneBitGraphicsDisplay
 
class  OneBitGraphicsDisplayImpl
 
class  Parameter
 
class  Pcm3060
 
class  PersistentStorage
 Non Volatile storage class for persistent settings on an external flash device. More...
 
struct  PitchBendEvent
 
struct  PolyModeOnEvent
 
struct  PolyphonicKeyPressureEvent
 
class  PotMonitor
 
struct  ProgramChangeEvent
 
class  QSPIHandle
 
class  Random
 True Random Number Generator access. More...
 
class  Rectangle
 
struct  ResetAllControllersEvent
 
class  RgbLed
 
class  RingBuffer
 
class  RingBuffer< T, 0 >
 
class  SaiHandle
 
class  ScopedIrqBlocker
 
class  SdmmcHandler
 
class  ShiftRegister4021
 
struct  SongPositionPointerEvent
 
struct  SongSelectEvent
 
class  SpiHandle
 
class  SSD130x4WireSpiTransport
 
class  SSD130xDriver
 
class  SSD130xI2CTransport
 
class  Stack
 
class  StackBase
 
class  Switch
 
class  Switch3
 
class  System
 
struct  SystemExclusiveEvent
 
class  TimerHandle
 
class  UartHandler
 
class  UI
 
struct  UiCanvasDescriptor
 
class  UiEventQueue
 
class  UiPage
 
class  VoctCalibration
 Helper class for calibrating an input to 1V/oct response. More...
 
struct  WAV_FormatTypeDef
 
class  WaveTableLoader
 
struct  WavFileInfo
 
class  WavPlayer
 
class  WavWriter
 
class  Wm8731
 

Typedefs

using MAX11300 = daisy::MAX11300Driver< BlockingSpiTransport >
 
using SSD130x4WireSpi128x64Driver = daisy::SSD130xDriver< 128, 64, SSD130x4WireSpiTransport >
 
using SSD130x4WireSpi128x32Driver = daisy::SSD130xDriver< 128, 32, SSD130x4WireSpiTransport >
 
using SSD130x4WireSpi98x16Driver = daisy::SSD130xDriver< 98, 16, SSD130x4WireSpiTransport >
 
using SSD130x4WireSpi64x48Driver = daisy::SSD130xDriver< 64, 48, SSD130x4WireSpiTransport >
 
using SSD130x4WireSpi64x32Driver = daisy::SSD130xDriver< 64, 32, SSD130x4WireSpiTransport >
 
using SSD130xI2c128x64Driver = daisy::SSD130xDriver< 128, 64, SSD130xI2CTransport >
 
using SSD130xI2c128x32Driver = daisy::SSD130xDriver< 128, 32, SSD130xI2CTransport >
 
using SSD130xI2c98x16Driver = daisy::SSD130xDriver< 98, 16, SSD130xI2CTransport >
 
using SSD130xI2c64x48Driver = daisy::SSD130xDriver< 64, 48, SSD130xI2CTransport >
 
using SSD130xI2c64x32Driver = daisy::SSD130xDriver< 64, 32, SSD130xI2CTransport >
 
using MidiUartHandler = MidiHandler< MidiUartTransport >
 
using MidiUsbHandler = MidiHandler< MidiUsbTransport >
 

Enumerations

enum class  Alignment {
  centered , topLeft , topCentered , topRight ,
  bottomLeft , bottomCentered , bottomRight , centeredLeft ,
  centeredRight
}
 
enum  LoggerDestination { LOGGER_NONE , LOGGER_INTERNAL , LOGGER_EXTERNAL , LOGGER_SEMIHOST }
 
enum  MidiMessageType {
  NoteOff , NoteOn , PolyphonicKeyPressure , ControlChange ,
  ProgramChange , ChannelPressure , PitchBend , SystemCommon ,
  SystemRealTime , ChannelMode , MessageLast
}
 
enum  SystemCommonType {
  SystemExclusive , MTCQuarterFrame , SongPositionPointer , SongSelect ,
  SCUndefined0 , SCUndefined1 , TuneRequest , SysExEnd ,
  SystemCommonLast
}
 
enum  SystemRealTimeType {
  TimingClock , SRTUndefined0 , Start , Continue ,
  Stop , SRTUndefined1 , ActiveSensing , Reset ,
  SystemRealTimeLast
}
 
enum  ChannelModeType {
  AllSoundOff , ResetAllControllers , LocalControl , AllNotesOff ,
  OmniModeOff , OmniModeOn , MonoModeOn , PolyModeOn ,
  ChannelModeLast
}
 
enum  ApplicationTypeDef { APPLICATION_IDLE = 0 , APPLICATION_START , APPLICATION_READY , APPLICATION_DISCONNECT }
 
enum class  ArrowButtonType { left = 0 , right , up , down }
 
enum  WavFileFormatCode {
  WAVE_FORMAT_PCM = 0x0001 , WAVE_FORMAT_IEEE_FLOAT = 0x0003 , WAVE_FORMAT_ALAW = 0x0006 , WAVE_FORMAT_ULAW = 0x0007 ,
  WAVE_FORMAT_EXTENSIBLE = 0xFFFE
}
 

Functions

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

Variables

const uint32_t kWavFileChunkId = 0x46464952
 
const uint32_t kWavFileWaveId = 0x45564157
 
const uint32_t kWavFileSubChunk1Id = 0x20746d66
 
const uint32_t kWavFileSubChunk2Id = 0x61746164
 

Detailed Description

Hardware defines and helpers for daisy field platform.

Device Driver for 16x2 LCD panel.
HD44780 with 4 data lines.
Example product: https://www.adafruit.com/product/181.

Author
StaffanMelin
Date
March 2021

Copyright (C) Johannes Elliesen, 2021

Typedef Documentation

◆ SSD130x4WireSpi128x32Driver

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

◆ SSD130x4WireSpi128x64Driver

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

◆ SSD130x4WireSpi64x32Driver

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

◆ SSD130x4WireSpi64x48Driver

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

◆ SSD130x4WireSpi98x16Driver

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

◆ SSD130xI2c128x32Driver

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

◆ SSD130xI2c128x64Driver

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

◆ SSD130xI2c64x32Driver

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

◆ SSD130xI2c64x48Driver

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

◆ SSD130xI2c98x16Driver

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

Enumeration Type Documentation

◆ Alignment

enum class daisy::Alignment
strong

Justifications

◆ ApplicationTypeDef

Status of USB Host application

◆ ArrowButtonType

enum class daisy::ArrowButtonType
strong
Enumerator
left 

The left arrow button.

right 

The right arrow button.

up 

The up arrow button.

down 

The down arrow button.

◆ ChannelModeType

Enumerator
AllSoundOff 

&

ResetAllControllers 

&

LocalControl 

&

AllNotesOff 

&

OmniModeOff 

&

OmniModeOn 

&

MonoModeOn 

&

PolyModeOn 

&

ChannelModeLast 

&

◆ LoggerDestination

Enumeration of destination ports for debug logging

Enumerator
LOGGER_NONE 

mute logging

LOGGER_INTERNAL 

internal USB port

LOGGER_EXTERNAL 

external USB port

LOGGER_SEMIHOST 

stdout

◆ MidiMessageType

Parsed from the Status Byte, these are the common Midi Messages that can be handled.
At this time only 3-byte messages are correctly parsed into MidiEvents.

Enumerator
NoteOff 

&

NoteOn 

&

PolyphonicKeyPressure 

&

ControlChange 

&

ProgramChange 

&

ChannelPressure 

&

PitchBend 

&

SystemCommon 

&

SystemRealTime 

&

ChannelMode 

&

MessageLast 

&

◆ SystemCommonType

Enumerator
SystemExclusive 

&

MTCQuarterFrame 

&

SongPositionPointer 

&

SongSelect 

&

SCUndefined0 

&

SCUndefined1 

&

TuneRequest 

&

SysExEnd 

&

SystemCommonLast 

&

◆ SystemRealTimeType

Enumerator
TimingClock 

&

SRTUndefined0 

&

Start 

&

Continue 

&

Stop 

&

SRTUndefined1 

&

ActiveSensing 

&

Reset 

&

SystemRealTimeLast 

&

◆ WavFileFormatCode

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.

Function Documentation

◆ dsy_i2c_global_init()

void daisy::dsy_i2c_global_init ( )

internal. Used for global init.

Variable Documentation

◆ kWavFileChunkId

const uint32_t daisy::kWavFileChunkId = 0x46464952

Constants for In-Header IDs "RIFF"

◆ kWavFileSubChunk1Id

const uint32_t daisy::kWavFileSubChunk1Id = 0x20746d66

"fmt "

◆ kWavFileSubChunk2Id

const uint32_t daisy::kWavFileSubChunk2Id = 0x61746164

"data"

◆ kWavFileWaveId

const uint32_t daisy::kWavFileWaveId = 0x45564157

"WAVE"