Fx0 hackathon team4

Dependencies:   NySNICInterface mbed-rtos mbed

Fork of RESTServerSample by KDDI Fx0 hackathon

Committer:
yi
Date:
Sun Feb 15 00:54:43 2015 +0000
Revision:
2:2f187e09bdb0
Child:
4:99a67256b765
arranged the code (control_motors.cpp, control_motors.h)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yi 2:2f187e09bdb0 1 #include "control_motors.h"
yi 2:2f187e09bdb0 2
yi 2:2f187e09bdb0 3 void parse_request(char *request){
yi 2:2f187e09bdb0 4
yi 2:2f187e09bdb0 5 bool errorFlag = false;
yi 2:2f187e09bdb0 6
yi 2:2f187e09bdb0 7 char* str = strtok(request+1,"/");
yi 2:2f187e09bdb0 8
yi 2:2f187e09bdb0 9 if(strcmp(str, "api") == 0){
yi 2:2f187e09bdb0 10 str = strtok(NULL,"/");
yi 2:2f187e09bdb0 11
yi 2:2f187e09bdb0 12 if(strcmp(str, "motor") == 0){
yi 2:2f187e09bdb0 13 str = strtok(NULL,"?");
yi 2:2f187e09bdb0 14
yi 2:2f187e09bdb0 15 if(strcmp(str, "right") == 0){
yi 2:2f187e09bdb0 16
yi 2:2f187e09bdb0 17 str = strtok(NULL,"="); //"speed"
yi 2:2f187e09bdb0 18 str = strtok(NULL,""); //
yi 2:2f187e09bdb0 19
yi 2:2f187e09bdb0 20 int speed = atoi(str);
yi 2:2f187e09bdb0 21
yi 2:2f187e09bdb0 22 // motor right
yi 2:2f187e09bdb0 23 move(MOTOR_RIGHT, speed);
yi 2:2f187e09bdb0 24
yi 2:2f187e09bdb0 25 }else if(strcmp(str, "left") == 0){
yi 2:2f187e09bdb0 26
yi 2:2f187e09bdb0 27 str = strtok(NULL,"="); //"speed"
yi 2:2f187e09bdb0 28 str = strtok(NULL,""); //
yi 2:2f187e09bdb0 29
yi 2:2f187e09bdb0 30 int speed = atoi(str);
yi 2:2f187e09bdb0 31
yi 2:2f187e09bdb0 32 // motor left
yi 2:2f187e09bdb0 33 move(MOTOR_LEFT, speed);
yi 2:2f187e09bdb0 34
yi 2:2f187e09bdb0 35 }else{
yi 2:2f187e09bdb0 36 errorFlag = true;
yi 2:2f187e09bdb0 37 }
yi 2:2f187e09bdb0 38
yi 2:2f187e09bdb0 39 }else if(strcmp(str, "tail") == 0){
yi 2:2f187e09bdb0 40 str = strtok(NULL,"/");
yi 2:2f187e09bdb0 41 if(strcmp(str, "swing") == 0){
yi 2:2f187e09bdb0 42 str = strtok(NULL,"/");
yi 2:2f187e09bdb0 43 if(strcmp(str, "start") == 0){
yi 2:2f187e09bdb0 44
yi 2:2f187e09bdb0 45 // tail start
yi 2:2f187e09bdb0 46 start_shaking_tail();
yi 2:2f187e09bdb0 47
yi 2:2f187e09bdb0 48 }else if(strcmp(str, "end") == 0){
yi 2:2f187e09bdb0 49
yi 2:2f187e09bdb0 50 // tail end
yi 2:2f187e09bdb0 51 stop_shaking_tail();
yi 2:2f187e09bdb0 52
yi 2:2f187e09bdb0 53 }else{
yi 2:2f187e09bdb0 54 errorFlag = true;
yi 2:2f187e09bdb0 55 }
yi 2:2f187e09bdb0 56 }else{
yi 2:2f187e09bdb0 57 errorFlag = true;
yi 2:2f187e09bdb0 58 }
yi 2:2f187e09bdb0 59 }
yi 2:2f187e09bdb0 60 }
yi 2:2f187e09bdb0 61
yi 2:2f187e09bdb0 62 if(errorFlag){
yi 2:2f187e09bdb0 63 printf("error: request=%s\n", request);
yi 2:2f187e09bdb0 64 }
yi 2:2f187e09bdb0 65 }
yi 2:2f187e09bdb0 66
yi 2:2f187e09bdb0 67
yi 2:2f187e09bdb0 68 void move(int motor_id, int speed){
yi 2:2f187e09bdb0 69 if(motor_id == MOTOR_RIGHT){
yi 2:2f187e09bdb0 70 printf("motor right speed = %d\n", speed);
yi 2:2f187e09bdb0 71
yi 2:2f187e09bdb0 72 // TODO
yi 2:2f187e09bdb0 73 // モーター制御の処理
yi 2:2f187e09bdb0 74
yi 2:2f187e09bdb0 75 }else if(motor_id == MOTOR_LEFT){
yi 2:2f187e09bdb0 76 printf("motor left speed = %d\n", speed);
yi 2:2f187e09bdb0 77
yi 2:2f187e09bdb0 78 // TODO
yi 2:2f187e09bdb0 79 // モーター制御の処理
yi 2:2f187e09bdb0 80 }
yi 2:2f187e09bdb0 81 }
yi 2:2f187e09bdb0 82
yi 2:2f187e09bdb0 83
yi 2:2f187e09bdb0 84 void start_shaking_tail(){
yi 2:2f187e09bdb0 85 printf("start_shaking_tail\n");
yi 2:2f187e09bdb0 86
yi 2:2f187e09bdb0 87 // TODO
yi 2:2f187e09bdb0 88 // モーター制御の処理
yi 2:2f187e09bdb0 89 }
yi 2:2f187e09bdb0 90
yi 2:2f187e09bdb0 91
yi 2:2f187e09bdb0 92 void stop_shaking_tail(){
yi 2:2f187e09bdb0 93 printf("stop_shaking_tail\n");
yi 2:2f187e09bdb0 94
yi 2:2f187e09bdb0 95 // TODO
yi 2:2f187e09bdb0 96 // モーター制御の処理
yi 2:2f187e09bdb0 97 }