Skip to content

title: daisy::DaisySeed summary: This is the higher-level interface for the Daisy board. All basic peripheral configuration/initialization is setup here. .


daisy::DaisySeed

Module: LIBDAISY / BOARDS

This is the higher-level interface for the Daisy board. All basic peripheral configuration/initialization is setup here. .

#include <daisy_seed.h>

Public Types

Name
enum class BoardVersion

Public Functions

Name
DaisySeed()
~DaisySeed()
void Configure()
void Init(bool boost =false)
void DeInit()
void DelayMs(size_t del)
void StartAudio(AudioHandle::InterleavingAudioCallback cb)
void StartAudio(AudioHandle::AudioCallback cb)
void ChangeAudioCallback(AudioHandle::InterleavingAudioCallback cb)
void ChangeAudioCallback(AudioHandle::AudioCallback cb)
void StopAudio()
void SetAudioSampleRate(SaiHandle::Config::SampleRate samplerate)
float AudioSampleRate()
void SetAudioBlockSize(size_t blocksize)
size_t AudioBlockSize()
float AudioCallbackRate() const
const SaiHandle & AudioSaiHandle() const
void SetLed(bool state)
void SetTestPoint(bool state)
BoardVersion CheckBoardVersion()
dsy_gpio_pin GetPin(uint8_t pin_idx)
template <typename... VA>
void
Print(const char * format, VA... va)
template <typename... VA>
void
PrintLine(const char * format, VA... va)
void StartLog(bool wait_for_pc =false)

Public Attributes

Name
QSPIHandle qspi
QSPIHandle::Config qspi_config
SdramHandle sdram_handle
AudioHandle audio_handle
AdcHandle adc
DacHandle dac
UsbHandle usb_handle
dsy_gpio led
dsy_gpio testpoint
System system

Public Types Documentation

enum BoardVersion

Enumerator Value Description
DAISY_SEED Daisy Seed Rev4 This is the original Daisy Seed
DAISY_SEED_1_1 Daisy Seed 1.1 (aka Daisy Seed Rev5) This is a pin-compatible version of the Daisy Seed that uses the WM8731 codec instead of the AK4430
DAISY_SEED_2_DFM Daisy Seed 2 DFM is a software compatible version of the original Daisy Seed that has improvements for manufacturing, as well as an improved audio codec (PCM3060)

Internal indices for DaisySeed-equivalent devices This shouldn't have any effect on user-facing code, and only needs to be checked to properly initialize the onboard-circuits.

Public Functions Documentation

function DaisySeed

inline DaisySeed()

function ~DaisySeed

inline ~DaisySeed()

function Configure

void Configure()

This function used to provide a pre-initialization configuraiton it has since been deprecated, and does nothing.


function Init

void Init(
    bool boost =false
)

Initializes the Daisy Seed and the following peripherals: SDRAM, QSPI, 24-bit 48kHz Audio via AK4556, Internal USB, as well as the built-in LED and Testpoint.

ADCs, DACs, and other special peripherals (such as I2C, SPI, etc.) can be initialized using their specific initializers within libdaisy for a specific application.


function DeInit

void DeInit()

Deinitializes all peripherals automatically handled by Init.


function DelayMs

void DelayMs(
    size_t del
)

Parameters:

  • del Delay time in ms.

Wait some ms before going on.


function StartAudio

void StartAudio(
    AudioHandle::InterleavingAudioCallback cb
)

Begins the audio for the seeds builtin audio. the specified callback will get called whenever new data is ready to be prepared.


function StartAudio

void StartAudio(
    AudioHandle::AudioCallback cb
)

Begins the audio for the seeds builtin audio. the specified callback will get called whenever new data is ready to be prepared. This will use the newer non-interleaved callback.


function ChangeAudioCallback

void ChangeAudioCallback(
    AudioHandle::InterleavingAudioCallback cb
)

Changes to a new interleaved callback


function ChangeAudioCallback

void ChangeAudioCallback(
    AudioHandle::AudioCallback cb
)

Changes to a new multichannel callback


function StopAudio

void StopAudio()

Stops the audio if it is running.


function SetAudioSampleRate

void SetAudioSampleRate(
    SaiHandle::Config::SampleRate samplerate
)

Updates the Audio Sample Rate, and reinitializes. Audio must be stopped for this to work.


function AudioSampleRate

float AudioSampleRate()

Returns the audio sample rate in Hz as a floating point number.


function SetAudioBlockSize

void SetAudioBlockSize(
    size_t blocksize
)

Sets the number of samples processed per channel by the audio callback.


function AudioBlockSize

size_t AudioBlockSize()

Returns the number of samples per channel in a block of audio.


function AudioCallbackRate

float AudioCallbackRate() const

Returns the rate in Hz that the Audio callback is called


function AudioSaiHandle

const SaiHandle & AudioSaiHandle() const

Returns the SAI Handle for the Daisy Seed This can be useful when adding a secondary codec, the result of this function can be passed to the audio reinit with an SAI2 configuration


function SetLed

void SetLed(
    bool state
)

Sets the state of the built in LED


function SetTestPoint

void SetTestPoint(
    bool state
)

Sets the state of the test point near pin 10


function CheckBoardVersion

BoardVersion CheckBoardVersion()

Returns the BoardVersion detected during intiialization


function GetPin

static dsy_gpio_pin GetPin(
    uint8_t pin_idx
)

Returns the gpio_pin corresponding to the index 0-31. For the given GPIO on the Daisy Seed (labeled 1-32 in docs).


function Print

template <typename... VA>
static inline void Print(
    const char * format,
    VA... va
)

Print formatted debug log message


function PrintLine

template <typename... VA>
static inline void PrintLine(
    const char * format,
    VA... va
)

Print formatted debug log message with automatic line termination


function StartLog

static inline void StartLog(
    bool wait_for_pc =false
)

Start the logging session. Optionally wait for terminal connection before proceeding.


Public Attributes Documentation

variable qspi

QSPIHandle qspi;

variable qspi_config

QSPIHandle::Config qspi_config;

variable sdram_handle

SdramHandle sdram_handle;

&

variable audio_handle

AudioHandle audio_handle;

&

variable adc

AdcHandle adc;

&

variable dac

DacHandle dac;

variable usb_handle

UsbHandle usb_handle;

&

variable led

dsy_gpio led;

variable testpoint

dsy_gpio testpoint;

variable system

System system;

Updated on 2024-01-03 at 19:41:01 +0000