YAHAL
Yet Another Hardware Abstraction Library
Loading...
Searching...
No Matches
src
drivers
rp2040
dac8311
dac8311_rp2040_drv.h
1
// ---------------------------------------------
2
// This file is part of
3
// _ _ __ _ _ __ __
4
// ( \/ ) /__\ ( )_( ) /__\ ( )
5
// \ / /(__)\ ) _ ( /(__)\ )(__
6
// (__)(__)(__)(_) (_)(__)(__)(____)
7
//
8
// Yet Another HW Abstraction Library
9
// Copyright (C) Andreas Terstegge
10
// BSD Licensed (see file LICENSE)
11
//
12
// ---------------------------------------------
13
//
14
#ifndef _DAC8311_RP2040_DRV_H_
15
#define _DAC8311_RP2040_DRV_H_
16
17
#include <cstdint>
18
#include "pcm_audio_interface.h"
19
#include "gpio_rp2040.h"
20
#include "pio_rp2040.h"
21
#include "FIFO.h"
22
23
class
dac8311_rp2040_drv
:
public
pcm_audio_interface
24
{
25
public
:
26
dac8311_rp2040_drv
(gpio_pin_t mosi_pin,
27
gpio_pin_t sclk_pin,
28
gpio_pin_t sync_pin,
29
gpio_pin_t enable);
30
31
virtual
~dac8311_rp2040_drv
() =
default
;
32
33
inline
void
enable_output(
bool
v) {
34
_enable.gpioWrite(!v);
35
}
36
37
void
setPcmRate(uint32_t Hz = 44100)
override
;
38
39
private
:
40
gpio_rp2040
_enable;
// Audio enable Pin
41
SM
* _pcm_sm;
// The PIO State Machine
42
};
43
44
#endif
// _DAC8311_RP2040_DRV_H_
dac8311_rp2040_drv
Definition
dac8311_rp2040_drv.h:24
gpio_rp2040
Definition
gpio_rp2040.h:36
pcm_audio_interface
Definition
pcm_audio_interface.h:29
SM
Definition
pio_rp2040.h:227
Generated by
1.12.0