Skyward boardcore
Loading...
Searching...
No Matches
AD5204.h
Go to the documentation of this file.
1
/* Copyright (c) 2022 Skyward Experimental Rocketry
2
* Author: Alberto Nidasio
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a copy
5
* of this software and associated documentation files (the "Software"), to deal
6
* in the Software without restriction, including without limitation the rights
7
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
* copies of the Software, and to permit persons to whom the Software is
9
* furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice shall be included in
12
* all copies or substantial portions of the Software.
13
*
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
* THE SOFTWARE.
21
*/
22
23
#include <
drivers/spi/SPIDriver.h
>
24
25
namespace
Boardcore
26
{
27
28
class
AD5204
29
{
30
public
:
31
enum class
Channel
: uint16_t
32
{
33
RDAC_1
= 0x000,
34
RDAC_2
= 0x100,
35
RDAC_3
= 0x200,
36
RDAC_4
= 0x300,
37
};
38
39
enum class
Resistance
: uint32_t
40
{
41
R_10
= 10000,
42
R_50
= 50000,
43
R_100
= 100000,
44
};
45
46
AD5204
(
SPIBusInterface
& bus, miosix::GpioPin cs,
SPIBusConfig
spiConfig,
47
Resistance
resistance =
Resistance::R_10
);
48
49
void
setResistance
(
Channel
channel, uint32_t resistance);
50
51
private
:
52
SPISlave
slave;
53
Resistance
resRange;
54
};
55
56
}
// namespace Boardcore
SPIDriver.h
Boardcore::AD5204
Definition
AD5204.h:29
Boardcore::AD5204::Channel
Channel
Definition
AD5204.h:32
Boardcore::AD5204::Channel::RDAC_3
@ RDAC_3
Boardcore::AD5204::Channel::RDAC_4
@ RDAC_4
Boardcore::AD5204::Channel::RDAC_2
@ RDAC_2
Boardcore::AD5204::Channel::RDAC_1
@ RDAC_1
Boardcore::AD5204::Resistance
Resistance
Definition
AD5204.h:40
Boardcore::AD5204::Resistance::R_10
@ R_10
Boardcore::AD5204::Resistance::R_50
@ R_50
Boardcore::AD5204::Resistance::R_100
@ R_100
Boardcore::AD5204::AD5204
AD5204(SPIBusInterface &bus, miosix::GpioPin cs, SPIBusConfig spiConfig, Resistance resistance=Resistance::R_10)
Definition
AD5204.cpp:28
Boardcore::AD5204::setResistance
void setResistance(Channel channel, uint32_t resistance)
Definition
AD5204.cpp:34
Boardcore::SPIBusInterface
Interface for low level access of a SPI bus as a master.
Definition
SPIBusInterface.h:118
Boardcore
This file includes all the types the logdecoder script will decode.
Definition
ActiveObject.h:31
Boardcore::SPIBusConfig
SPI Bus configuration for a specific slave.
Definition
SPIBusInterface.h:46
Boardcore::SPISlave
Contains information about a single SPI slave device.
Definition
SPIBusInterface.h:294
src
shared
drivers
AD5204
AD5204.h
Generated by
1.10.0