simple MCP4XXX digital potentiometer library
datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/22060b.pdf
MCP4XXX.h@2:314126c6d325, 2013-11-27 (annotated)
- Committer:
- jyam
- Date:
- Wed Nov 27 18:26:07 2013 +0000
- Revision:
- 2:314126c6d325
- Parent:
- 1:d0bc73e899a3
default isP0 to true
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jyam | 0:dc2196d5163f | 1 | #ifndef MCP4XXX_H |
jyam | 0:dc2196d5163f | 2 | #define MCP4XXX_H |
jyam | 0:dc2196d5163f | 3 | |
jyam | 0:dc2196d5163f | 4 | #include "mbed.h" |
jyam | 0:dc2196d5163f | 5 | |
jyam | 1:d0bc73e899a3 | 6 | #define P0_ADDR 0x00 |
jyam | 1:d0bc73e899a3 | 7 | #define P1_ADDR 0x10 |
jyam | 0:dc2196d5163f | 8 | |
jyam | 0:dc2196d5163f | 9 | class MCP4XXX { |
jyam | 0:dc2196d5163f | 10 | |
jyam | 0:dc2196d5163f | 11 | public: |
jyam | 0:dc2196d5163f | 12 | MCP4XXX(PinName miso, PinName mosi, PinName clk, PinName cs); |
jyam | 0:dc2196d5163f | 13 | ~MCP4XXX(); |
jyam | 2:314126c6d325 | 14 | void setLevel(unsigned char lvl, bool isP0 = true); // MCP42XX is a dual pot IC |
jyam | 0:dc2196d5163f | 15 | unsigned char getLevel(); |
jyam | 0:dc2196d5163f | 16 | private: |
jyam | 0:dc2196d5163f | 17 | SPI *_spi; |
jyam | 0:dc2196d5163f | 18 | DigitalOut *_cs; |
jyam | 0:dc2196d5163f | 19 | unsigned char _lvl; |
jyam | 0:dc2196d5163f | 20 | }; |
jyam | 0:dc2196d5163f | 21 | |
jyam | 0:dc2196d5163f | 22 | #endif |