#ifndef _COMMANDS_H #define _COMMANDS_H #define NUM_COMMANDS 26 //TODO handle with enums #define MAX_TYPE 6 #define MAX_SUBTYPE 100 int debug(unsigned char *c, int dataLen); int setyaw(unsigned char *c, int dataLen); int setyawp(unsigned char *c, int dataLen); int setyawd(unsigned char *c, int dataLen); int setroll(unsigned char *c, int dataLen); int setrollp(unsigned char *c, int dataLen); int setrolld(unsigned char *c, int dataLen); int setpitch(unsigned char *c, int dataLen); int setpitchp(unsigned char *c, int dataLen); int setpitchd(unsigned char *c, int dataLen); int setthrottle(unsigned char *c, int dataLen); int setthrottlep(unsigned char *c, int dataLen); int setthrottlei(unsigned char *c, int dataLen); int setthrottled(unsigned char *c, int dataLen); int getaccel(unsigned char *c, int dataLen); int getgyro(unsigned char *c, int dataLen); int getpitchangle(unsigned char *c, int dataLen); int getrollangle(unsigned char *c, int dataLen); int accelresp(unsigned char *c, int dataLen); int gyroresp(unsigned char *c, int dataLen); int pitchangleresp(unsigned char *c, int dataLen); int rollangleresp(unsigned char *c, int dataLen); int update(unsigned char *c, int dataLen); int beginupdate(unsigned char *c, int dataLen); int logdata(unsigned char *c, int dataLen); int response(unsigned char *packet, int dataLen); enum Message{ BEGIN_CHAR = 0xBE, END_CHAR = 0xED }; enum DataType { floatType, intType, stringType }; typedef struct command { char ID; char subID; char dataType; char commandText[100]; int (*functionPtr)(unsigned char *command, int dataLen); }command_t; enum CommandIDs{ DEBUG, CALIBRATION, REQUEST, RESPONSE, UPDATE, LOG, MAX_COMMAND_IDS }; static command_t registeredCommands[NUM_COMMANDS]; #endif