First
Dependents: mbed-os-rest-api-V1-1 mbed-os-rest-api-V1-2 mbed-os-rest-api-V1-2-2
RestAPI_Manager.cpp@1:4db49ba6e885, 2018-12-21 (annotated)
- Committer:
- asaewing
- Date:
- Fri Dec 21 07:53:06 2018 +0000
- Revision:
- 1:4db49ba6e885
- Parent:
- 0:b3b078af7b16
First 2018-12-21
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
asaewing | 0:b3b078af7b16 | 1 | #include "module_for_all.h" |
asaewing | 0:b3b078af7b16 | 2 | |
asaewing | 1:4db49ba6e885 | 3 | #include "WheelManager.h" |
asaewing | 1:4db49ba6e885 | 4 | |
asaewing | 1:4db49ba6e885 | 5 | WheelManager runWheel(""); |
asaewing | 1:4db49ba6e885 | 6 | //Serial PC(SERIAL_TX, SERIAL_RX); |
asaewing | 1:4db49ba6e885 | 7 | |
asaewing | 1:4db49ba6e885 | 8 | RestAPI_Manager::RestAPI_Manager(DataStorage* tmpDS) { |
asaewing | 0:b3b078af7b16 | 9 | _ip = "192.168.20.101"; |
asaewing | 0:b3b078af7b16 | 10 | _ip_s = std::string(_ip); |
asaewing | 0:b3b078af7b16 | 11 | _main = 1; |
asaewing | 1:4db49ba6e885 | 12 | |
asaewing | 1:4db49ba6e885 | 13 | ds_m = tmpDS; |
asaewing | 1:4db49ba6e885 | 14 | //threadRM = tmpThread; |
asaewing | 0:b3b078af7b16 | 15 | } |
asaewing | 0:b3b078af7b16 | 16 | |
asaewing | 1:4db49ba6e885 | 17 | RestAPI_Manager::RestAPI_Manager(DataStorage* tmpDS, char* IP, std::string Main) { |
asaewing | 0:b3b078af7b16 | 18 | _ip = IP; |
asaewing | 0:b3b078af7b16 | 19 | _ip_s = std::string(_ip); |
asaewing | 0:b3b078af7b16 | 20 | _main = Main; |
asaewing | 1:4db49ba6e885 | 21 | |
asaewing | 1:4db49ba6e885 | 22 | ds_m = tmpDS; |
asaewing | 1:4db49ba6e885 | 23 | //threadRM = tmpThread; |
asaewing | 0:b3b078af7b16 | 24 | } |
asaewing | 0:b3b078af7b16 | 25 | |
asaewing | 0:b3b078af7b16 | 26 | void RestAPI_Manager::SetConfig(char* IP, std::string Main) { |
asaewing | 0:b3b078af7b16 | 27 | _ip = IP; |
asaewing | 0:b3b078af7b16 | 28 | _ip_s = std::string(_ip); |
asaewing | 0:b3b078af7b16 | 29 | _main = Main; |
asaewing | 0:b3b078af7b16 | 30 | printf("RestAPI_Manager::SetConfig OK\r\n"); |
asaewing | 0:b3b078af7b16 | 31 | } |
asaewing | 0:b3b078af7b16 | 32 | |
asaewing | 1:4db49ba6e885 | 33 | /*void RestAPI_Manager::changeThread(Thread* tmpThread) { |
asaewing | 1:4db49ba6e885 | 34 | threadRM = tmpThread; |
asaewing | 1:4db49ba6e885 | 35 | }*/ |
asaewing | 1:4db49ba6e885 | 36 | |
asaewing | 0:b3b078af7b16 | 37 | std::string RestAPI_Manager::runCommand(std::string HTTP_METHOD, std::string API_COMMAND) { |
asaewing | 0:b3b078af7b16 | 38 | std::string _response = ""; |
asaewing | 0:b3b078af7b16 | 39 | |
asaewing | 0:b3b078af7b16 | 40 | if (HTTP_METHOD.compare("GET") == 0) { |
asaewing | 0:b3b078af7b16 | 41 | _response.append(switchCommand_GET(API_COMMAND)); |
asaewing | 0:b3b078af7b16 | 42 | //_response.append("001 GET"); |
asaewing | 0:b3b078af7b16 | 43 | |
asaewing | 0:b3b078af7b16 | 44 | } else if (HTTP_METHOD.compare("POST") == 0) { |
asaewing | 0:b3b078af7b16 | 45 | _response.append(switchCommand_POST(API_COMMAND)); |
asaewing | 0:b3b078af7b16 | 46 | //_response.append("002 POST"); |
asaewing | 0:b3b078af7b16 | 47 | |
asaewing | 0:b3b078af7b16 | 48 | } else { |
asaewing | 0:b3b078af7b16 | 49 | /*response.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 50 | response.append(HTTP_HEADER_FIELDS); |
asaewing | 0:b3b078af7b16 | 51 | response.append("\r\n\r\n"); |
asaewing | 0:b3b078af7b16 | 52 | response.append("000 No Method\r\n");*/ |
asaewing | 0:b3b078af7b16 | 53 | //makeResponse("000 No Method"); |
asaewing | 0:b3b078af7b16 | 54 | _response.append("000 No Method"); |
asaewing | 0:b3b078af7b16 | 55 | } |
asaewing | 0:b3b078af7b16 | 56 | |
asaewing | 0:b3b078af7b16 | 57 | return _response; |
asaewing | 0:b3b078af7b16 | 58 | } |
asaewing | 0:b3b078af7b16 | 59 | |
asaewing | 0:b3b078af7b16 | 60 | std::string RestAPI_Manager::switchCommand_GET(std::string API_COMMAND) { |
asaewing | 0:b3b078af7b16 | 61 | int count = countRoot(API_COMMAND); |
asaewing | 0:b3b078af7b16 | 62 | |
asaewing | 0:b3b078af7b16 | 63 | std::vector<std::string> _commandList; |
asaewing | 0:b3b078af7b16 | 64 | _commandList.reserve(10); |
asaewing | 0:b3b078af7b16 | 65 | split(API_COMMAND, _commandList, "/"); |
asaewing | 0:b3b078af7b16 | 66 | |
asaewing | 0:b3b078af7b16 | 67 | std::string returnString = ""; |
asaewing | 0:b3b078af7b16 | 68 | |
asaewing | 0:b3b078af7b16 | 69 | //returnString.append(_commandList[0]); |
asaewing | 0:b3b078af7b16 | 70 | //returnString.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 71 | |
asaewing | 0:b3b078af7b16 | 72 | if (_commandList[0].compare("who") == 0) { |
asaewing | 0:b3b078af7b16 | 73 | /*printf("mbed #"); |
asaewing | 0:b3b078af7b16 | 74 | printf(_main); |
asaewing | 0:b3b078af7b16 | 75 | printf("mbed #\r\n");*/ |
asaewing | 0:b3b078af7b16 | 76 | returnString.append("mbed #"); |
asaewing | 0:b3b078af7b16 | 77 | //char* tmpS; |
asaewing | 0:b3b078af7b16 | 78 | //sprintf(tmpS,"%d",_main); |
asaewing | 0:b3b078af7b16 | 79 | //std::string tmpS2(tmpS); |
asaewing | 0:b3b078af7b16 | 80 | returnString.append(_main); |
asaewing | 0:b3b078af7b16 | 81 | returnString.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 82 | returnString.append(_ip_s); |
asaewing | 0:b3b078af7b16 | 83 | } else if (_commandList[0].compare("ir_test") == 0) { |
asaewing | 0:b3b078af7b16 | 84 | |
asaewing | 0:b3b078af7b16 | 85 | AnalogIn IR_Test(PA_3); |
asaewing | 0:b3b078af7b16 | 86 | float tmp_v = IR_Test.read()*1000.0f; |
asaewing | 1:4db49ba6e885 | 87 | printf("Voltage: %f\r\n", tmp_v); |
asaewing | 0:b3b078af7b16 | 88 | |
asaewing | 0:b3b078af7b16 | 89 | /*std::ostringstream ss; |
asaewing | 0:b3b078af7b16 | 90 | ss << tmp_v; |
asaewing | 0:b3b078af7b16 | 91 | std::string ss2(ss.str());*/ |
asaewing | 0:b3b078af7b16 | 92 | |
asaewing | 0:b3b078af7b16 | 93 | /*printf("mbed #"); |
asaewing | 0:b3b078af7b16 | 94 | printf(_main); |
asaewing | 0:b3b078af7b16 | 95 | printf("mbed #\r\n");*/ |
asaewing | 0:b3b078af7b16 | 96 | |
asaewing | 1:4db49ba6e885 | 97 | char* tmpS; |
asaewing | 1:4db49ba6e885 | 98 | sprintf(tmpS,"%5.5f%\r\n",tmp_v); |
asaewing | 1:4db49ba6e885 | 99 | std::string tmpS2(tmpS); |
asaewing | 1:4db49ba6e885 | 100 | returnString.append(tmpS); |
asaewing | 1:4db49ba6e885 | 101 | } else if (_commandList[0].compare("temp_test") == 0) { |
asaewing | 1:4db49ba6e885 | 102 | |
asaewing | 1:4db49ba6e885 | 103 | AnalogIn adc_temp(ADC_TEMP); |
asaewing | 1:4db49ba6e885 | 104 | AnalogIn adc_vref(ADC_VREF); |
asaewing | 1:4db49ba6e885 | 105 | float tmp_adc_temp = adc_temp.read()*100.0f; |
asaewing | 1:4db49ba6e885 | 106 | float tmp_adc_vref = adc_vref.read()*1.0f; |
asaewing | 1:4db49ba6e885 | 107 | printf("Temp: %f\r\n", tmp_adc_temp); |
asaewing | 1:4db49ba6e885 | 108 | printf("Voltage: %f\r\n", tmp_adc_vref); |
asaewing | 1:4db49ba6e885 | 109 | |
asaewing | 0:b3b078af7b16 | 110 | |
asaewing | 0:b3b078af7b16 | 111 | char* tmpS; |
asaewing | 1:4db49ba6e885 | 112 | printf("### test 01\r\n"); |
asaewing | 1:4db49ba6e885 | 113 | |
asaewing | 1:4db49ba6e885 | 114 | sprintf(tmpS,"Temp: %5.5f, Voltage: %5.5f \r\n",tmp_adc_temp, tmp_adc_vref); |
asaewing | 1:4db49ba6e885 | 115 | printf("### test 02\r\n"); |
asaewing | 1:4db49ba6e885 | 116 | |
asaewing | 0:b3b078af7b16 | 117 | std::string tmpS2(tmpS); |
asaewing | 1:4db49ba6e885 | 118 | printf("### test 03\r\n"); |
asaewing | 1:4db49ba6e885 | 119 | |
asaewing | 1:4db49ba6e885 | 120 | //returnString.append(tmpS); |
asaewing | 1:4db49ba6e885 | 121 | printf("### test 04\r\n"); |
asaewing | 1:4db49ba6e885 | 122 | |
asaewing | 1:4db49ba6e885 | 123 | delete tmpS; |
asaewing | 1:4db49ba6e885 | 124 | |
asaewing | 1:4db49ba6e885 | 125 | } else if (_commandList[0].compare("run_test") == 0) { |
asaewing | 1:4db49ba6e885 | 126 | int tmpPeriod = stringToInt(_commandList[1]); |
asaewing | 1:4db49ba6e885 | 127 | int tmpCycle = stringToInt(_commandList[2]); |
asaewing | 1:4db49ba6e885 | 128 | int tmpDirection = stringToInt(_commandList[3]); |
asaewing | 1:4db49ba6e885 | 129 | int tmpHowLong = stringToInt(_commandList[4]); |
asaewing | 1:4db49ba6e885 | 130 | |
asaewing | 1:4db49ba6e885 | 131 | //int tmp[5][2] = {{tmpDirection, tmpHowLong}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}}; |
asaewing | 1:4db49ba6e885 | 132 | int** tmp; |
asaewing | 1:4db49ba6e885 | 133 | tmp = new int *[5]; |
asaewing | 1:4db49ba6e885 | 134 | int i; |
asaewing | 1:4db49ba6e885 | 135 | |
asaewing | 1:4db49ba6e885 | 136 | for(i=0;i<5;i++){ |
asaewing | 1:4db49ba6e885 | 137 | tmp[i]=new int[2]; |
asaewing | 1:4db49ba6e885 | 138 | if (i!=0){ |
asaewing | 1:4db49ba6e885 | 139 | tmp[i][0] = tmpPeriod; |
asaewing | 1:4db49ba6e885 | 140 | tmp[i][1] = tmpCycle; |
asaewing | 1:4db49ba6e885 | 141 | } |
asaewing | 1:4db49ba6e885 | 142 | } |
asaewing | 1:4db49ba6e885 | 143 | |
asaewing | 1:4db49ba6e885 | 144 | //tmp = {{tmpDirection, tmpHowLong}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}}; |
asaewing | 1:4db49ba6e885 | 145 | tmp[0][0] = tmpDirection; |
asaewing | 1:4db49ba6e885 | 146 | tmp[0][1] = tmpHowLong; |
asaewing | 1:4db49ba6e885 | 147 | |
asaewing | 1:4db49ba6e885 | 148 | //runWheel.runControl(ds_m, threadRM, tmp); |
asaewing | 1:4db49ba6e885 | 149 | runWheel.runControl(ds_m, tmp); |
asaewing | 1:4db49ba6e885 | 150 | //myPrint("### 03\r\n"); |
asaewing | 1:4db49ba6e885 | 151 | |
asaewing | 1:4db49ba6e885 | 152 | //char* tmpS=""; |
asaewing | 1:4db49ba6e885 | 153 | //myPrint("### 04-1\r\n"); |
asaewing | 1:4db49ba6e885 | 154 | //sprintf(tmpS,"RUN"); |
asaewing | 1:4db49ba6e885 | 155 | |
asaewing | 1:4db49ba6e885 | 156 | //myPrint(tmpS); |
asaewing | 1:4db49ba6e885 | 157 | //myPrint("### 04-2\r\n"); |
asaewing | 1:4db49ba6e885 | 158 | //returnString.append(tmpS); |
asaewing | 1:4db49ba6e885 | 159 | //std::string tmpStr = "RUN"; |
asaewing | 1:4db49ba6e885 | 160 | returnString.append("RUN"); |
asaewing | 1:4db49ba6e885 | 161 | //myPrint("### 05\r\n"); |
asaewing | 1:4db49ba6e885 | 162 | |
asaewing | 1:4db49ba6e885 | 163 | for(i=0; i<5; i++){ |
asaewing | 1:4db49ba6e885 | 164 | delete [] tmp[i]; |
asaewing | 1:4db49ba6e885 | 165 | } |
asaewing | 1:4db49ba6e885 | 166 | delete [] tmp; |
asaewing | 1:4db49ba6e885 | 167 | //return tmpStr; |
asaewing | 1:4db49ba6e885 | 168 | |
asaewing | 1:4db49ba6e885 | 169 | } else if (_commandList[0].compare("run_test_move") == 0) { |
asaewing | 1:4db49ba6e885 | 170 | //int tmpTop = stringToInt(_commandList[1]); |
asaewing | 1:4db49ba6e885 | 171 | //int tmpLeft = stringToInt(_commandList[2]); |
asaewing | 1:4db49ba6e885 | 172 | std::string tmpTop = _commandList[1]; |
asaewing | 1:4db49ba6e885 | 173 | std::string tmpLeft = _commandList[2]; |
asaewing | 1:4db49ba6e885 | 174 | |
asaewing | 1:4db49ba6e885 | 175 | printf("### tmpTop: %s ; tmpLeft: %s ;\r\n", tmpTop, tmpLeft); |
asaewing | 1:4db49ba6e885 | 176 | |
asaewing | 1:4db49ba6e885 | 177 | returnString.append("tmpTop: "); |
asaewing | 1:4db49ba6e885 | 178 | returnString.append(tmpTop); |
asaewing | 1:4db49ba6e885 | 179 | returnString.append("; "); |
asaewing | 1:4db49ba6e885 | 180 | returnString.append("tmpLeft: "); |
asaewing | 1:4db49ba6e885 | 181 | returnString.append(tmpLeft); |
asaewing | 1:4db49ba6e885 | 182 | returnString.append(";\r\n"); |
asaewing | 1:4db49ba6e885 | 183 | |
asaewing | 1:4db49ba6e885 | 184 | } else if (_commandList[0].compare("run_move1") == 0) { |
asaewing | 1:4db49ba6e885 | 185 | int tmpPeriod = stringToInt(_commandList[1]); |
asaewing | 1:4db49ba6e885 | 186 | //int tmpCycle = stringToInt(_commandList[2]); |
asaewing | 1:4db49ba6e885 | 187 | //int tmpHowLong = stringToInt(_commandList[4]); |
asaewing | 1:4db49ba6e885 | 188 | |
asaewing | 1:4db49ba6e885 | 189 | int tmpDirection = stringToInt(_commandList[2]); |
asaewing | 1:4db49ba6e885 | 190 | int tmpSpeed = stringToInt(_commandList[3]); |
asaewing | 1:4db49ba6e885 | 191 | //int tmpPeriod = 1; |
asaewing | 1:4db49ba6e885 | 192 | int tmpHowLong = 1; |
asaewing | 1:4db49ba6e885 | 193 | |
asaewing | 1:4db49ba6e885 | 194 | //int tmp[5][2] = {{tmpDirection, tmpHowLong}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}}; |
asaewing | 1:4db49ba6e885 | 195 | int** tmp; |
asaewing | 1:4db49ba6e885 | 196 | tmp = new int *[5]; |
asaewing | 1:4db49ba6e885 | 197 | int i; |
asaewing | 1:4db49ba6e885 | 198 | |
asaewing | 1:4db49ba6e885 | 199 | for(i=0;i<5;i++){ |
asaewing | 1:4db49ba6e885 | 200 | tmp[i]=new int[2]; |
asaewing | 1:4db49ba6e885 | 201 | if (i!=0){ |
asaewing | 1:4db49ba6e885 | 202 | tmp[i][0] = tmpPeriod; |
asaewing | 1:4db49ba6e885 | 203 | tmp[i][1] = tmpSpeed; |
asaewing | 1:4db49ba6e885 | 204 | } |
asaewing | 1:4db49ba6e885 | 205 | } |
asaewing | 1:4db49ba6e885 | 206 | |
asaewing | 1:4db49ba6e885 | 207 | //tmp = {{tmpDirection, tmpHowLong}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}}; |
asaewing | 1:4db49ba6e885 | 208 | tmp[0][0] = tmpDirection; |
asaewing | 1:4db49ba6e885 | 209 | tmp[0][1] = tmpHowLong; |
asaewing | 1:4db49ba6e885 | 210 | |
asaewing | 1:4db49ba6e885 | 211 | //runWheel.runControl(ds_m, threadRM, tmp); |
asaewing | 1:4db49ba6e885 | 212 | runWheel.runControl(ds_m, tmp); |
asaewing | 1:4db49ba6e885 | 213 | //myPrint("### 03\r\n"); |
asaewing | 1:4db49ba6e885 | 214 | |
asaewing | 1:4db49ba6e885 | 215 | //char* tmpS=""; |
asaewing | 1:4db49ba6e885 | 216 | //myPrint("### 04-1\r\n"); |
asaewing | 1:4db49ba6e885 | 217 | //sprintf(tmpS,"RUN"); |
asaewing | 1:4db49ba6e885 | 218 | |
asaewing | 1:4db49ba6e885 | 219 | //myPrint(tmpS); |
asaewing | 1:4db49ba6e885 | 220 | //myPrint("### 04-2\r\n"); |
asaewing | 1:4db49ba6e885 | 221 | //returnString.append(tmpS); |
asaewing | 1:4db49ba6e885 | 222 | //std::string tmpStr = "RUN"; |
asaewing | 1:4db49ba6e885 | 223 | returnString.append("RUN"); |
asaewing | 1:4db49ba6e885 | 224 | //myPrint("### 05\r\n"); |
asaewing | 1:4db49ba6e885 | 225 | |
asaewing | 1:4db49ba6e885 | 226 | for(i=0; i<5; i++){ |
asaewing | 1:4db49ba6e885 | 227 | delete [] tmp[i]; |
asaewing | 1:4db49ba6e885 | 228 | } |
asaewing | 1:4db49ba6e885 | 229 | delete [] tmp; |
asaewing | 1:4db49ba6e885 | 230 | //return tmpStr; |
asaewing | 1:4db49ba6e885 | 231 | |
asaewing | 1:4db49ba6e885 | 232 | } else if (_commandList[0].compare("run_move2") == 0) { |
asaewing | 1:4db49ba6e885 | 233 | int tmpSpeed1 = stringToInt(_commandList[1]); |
asaewing | 1:4db49ba6e885 | 234 | int tmpIsRight1 = stringToInt(_commandList[2]); |
asaewing | 1:4db49ba6e885 | 235 | |
asaewing | 1:4db49ba6e885 | 236 | int tmpSpeed2 = stringToInt(_commandList[3]); |
asaewing | 1:4db49ba6e885 | 237 | int tmpIsRight2 = stringToInt(_commandList[4]); |
asaewing | 1:4db49ba6e885 | 238 | |
asaewing | 1:4db49ba6e885 | 239 | int tmpSpeed3 = stringToInt(_commandList[5]); |
asaewing | 1:4db49ba6e885 | 240 | int tmpIsRight3 = stringToInt(_commandList[6]); |
asaewing | 1:4db49ba6e885 | 241 | |
asaewing | 1:4db49ba6e885 | 242 | int tmpSpeed4 = stringToInt(_commandList[7]); |
asaewing | 1:4db49ba6e885 | 243 | int tmpIsRight4 = stringToInt(_commandList[8]); |
asaewing | 1:4db49ba6e885 | 244 | |
asaewing | 1:4db49ba6e885 | 245 | int tmpPeriod = stringToInt(_commandList[9]); |
asaewing | 1:4db49ba6e885 | 246 | int tmpDirection = stringToInt(_commandList[10]); |
asaewing | 1:4db49ba6e885 | 247 | |
asaewing | 1:4db49ba6e885 | 248 | //int tmpCycle = stringToInt(_commandList[2]); |
asaewing | 1:4db49ba6e885 | 249 | //int tmpHowLong = stringToInt(_commandList[4]); |
asaewing | 1:4db49ba6e885 | 250 | |
asaewing | 1:4db49ba6e885 | 251 | //int tmpDirection = stringToInt(_commandList[2]); |
asaewing | 1:4db49ba6e885 | 252 | //int tmpSpeed = stringToInt(_commandList[3]); |
asaewing | 1:4db49ba6e885 | 253 | //int tmpPeriod = 1; |
asaewing | 1:4db49ba6e885 | 254 | int tmpHowLong = 1; |
asaewing | 1:4db49ba6e885 | 255 | |
asaewing | 1:4db49ba6e885 | 256 | //int tmp[5][2] = {{tmpDirection, tmpHowLong}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}}; |
asaewing | 1:4db49ba6e885 | 257 | int** tmp; |
asaewing | 1:4db49ba6e885 | 258 | tmp = new int *[5]; |
asaewing | 1:4db49ba6e885 | 259 | int i; |
asaewing | 1:4db49ba6e885 | 260 | |
asaewing | 1:4db49ba6e885 | 261 | for(i=0;i<5;i++){ |
asaewing | 1:4db49ba6e885 | 262 | tmp[i]=new int[2]; |
asaewing | 1:4db49ba6e885 | 263 | if (i==1){ |
asaewing | 1:4db49ba6e885 | 264 | tmp[i][0] = tmpPeriod; |
asaewing | 1:4db49ba6e885 | 265 | tmp[i][1] = tmpSpeed1; |
asaewing | 1:4db49ba6e885 | 266 | } else if (i==2) { |
asaewing | 1:4db49ba6e885 | 267 | tmp[i][0] = tmpPeriod; |
asaewing | 1:4db49ba6e885 | 268 | tmp[i][1] = tmpSpeed2; |
asaewing | 1:4db49ba6e885 | 269 | } else if (i==3) { |
asaewing | 1:4db49ba6e885 | 270 | tmp[i][0] = tmpPeriod; |
asaewing | 1:4db49ba6e885 | 271 | tmp[i][1] = tmpSpeed3; |
asaewing | 1:4db49ba6e885 | 272 | } else if (i==4) { |
asaewing | 1:4db49ba6e885 | 273 | tmp[i][0] = tmpPeriod; |
asaewing | 1:4db49ba6e885 | 274 | tmp[i][1] = tmpSpeed4; |
asaewing | 1:4db49ba6e885 | 275 | } |
asaewing | 1:4db49ba6e885 | 276 | } |
asaewing | 1:4db49ba6e885 | 277 | |
asaewing | 1:4db49ba6e885 | 278 | //tmp = {{tmpDirection, tmpHowLong}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}, {tmpPeriod, tmpCycle}}; |
asaewing | 1:4db49ba6e885 | 279 | tmp[0][0] = tmpDirection; |
asaewing | 1:4db49ba6e885 | 280 | tmp[0][1] = tmpHowLong; |
asaewing | 1:4db49ba6e885 | 281 | |
asaewing | 1:4db49ba6e885 | 282 | //runWheel.runControl(ds_m, threadRM, tmp); |
asaewing | 1:4db49ba6e885 | 283 | runWheel.runControl(ds_m, tmp); |
asaewing | 1:4db49ba6e885 | 284 | //myPrint("### 03\r\n"); |
asaewing | 1:4db49ba6e885 | 285 | |
asaewing | 1:4db49ba6e885 | 286 | //char* tmpS=""; |
asaewing | 1:4db49ba6e885 | 287 | //myPrint("### 04-1\r\n"); |
asaewing | 1:4db49ba6e885 | 288 | //sprintf(tmpS,"RUN"); |
asaewing | 1:4db49ba6e885 | 289 | |
asaewing | 1:4db49ba6e885 | 290 | //myPrint(tmpS); |
asaewing | 1:4db49ba6e885 | 291 | //myPrint("### 04-2\r\n"); |
asaewing | 1:4db49ba6e885 | 292 | //returnString.append(tmpS); |
asaewing | 1:4db49ba6e885 | 293 | //std::string tmpStr = "RUN"; |
asaewing | 1:4db49ba6e885 | 294 | returnString.append("RUN"); |
asaewing | 1:4db49ba6e885 | 295 | //myPrint("### 05\r\n"); |
asaewing | 1:4db49ba6e885 | 296 | |
asaewing | 1:4db49ba6e885 | 297 | for(i=0; i<5; i++){ |
asaewing | 1:4db49ba6e885 | 298 | delete [] tmp[i]; |
asaewing | 1:4db49ba6e885 | 299 | } |
asaewing | 1:4db49ba6e885 | 300 | delete [] tmp; |
asaewing | 1:4db49ba6e885 | 301 | //return tmpStr; |
asaewing | 1:4db49ba6e885 | 302 | |
asaewing | 0:b3b078af7b16 | 303 | } else { |
asaewing | 0:b3b078af7b16 | 304 | returnString.append("No Command"); |
asaewing | 0:b3b078af7b16 | 305 | } |
asaewing | 0:b3b078af7b16 | 306 | /*std::string tmp = ""; |
asaewing | 0:b3b078af7b16 | 307 | |
asaewing | 0:b3b078af7b16 | 308 | //char buf[20]; |
asaewing | 0:b3b078af7b16 | 309 | char* buf; |
asaewing | 0:b3b078af7b16 | 310 | sprintf(buf,"%03d", count); |
asaewing | 0:b3b078af7b16 | 311 | string tmpCount(buf); |
asaewing | 0:b3b078af7b16 | 312 | tmp.append("count:"); |
asaewing | 0:b3b078af7b16 | 313 | tmp.append(tmpCount); |
asaewing | 0:b3b078af7b16 | 314 | tmp.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 315 | |
asaewing | 0:b3b078af7b16 | 316 | for(int ii=0;ii<count-1;ii++) { |
asaewing | 0:b3b078af7b16 | 317 | sprintf(buf,"%03d", ii); |
asaewing | 0:b3b078af7b16 | 318 | string tmpII(buf); |
asaewing | 0:b3b078af7b16 | 319 | |
asaewing | 0:b3b078af7b16 | 320 | tmp.append(tmpII); |
asaewing | 0:b3b078af7b16 | 321 | tmp.append(":"); |
asaewing | 0:b3b078af7b16 | 322 | tmp.append(_commandList[ii]); |
asaewing | 0:b3b078af7b16 | 323 | tmp.append(","); |
asaewing | 0:b3b078af7b16 | 324 | } |
asaewing | 0:b3b078af7b16 | 325 | tmp.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 326 | tmp.append(API_COMMAND); |
asaewing | 0:b3b078af7b16 | 327 | |
asaewing | 0:b3b078af7b16 | 328 | printf("### %%% \r\n"); |
asaewing | 0:b3b078af7b16 | 329 | printf(stringToChar(API_COMMAND)); |
asaewing | 0:b3b078af7b16 | 330 | printf("\r\n"); |
asaewing | 0:b3b078af7b16 | 331 | printf(stringToChar(tmp)); |
asaewing | 0:b3b078af7b16 | 332 | printf("### %%% \r\n"); |
asaewing | 0:b3b078af7b16 | 333 | return tmp;*/ |
asaewing | 0:b3b078af7b16 | 334 | |
asaewing | 1:4db49ba6e885 | 335 | _commandList.clear(); |
asaewing | 1:4db49ba6e885 | 336 | std::vector<std::string>(_commandList).swap(_commandList); |
asaewing | 1:4db49ba6e885 | 337 | |
asaewing | 0:b3b078af7b16 | 338 | return returnString; |
asaewing | 0:b3b078af7b16 | 339 | } |
asaewing | 0:b3b078af7b16 | 340 | |
asaewing | 0:b3b078af7b16 | 341 | std::string RestAPI_Manager::switchCommand_POST(std::string API_COMMAND) { |
asaewing | 0:b3b078af7b16 | 342 | /*int count = countRoot(API_COMMAND); |
asaewing | 0:b3b078af7b16 | 343 | |
asaewing | 0:b3b078af7b16 | 344 | std::vector<std::string> _commandList; |
asaewing | 0:b3b078af7b16 | 345 | _commandList.reserve(10); |
asaewing | 0:b3b078af7b16 | 346 | split(API_COMMAND, _commandList, "/"); |
asaewing | 0:b3b078af7b16 | 347 | std::string tmp = ""; |
asaewing | 0:b3b078af7b16 | 348 | |
asaewing | 0:b3b078af7b16 | 349 | char buf[20]; |
asaewing | 0:b3b078af7b16 | 350 | sprintf(buf,"%03d", count); |
asaewing | 0:b3b078af7b16 | 351 | string tmpCount(buf); |
asaewing | 0:b3b078af7b16 | 352 | tmp.append("count:"); |
asaewing | 0:b3b078af7b16 | 353 | tmp.append(tmpCount); |
asaewing | 0:b3b078af7b16 | 354 | tmp.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 355 | |
asaewing | 0:b3b078af7b16 | 356 | for(int ii=0;ii<count-1;ii++) { |
asaewing | 0:b3b078af7b16 | 357 | sprintf(buf,"%03d", ii); |
asaewing | 0:b3b078af7b16 | 358 | string tmpII(buf); |
asaewing | 0:b3b078af7b16 | 359 | |
asaewing | 0:b3b078af7b16 | 360 | tmp.append(tmpII); |
asaewing | 0:b3b078af7b16 | 361 | tmp.append(":"); |
asaewing | 0:b3b078af7b16 | 362 | tmp.append(_commandList[ii]); |
asaewing | 0:b3b078af7b16 | 363 | tmp.append(","); |
asaewing | 0:b3b078af7b16 | 364 | } |
asaewing | 0:b3b078af7b16 | 365 | tmp.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 366 | tmp.append(API_COMMAND); |
asaewing | 0:b3b078af7b16 | 367 | |
asaewing | 0:b3b078af7b16 | 368 | printf("### %%% \r\n"); |
asaewing | 0:b3b078af7b16 | 369 | printf(stringToChar(API_COMMAND)); |
asaewing | 0:b3b078af7b16 | 370 | printf("\r\n"); |
asaewing | 0:b3b078af7b16 | 371 | printf(stringToChar(tmp)); |
asaewing | 0:b3b078af7b16 | 372 | printf("### %%% \r\n"); |
asaewing | 0:b3b078af7b16 | 373 | return tmp;*/ |
asaewing | 0:b3b078af7b16 | 374 | int count = countRoot(API_COMMAND); |
asaewing | 0:b3b078af7b16 | 375 | |
asaewing | 0:b3b078af7b16 | 376 | std::vector<std::string> _commandList; |
asaewing | 0:b3b078af7b16 | 377 | _commandList.reserve(10); |
asaewing | 0:b3b078af7b16 | 378 | split(API_COMMAND, _commandList, "/"); |
asaewing | 0:b3b078af7b16 | 379 | |
asaewing | 0:b3b078af7b16 | 380 | std::string returnString = ""; |
asaewing | 0:b3b078af7b16 | 381 | |
asaewing | 0:b3b078af7b16 | 382 | //returnString.append(_commandList[0]); |
asaewing | 0:b3b078af7b16 | 383 | //returnString.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 384 | |
asaewing | 0:b3b078af7b16 | 385 | if (_commandList[0].compare("who2") == 0) { |
asaewing | 0:b3b078af7b16 | 386 | /*printf("mbed #"); |
asaewing | 0:b3b078af7b16 | 387 | printf(_main); |
asaewing | 0:b3b078af7b16 | 388 | printf("mbed #\r\n");*/ |
asaewing | 0:b3b078af7b16 | 389 | returnString.append("mbed #"); |
asaewing | 0:b3b078af7b16 | 390 | //char* tmpS; |
asaewing | 0:b3b078af7b16 | 391 | //sprintf(tmpS,"%d",_main); |
asaewing | 0:b3b078af7b16 | 392 | //std::string tmpS2(tmpS); |
asaewing | 0:b3b078af7b16 | 393 | returnString.append(_main); |
asaewing | 0:b3b078af7b16 | 394 | returnString.append("\r\n"); |
asaewing | 0:b3b078af7b16 | 395 | returnString.append(_ip_s); |
asaewing | 0:b3b078af7b16 | 396 | } else { |
asaewing | 0:b3b078af7b16 | 397 | returnString.append("No Command"); |
asaewing | 0:b3b078af7b16 | 398 | } |
asaewing | 0:b3b078af7b16 | 399 | |
asaewing | 0:b3b078af7b16 | 400 | return returnString; |
asaewing | 0:b3b078af7b16 | 401 | } |