simple MCP4XXX digital potentiometer library
datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/22060b.pdf
Diff: MCP4XXX.cpp
- Revision:
- 0:dc2196d5163f
- Child:
- 1:d0bc73e899a3
diff -r 000000000000 -r dc2196d5163f MCP4XXX.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MCP4XXX.cpp Wed Nov 27 06:42:37 2013 +0000 @@ -0,0 +1,30 @@ +#include "MCP4XXX.h" + +MCP4XXX::MCP4XXX(PinName miso, PinName mosi, PinName clk, PinName cs) { + _cs = new DigitalOut(cs); + _spi = new SPI(miso, mosi, clk); + _spi->format(8,0); + _spi->frequency(1000000); + _lvl = 0x00; +} + +MCP4XXX::~MCP4XXX() +{ + delete _cs; + delete _spi; +} + +void MCP4XXX::setLevel(unsigned char lvl, bool isR0) { + *_cs = 0; + if (isR0) + _spi->write(P0); + else + _spi->write(P1); + _spi->write(lvl); + *_cs = 1; + _lvl = lvl; +} + +unsigned char MCP4XXX::getLevel() { + return _lvl; +} \ No newline at end of file