Potentiometer AD5204,AD5206 library.

Dependents:   MjAD520x_Hello

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MjAD520x.cpp Source File

MjAD520x.cpp

00001 #include "MjAD520x.h"
00002 
00003 MjAD520x::MjAD520x(PinName mosi, PinName miso, PinName sclk, PinName cs_n, int terminalResistance)
00004     : HwSpi(mosi, miso, sclk), HwCs_n(cs_n, 1)
00005 {
00006     TerminalResistance = terminalResistance;
00007 
00008     HwSpi.format(11, 0);
00009     HwSpi.frequency(1000000);
00010 }
00011 
00012 void MjAD520x::write(int channel, int resistance)
00013 {
00014     write_u8(channel, resistance <= TerminalResistance ? resistance * 255 / TerminalResistance : 255);
00015 }
00016 
00017 void MjAD520x::write_u8(int channel, uint8_t value)
00018 {
00019     HwCs_n.write(0);
00020     wait_us(1);
00021 
00022     HwSpi.write(channel << 8 | value);
00023 
00024     HwCs_n.write(1);
00025     wait_us(1);
00026 }
00027