UvA NetCentric Computing listener

Dependencies:   AndroidAccessory Controls HBridge MotorController mbed

Fork of uva_nc by Jurgen Baas

Committer:
Sinterbaas
Date:
Sun Jan 10 23:48:29 2016 +0000
Revision:
7:d9d30a2d8d9f
Parent:
6:b5072fb695f2
Remove the ghetto

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"
jurgy 3:0229ad4f2db1 7 #include "PcControls.h"
diepvriezer 0:0f9ceecf1db8 8
diepvriezer 0:0f9ceecf1db8 9 #define READ_BUFF 2048
diepvriezer 0:0f9ceecf1db8 10 #define WRITE_BUFF 2048
diepvriezer 0:0f9ceecf1db8 11
diepvriezer 0:0f9ceecf1db8 12 #define NO_ERROR 0
diepvriezer 0:0f9ceecf1db8 13 #define ERR_COMMAND_NOT_FOUND 1
diepvriezer 0:0f9ceecf1db8 14
diepvriezer 0:0f9ceecf1db8 15 #define COMMAND_SUM 1
diepvriezer 0:0f9ceecf1db8 16 #define COMMAND_AVG 2
diepvriezer 0:0f9ceecf1db8 17 #define COMMAND_LED 3
jurgy 1:3cde55629b1d 18 #define COMMAND_MOTOR 4
Sinterbaas 6:b5072fb695f2 19 #define COMMAND_STATUS 5
diepvriezer 0:0f9ceecf1db8 20
diepvriezer 0:0f9ceecf1db8 21 class NetCentricApp : private AndroidAccessory {
diepvriezer 0:0f9ceecf1db8 22 public:
jurgy 3:0229ad4f2db1 23 NetCentricApp(MotorControlsPc &motorControlsPc):
diepvriezer 0:0f9ceecf1db8 24 AndroidAccessory(READ_BUFF, WRITE_BUFF,
diepvriezer 0:0f9ceecf1db8 25 "ARM",
diepvriezer 0:0f9ceecf1db8 26 "mbed",
diepvriezer 0:0f9ceecf1db8 27 "mbed - NetCentric",
diepvriezer 0:0f9ceecf1db8 28 "0.2",
diepvriezer 0:0f9ceecf1db8 29 "http://www.uva.nl",
jurgy 3:0229ad4f2db1 30 "0000000012345678"),
jurgy 3:0229ad4f2db1 31 motorControlsPc ( motorControlsPc )
diepvriezer 0:0f9ceecf1db8 32 {};
diepvriezer 0:0f9ceecf1db8 33
diepvriezer 0:0f9ceecf1db8 34 protected:
diepvriezer 0:0f9ceecf1db8 35 virtual void setupDevice();
diepvriezer 0:0f9ceecf1db8 36 virtual void resetDevice();
diepvriezer 0:0f9ceecf1db8 37 virtual int callbackRead(u8 *buffer, int len);
diepvriezer 0:0f9ceecf1db8 38 virtual int callbackWrite();
diepvriezer 0:0f9ceecf1db8 39
diepvriezer 0:0f9ceecf1db8 40 MbedResponse *getResponse(MbedRequest *request);
diepvriezer 0:0f9ceecf1db8 41
diepvriezer 0:0f9ceecf1db8 42 private:
diepvriezer 0:0f9ceecf1db8 43 static float getFloat(u8 *buffer, int offset, int bufferLen);
diepvriezer 0:0f9ceecf1db8 44 static int getInt(u8 *buffer, int offset, int bufferLen);
diepvriezer 0:0f9ceecf1db8 45 static u8 getUByte(u8 *buffer, int offset, int bufferLen);
diepvriezer 0:0f9ceecf1db8 46
diepvriezer 0:0f9ceecf1db8 47 MbedResponse *sumCommand(MbedRequest *request);
diepvriezer 0:0f9ceecf1db8 48 MbedResponse *avgCommand(MbedRequest *request);
diepvriezer 0:0f9ceecf1db8 49 MbedResponse *ledCommand(MbedRequest *request);
jurgy 1:3cde55629b1d 50 MbedResponse *motorCommand(MbedRequest *request);
Sinterbaas 6:b5072fb695f2 51 MbedResponse *statusCommand(MbedRequest *request);
jurgy 3:0229ad4f2db1 52
jurgy 3:0229ad4f2db1 53 MotorControlsPc &motorControlsPc;
diepvriezer 0:0f9ceecf1db8 54 };
diepvriezer 0:0f9ceecf1db8 55
diepvriezer 0:0f9ceecf1db8 56 #endif