libDaisy
Hardware Library for Daisy
Loading...
Searching...
No Matches
sai.h
Go to the documentation of this file.
1#pragma once
2#ifndef DSY_SAI_H
3#define DSY_SAI_H
4
5#include "daisy_core.h"
6
7namespace daisy
8{
43{
44 public:
46 struct Config
47 {
49 enum class Peripheral
50 {
51 SAI_1,
52 SAI_2,
53 };
54
56 enum class SampleRate
57 {
63 };
64
66 enum class BitDepth
67 {
71 };
72
77 enum class Sync
78 {
79 MASTER,
80 SLAVE,
81 };
82
84 enum class Direction
85 {
87 RECEIVE,
88 };
89
91 struct
92 {
99 };
100
102 enum class Result
103 {
104 OK,
105 ERR,
106 };
107
108 SaiHandle() : pimpl_(nullptr) {}
109 SaiHandle(const SaiHandle& other) = default;
110 SaiHandle& operator=(const SaiHandle& other) = default;
111
114
117
119 const Config& GetConfig() const;
120
128
135 size_t size,
137
140
143
146 size_t GetBlockSize();
147
152
154 size_t GetOffset() const;
155
156 inline bool IsInitialized() const
157 {
158 return pimpl_ == nullptr ? false : true;
159 }
160
161 class Impl;
163 private:
164 Impl* pimpl_;
165};
166
167} // namespace daisy
168
169#endif
Definition leddriver.h:33
Definition sai.h:43
Result StartDma(int32_t *buffer_rx, int32_t *buffer_tx, size_t size, CallbackFunctionPtr callback)
const Config & GetConfig() const
float GetBlockRate()
SaiHandle(const SaiHandle &other)=default
Result
Definition sai.h:103
size_t GetBlockSize()
size_t GetOffset() const
SaiHandle()
Definition sai.h:108
float GetSampleRate()
bool IsInitialized() const
Definition sai.h:156
void(* CallbackFunctionPtr)(int32_t *in, int32_t *out, size_t size)
Definition sai.h:127
SaiHandle & operator=(const SaiHandle &other)=default
Result Init(const Config &config)
Hardware defines and helpers for daisy field platform.
Definition index.h:2
Definition sai.h:47
SampleRate sr
Definition sai.h:95
BitDepth bit_depth
Definition sai.h:96
dsy_gpio_pin sck
Definition sai.h:93
Sync
Definition sai.h:78
Direction a_dir
Definition sai.h:98
Direction b_dir
Definition sai.h:98
struct daisy::SaiHandle::Config::@15 pin_config
Peripheral
Definition sai.h:50
Direction
Definition sai.h:85
dsy_gpio_pin sb
Definition sai.h:93
BitDepth
Definition sai.h:67
Sync a_sync
Definition sai.h:97
Peripheral periph
Definition sai.h:90
SampleRate
Definition sai.h:57
Sync b_sync
Definition sai.h:97
dsy_gpio_pin sa
Definition sai.h:93
dsy_gpio_pin mclk
Definition sai.h:93
dsy_gpio_pin fs
Definition sai.h:93
Definition daisy_core.h:205