libmanta
A cross-platform API for the Snyderphonics Manta
MantaServer.h
00001 #ifndef _MANTASERVER_H
00002 #define _MANTASERVER_H
00003 
00004 /************************************************************************/
00013 class MantaServer
00014 {
00015    public:
00016 
00017    enum LEDState {
00018       Off,
00019       Amber,
00020       Red,
00021    };
00022    enum LEDControlType {
00023       PadAndButton,
00024       Slider,
00025       Button
00026    };
00027    typedef uint8_t LEDFrame[6];
00028 
00029    virtual ~MantaServer() {}
00030    /* declare callbacks to be implemented by subclasses */
00031    virtual void SetPadLED(LEDState state, int ledID) = 0;
00032    virtual void SetPadLEDRow(LEDState state, int row, uint8_t mask) = 0;
00033    virtual void SetPadLEDColumn(LEDState state, int column, uint8_t mask) = 0;
00034    virtual void SetPadLEDFrame(LEDState state, uint8_t mask[]) = 0;
00035    virtual void SetSliderLED(LEDState state, int id, uint8_t mask) = 0;
00036    virtual void SetButtonLED(LEDState state, int id) = 0;
00037    virtual void ResendLEDState(void) = 0;
00038    virtual void ClearPadAndButtonLEDs(void) = 0;
00039    virtual void ClearButtonLEDs(void) = 0;
00040    virtual void Recalibrate(void) = 0;
00041    virtual void SetLEDControl(LEDControlType control, bool state) = 0;
00042    virtual void SetTurboMode(bool Enabled) = 0;
00043    virtual void SetRawMode(bool Enabled) = 0;
00044    virtual void SetMaxSensorValues(int *values) = 0;
00045 };
00046 #endif /* _MANTASERVER_H */