From 2232728f6aba83ff1c1fd1729f478fad0429ed05 Mon Sep 17 00:00:00 2001 From: burneykb <burneykb@iastate.edu> Date: Fri, 17 Feb 2017 20:29:10 -0600 Subject: [PATCH] might be ok --- groundStation/src/backend/backend.c | 11 ++--- groundStation/src/backend/cmHandler.c | 63 ++++++++++++++++----------- groundStation/src/backend/cmHandler.h | 8 +--- groundStation/src/backend/commands.h | 8 ++-- 4 files changed, 49 insertions(+), 41 deletions(-) diff --git a/groundStation/src/backend/backend.c b/groundStation/src/backend/backend.c index d206bb5b2..f0fd761f4 100644 --- a/groundStation/src/backend/backend.c +++ b/groundStation/src/backend/backend.c @@ -694,11 +694,11 @@ static void client_recv(int fd) { } } - // printf("packet = '"); - // for(int i = 0; i < (int)psize; ++i) { - // printf(" %.2x ", packet[i]); - // } - // printf("'\n"); + printf("packet = '"); + for(int i = 0; i < (int)psize; ++i) { + printf(" %.2x ", packet[i]); + } + printf("'\n"); writeQuad(packet, psize); @@ -777,6 +777,7 @@ static void quad_recv() { switch (m.msg_type) { case DEBUG_ID : + printf() case PACKETLOG_ID : case GETPACKETLOGS_ID : case UPDATE_ID : diff --git a/groundStation/src/backend/cmHandler.c b/groundStation/src/backend/cmHandler.c index 062cae960..54a1be157 100644 --- a/groundStation/src/backend/cmHandler.c +++ b/groundStation/src/backend/cmHandler.c @@ -6,27 +6,21 @@ const char * respParamStrings[MAX_PARAM_COMMANDS] = { "getrollp", "getrolli", "getrolld", - "getroll", "getpitchp", "getpitchi", "getpitchd", - "getpitch", "getyawp", "getyawi", "getyawd", - "getyaw", "getrollratep", "getrollratei", "getrollrated", - "getrollrate", "getpitchratep", "getpitchratei", "getpitchrated", - "getpitchrate", "getyawratep", "getyawratei", "getyawrated", - "getyawrate", "getlatp", "getlati", "getlatd", @@ -45,27 +39,21 @@ const char * setParamStrings[MAX_PARAM_COMMANDS] = { "setrollp", "setrolli", "setrolld", - "setroll", "setpitchp", "setpitchi", "setpitchd", - "setpitch", "setyawp", "setyawi", "setyawd", - "setyaw", "setrollratep", "setrollratei", "setrollrated", - "setrollrate", "setpitchratep", "setpitchratei", "setpitchrated", - "setpitchrate", "setyawratep", "setyawratei", "setyawrated", - "setyawrate", "setlatp", "setlati", "setlatd", @@ -77,7 +65,7 @@ const char * setParamStrings[MAX_PARAM_COMMANDS] = { "setheightp", "setheighti", "setheightd", - "setheight" + "setheight", }; @@ -141,34 +129,57 @@ struct controller_message * stringToCm(const char * string, struct controller_me if (index == -1) { return NULL; } else { - cm->value_id = i % MAX_CONTROL_PARAM_ID; - if (i <= PARAM_ROLL) { + cm->value_id = i % MAX_CONTROL_PARAM_ID; // Default assuming not a setpoint command + if (i <= PARAM_ROLL_D) { cm->id = ROLL_ID; - } else if (i <= PARAM_PITCH) { + } else if (i <= PARAM_PITCH_D) { cm->id = PITCH_ID; - } else if (i <= PARAM_YAW) { + } else if (i <= PARAM_YAW_D) { cm->id = YAW_ID; - } else if (i <= PARAM_ROLL_RATE) { + } else if (i <= PARAM_ROLL_RATE_D) { cm->id = ROLL_RATE_ID; - } else if (i <= PARAM_PITCH_RATE) { + } else if (i <= PARAM_PITCH_RATE_D) { cm->id = PITCH_RATE_ID; - } else if (i <= PARAM_YAW_RATE) { + } else if (i <= PARAM_YAW_RATE_D) { cm->id = YAW_RATE_ID; } else if (i <= PARAM_LOCAL_X) { - - cm->id = LOCAL_X_ID; + // If setpoint command, change the cm->valueid and cm + if (i == PARAM_LOCAL_X) { + cm->id = X_SETPOINT_ID; + cm->value_id = 0; + } else { + // these have a slightly different value id offset + cm->id = LOCAL_X_ID; + cm->value_id = MAX_CONTROL_PARAM_ID - (PARAM_LOCAL_X - i); + } } else if (i <= PARAM_LOCAL_Y) { - - cm->id = LOCAL_Y_ID; + // If setpoint command, change the cm->valueid and cm + if (i == PARAM_LOCAL_Y) { + cm->id = Y_SETPOINT_ID; + cm->value_id = 0; + } else { + // these have a slightly different value id offset + cm->id = LOCAL_Y_ID; + cm->value_id = MAX_CONTROL_PARAM_ID - (PARAM_LOCAL_Y - i); + + } } else if (i <= PARAM_ALT) { - - cm->id = ALT_ID; + // If setpoint command, change the cm->valueid and cm + if (i == PARAM_ALT) { + cm->id = ALT_SETPOINT_ID; + cm->value_id = 0; + } else { + // these have a slightly different value id offset + cm->id = ALT_ID; + cm->value_id = MAX_CONTROL_PARAM_ID - (PARAM_ALT - i); + + } } } return cm; diff --git a/groundStation/src/backend/cmHandler.h b/groundStation/src/backend/cmHandler.h index ee51ca658..ff749328e 100644 --- a/groundStation/src/backend/cmHandler.h +++ b/groundStation/src/backend/cmHandler.h @@ -7,31 +7,25 @@ enum paramIndices { PARAM_ROLL_P , PARAM_ROLL_I , PARAM_ROLL_D , - PARAM_ROLL , PARAM_PITCH_P , PARAM_PITCH_I , PARAM_PITCH_D , - PARAM_PITCH , PARAM_YAW_P , PARAM_YAW_I , PARAM_YAW_D , - PARAM_YAW , PARAM_ROLL_RATE_P, PARAM_ROLL_RATE_I, PARAM_ROLL_RATE_D, - PARAM_ROLL_RATE, PARAM_PITCH_RATE_P, PARAM_PITCH_RATE_I, PARAM_PITCH_RATE_D, - PARAM_PITCH_RATE, PARAM_YAW_RATE_P, PARAM_YAW_RATE_I, PARAM_YAW_RATE_D, - PARAM_YAW_RATE, PARAM_LOCAL_X_P , PARAM_LOCAL_X_I , PARAM_LOCAL_X_D , - PARAM_LOCAL_X , + PARAM_LOCAL_X , PARAM_LOCAL_Y_P , PARAM_LOCAL_Y_I , PARAM_LOCAL_Y_D , diff --git a/groundStation/src/backend/commands.h b/groundStation/src/backend/commands.h index 578b20f7b..6dda7213d 100644 --- a/groundStation/src/backend/commands.h +++ b/groundStation/src/backend/commands.h @@ -60,7 +60,10 @@ enum ControllerID{ LOCAL_X_ID, // 06 - Local X PID LOCAL_Y_ID, // 07 - Local Y PID ALT_ID, // 08 - Altitude PID - MAX_CONTROLLER_ID, // 09 - Just used to keep track of the size + X_SETPOINT_ID, // 09 - X Setpoint + Y_SETPOINT_ID, // 10 - Y Setpoint + ALT_SETPOINT_ID, // 11 - Z Setpoint + MAX_CONTROLLER_ID // 12 - Just used to keep track of the size }; /* @@ -70,8 +73,7 @@ enum ControlParamID{ KP_ID, // 00 - P constant KI_ID, // 01 - I constant KD_ID, // 02 - D constant - SP_ID, // 03 - Setpoint value - MAX_CONTROL_PARAM_ID, // 04 - Just used to keep track of the size + MAX_CONTROL_PARAM_ID, // 03 - Just used to keep track of the size }; /* -- GitLab