A simple library for controlling an MCP4241 digital potentiometer

DigiPot.h

Committer:
ollie8
Date:
2014-02-08
Revision:
2:54e9d9ddc350
Parent:
0:f547d674e543

File content as of revision 2:54e9d9ddc350:

#ifndef DIGIPOT_H
#define DIGIPOT_H

#include <mbed.h>

enum Mode {
    LINEAR, LOGARITHMIC    
};

class DigiPot {

    public:    
        DigiPot(PinName miso, PinName mosi, PinName clk, PinName cs, Mode mode);
        void increment();
        void decrement();
        void setLevel(unsigned char);
        void mute();
        void unmute();
        unsigned char getLevel();
    private:
        SPI *spi;
        DigitalOut *chsel;
        unsigned char level;
        unsigned char percent;
        Mode mode;
        double scale;
        unsigned char round(double);
};

#endif