Class to receive messages from JsRadioMaster class.
Public declarations:
typedef struct{
byte msgID;
int param;
}
TJsPacket;
// msgID
#define msg_JS_BUTTON_PRESSED 1
#define msg_JS_BUTTON_RELEASED 2
#define msg_JS_X_AXIS_CHANGE 3
#define msg_JS_Y_AXIS_CHANGE 4
#define msg_JS_LAST_JS_MSG_ID msg_JS_Y_AXIS_CHANGE
class JoyStickRadio: public RadioMessage{
public:
JoyStickRadio(int cePin, int csPin): RadioMessage(cePin, csPin){}
void run();
TJsPacket* makeJsPacket(TJsPacket *pack, byte msgID, int param);
int sendJsPacket(TJsPacket *pack);
int readJsPacket(TJsPacket *pack);
protected:
virtual void onJsPacketSent(TJsPacket *pack){};
virtual void onJsPacketRead(TJsPacket *pack){};
};
class JsRadioSlave: public JoyStickRadio{
public:
JsRadioSlave(int cePin, int csPin): JoyStickRadio(cePin, csPin){}
void begin(byte *pipeIn, byte *pipeOut, TDatarate rate);
protected:
virtual void onButtonPressed(byte btID){}
virtual void onButtonReleased(byte btID){}
virtual void onXAxisChange(int xVal){}
virtual void onYAxisChange(int yVal){}
};
Wiki: Home
Wiki: JoyStick
Wiki: JoyStickShield
Wiki: PushButton
Wiki: PushButtonArray
Wiki: RadioMessage