AFE_NXP_Arduino
0.2.0
AFE (NAFE13388) device operation sample code for Arduino
Loading...
Searching...
No Matches
src
SPI_for_AFE.cpp
Go to the documentation of this file.
1
#include "
AFE_NXP.h
"
2
3
void
SPI_for_AFE::txrx
( uint8_t *data,
int
size )
4
{
5
SPI.beginTransaction( SPISettings( 1000000, MSBFIRST, SPI_MODE1 ) );
6
digitalWrite( SS, LOW );
7
SPI.transfer( data, size );
8
digitalWrite( SS, HIGH );
9
}
10
11
void
SPI_for_AFE::write_r16
( uint16_t reg )
12
{
13
reg <<= 1;
14
15
uint8_t v[] = { (uint8_t)(reg >> 8), (uint8_t)(reg & 0xFF) };
16
txrx
( v,
sizeof
( v ) );
17
}
18
19
void
SPI_for_AFE::write_r16
( uint16_t reg, uint16_t val )
20
{
21
reg <<= 1;
22
23
uint8_t v[] = { (uint8_t)(reg >> 8), (uint8_t)(reg & 0xFF), (uint8_t)(val >> 8), (uint8_t)val };
24
txrx
( v,
sizeof
( v ) );
25
}
26
27
uint16_t
SPI_for_AFE::read_r16
( uint16_t reg )
28
{
29
reg <<= 1;
30
reg |= 0x4000;
31
32
uint8_t v[ 4 ] = { (uint8_t)(reg >> 8), (uint8_t)(reg & 0xFF), 0xFF, 0xFF };
33
txrx
( v,
sizeof
( v ) );
34
35
return
(uint16_t)(v[ 2 ]) << 8 | v[ 3 ];
36
}
37
38
void
SPI_for_AFE::write_r24
( uint16_t reg, uint32_t val )
39
{
40
reg <<= 1;
41
42
uint8_t v[] = { (uint8_t)(reg >> 8), (uint8_t)(reg & 0xFF), (uint8_t)(val >> 16), (uint8_t)(val >> 8), (uint8_t)val };
43
txrx
( v,
sizeof
( v ) );
44
}
45
46
int32_t
SPI_for_AFE::read_r24
( uint16_t reg )
47
{
48
reg <<= 1;
49
reg |= 0x4000;
50
51
uint8_t v[] = { (uint8_t)(reg >> 8), (uint8_t)(reg & 0xFF), 0xFF, 0xFF, 0xFF };
52
txrx
( v,
sizeof
( v ) );
53
54
int32_t r0 = v[ 2 ];
55
int32_t r1 = v[ 3 ];
56
int32_t r2 = v[ 4 ];
57
int32_t r = ( (r0 << 24) | (r1 << 16) | (r2 << 8) );
58
59
return
r >> 8;
60
}
AFE_NXP.h
SPI_for_AFE::read_r24
int32_t read_r24(uint16_t reg)
Definition
SPI_for_AFE.cpp:46
SPI_for_AFE::txrx
void txrx(uint8_t *data, int size)
Definition
SPI_for_AFE.cpp:3
SPI_for_AFE::write_r24
void write_r24(uint16_t reg, uint32_t val)
Definition
SPI_for_AFE.cpp:38
SPI_for_AFE::read_r16
uint16_t read_r16(uint16_t reg)
Definition
SPI_for_AFE.cpp:27
SPI_for_AFE::write_r16
void write_r16(uint16_t reg)
Definition
SPI_for_AFE.cpp:11
Generated by
1.12.0