Menu

JsRadioSlave

Perrotti

Class JsRadioSlave

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){}
};

Related

Wiki: Home
Wiki: JoyStick
Wiki: JoyStickShield
Wiki: PushButton
Wiki: PushButtonArray
Wiki: RadioMessage

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.