UvA NetCentric Computing listener

Dependencies:   AndroidAccessory Controls HBridge MotorController mbed

Fork of uva_nc by Jurgen Baas

Committer:
diepvriezer
Date:
Thu May 22 08:33:12 2014 +0000
Revision:
0:0f9ceecf1db8
Child:
1:3cde55629b1d
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
diepvriezer 0:0f9ceecf1db8 1 #ifndef __NETCENTRICAPP_H__
diepvriezer 0:0f9ceecf1db8 2 #define __NETCENTRICAPP_H__
diepvriezer 0:0f9ceecf1db8 3
diepvriezer 0:0f9ceecf1db8 4 #include "AndroidAccessory.h"
diepvriezer 0:0f9ceecf1db8 5 #include "mbed.h"
diepvriezer 0:0f9ceecf1db8 6 #include "MbedCommand.h"
diepvriezer 0:0f9ceecf1db8 7
diepvriezer 0:0f9ceecf1db8 8 #define READ_BUFF 2048
diepvriezer 0:0f9ceecf1db8 9 #define WRITE_BUFF 2048
diepvriezer 0:0f9ceecf1db8 10
diepvriezer 0:0f9ceecf1db8 11 #define NO_ERROR 0
diepvriezer 0:0f9ceecf1db8 12 #define ERR_COMMAND_NOT_FOUND 1
diepvriezer 0:0f9ceecf1db8 13
diepvriezer 0:0f9ceecf1db8 14 #define COMMAND_SUM 1
diepvriezer 0:0f9ceecf1db8 15 #define COMMAND_AVG 2
diepvriezer 0:0f9ceecf1db8 16 #define COMMAND_LED 3
diepvriezer 0:0f9ceecf1db8 17
diepvriezer 0:0f9ceecf1db8 18 class NetCentricApp : private AndroidAccessory {
diepvriezer 0:0f9ceecf1db8 19 public:
diepvriezer 0:0f9ceecf1db8 20 NetCentricApp():
diepvriezer 0:0f9ceecf1db8 21 AndroidAccessory(READ_BUFF, WRITE_BUFF,
diepvriezer 0:0f9ceecf1db8 22 "ARM",
diepvriezer 0:0f9ceecf1db8 23 "mbed",
diepvriezer 0:0f9ceecf1db8 24 "mbed - NetCentric",
diepvriezer 0:0f9ceecf1db8 25 "0.2",
diepvriezer 0:0f9ceecf1db8 26 "http://www.uva.nl",
diepvriezer 0:0f9ceecf1db8 27 "0000000012345678")
diepvriezer 0:0f9ceecf1db8 28 {};
diepvriezer 0:0f9ceecf1db8 29
diepvriezer 0:0f9ceecf1db8 30 protected:
diepvriezer 0:0f9ceecf1db8 31 virtual void setupDevice();
diepvriezer 0:0f9ceecf1db8 32 virtual void resetDevice();
diepvriezer 0:0f9ceecf1db8 33 virtual int callbackRead(u8 *buffer, int len);
diepvriezer 0:0f9ceecf1db8 34 virtual int callbackWrite();
diepvriezer 0:0f9ceecf1db8 35
diepvriezer 0:0f9ceecf1db8 36 MbedResponse *getResponse(MbedRequest *request);
diepvriezer 0:0f9ceecf1db8 37
diepvriezer 0:0f9ceecf1db8 38 private:
diepvriezer 0:0f9ceecf1db8 39 static float getFloat(u8 *buffer, int offset, int bufferLen);
diepvriezer 0:0f9ceecf1db8 40 static int getInt(u8 *buffer, int offset, int bufferLen);
diepvriezer 0:0f9ceecf1db8 41 static u8 getUByte(u8 *buffer, int offset, int bufferLen);
diepvriezer 0:0f9ceecf1db8 42
diepvriezer 0:0f9ceecf1db8 43 MbedResponse *sumCommand(MbedRequest *request);
diepvriezer 0:0f9ceecf1db8 44 MbedResponse *avgCommand(MbedRequest *request);
diepvriezer 0:0f9ceecf1db8 45 MbedResponse *ledCommand(MbedRequest *request);
diepvriezer 0:0f9ceecf1db8 46 };
diepvriezer 0:0f9ceecf1db8 47
diepvriezer 0:0f9ceecf1db8 48 #endif