UvA NetCentric Computing listener
Dependencies: AndroidAccessory Controls HBridge MotorController mbed
Fork of uva_nc by
NetCentricApp.h
- Committer:
- Sinterbaas
- Date:
- 2016-01-10
- Revision:
- 7:d9d30a2d8d9f
- Parent:
- 6:b5072fb695f2
File content as of revision 7:d9d30a2d8d9f:
#ifndef __NETCENTRICAPP_H__ #define __NETCENTRICAPP_H__ #include "AndroidAccessory.h" #include "mbed.h" #include "MbedCommand.h" #include "PcControls.h" #define READ_BUFF 2048 #define WRITE_BUFF 2048 #define NO_ERROR 0 #define ERR_COMMAND_NOT_FOUND 1 #define COMMAND_SUM 1 #define COMMAND_AVG 2 #define COMMAND_LED 3 #define COMMAND_MOTOR 4 #define COMMAND_STATUS 5 class NetCentricApp : private AndroidAccessory { public: NetCentricApp(MotorControlsPc &motorControlsPc): AndroidAccessory(READ_BUFF, WRITE_BUFF, "ARM", "mbed", "mbed - NetCentric", "0.2", "http://www.uva.nl", "0000000012345678"), motorControlsPc ( motorControlsPc ) {}; protected: virtual void setupDevice(); virtual void resetDevice(); virtual int callbackRead(u8 *buffer, int len); virtual int callbackWrite(); MbedResponse *getResponse(MbedRequest *request); private: static float getFloat(u8 *buffer, int offset, int bufferLen); static int getInt(u8 *buffer, int offset, int bufferLen); static u8 getUByte(u8 *buffer, int offset, int bufferLen); MbedResponse *sumCommand(MbedRequest *request); MbedResponse *avgCommand(MbedRequest *request); MbedResponse *ledCommand(MbedRequest *request); MbedResponse *motorCommand(MbedRequest *request); MbedResponse *statusCommand(MbedRequest *request); MotorControlsPc &motorControlsPc; }; #endif