libmanta
A cross-platform API for the Snyderphonics Manta
|
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 */