Potentiometer AD5204,AD5206 library.

Dependents:   MjAD520x_Hello

Committer:
matsujirushi
Date:
Sun Oct 18 05:12:59 2015 +0000
Revision:
0:1d45c35a717b
created.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
matsujirushi 0:1d45c35a717b 1 #include "MjAD520x.h"
matsujirushi 0:1d45c35a717b 2
matsujirushi 0:1d45c35a717b 3 MjAD520x::MjAD520x(PinName mosi, PinName miso, PinName sclk, PinName cs_n, int terminalResistance)
matsujirushi 0:1d45c35a717b 4 : HwSpi(mosi, miso, sclk), HwCs_n(cs_n, 1)
matsujirushi 0:1d45c35a717b 5 {
matsujirushi 0:1d45c35a717b 6 TerminalResistance = terminalResistance;
matsujirushi 0:1d45c35a717b 7
matsujirushi 0:1d45c35a717b 8 HwSpi.format(11, 0);
matsujirushi 0:1d45c35a717b 9 HwSpi.frequency(1000000);
matsujirushi 0:1d45c35a717b 10 }
matsujirushi 0:1d45c35a717b 11
matsujirushi 0:1d45c35a717b 12 void MjAD520x::write(int channel, int resistance)
matsujirushi 0:1d45c35a717b 13 {
matsujirushi 0:1d45c35a717b 14 write_u8(channel, resistance <= TerminalResistance ? resistance * 255 / TerminalResistance : 255);
matsujirushi 0:1d45c35a717b 15 }
matsujirushi 0:1d45c35a717b 16
matsujirushi 0:1d45c35a717b 17 void MjAD520x::write_u8(int channel, uint8_t value)
matsujirushi 0:1d45c35a717b 18 {
matsujirushi 0:1d45c35a717b 19 HwCs_n.write(0);
matsujirushi 0:1d45c35a717b 20 wait_us(1);
matsujirushi 0:1d45c35a717b 21
matsujirushi 0:1d45c35a717b 22 HwSpi.write(channel << 8 | value);
matsujirushi 0:1d45c35a717b 23
matsujirushi 0:1d45c35a717b 24 HwCs_n.write(1);
matsujirushi 0:1d45c35a717b 25 wait_us(1);
matsujirushi 0:1d45c35a717b 26 }
matsujirushi 0:1d45c35a717b 27