Changeset ba86b3f in pyramid


Ignore:
Timestamp:
11/13/13 01:52:06 (7 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master
Children:
7e25c48
Parents:
65d5c40
Message:
  • manualSlide() added
  • setDefault() added
  • displaySettings() added
File:
1 edited

Legend:

Unmodified
Added
Removed
  • firmware/Puzzlebox_Pyramid/Puzzlebox_Pyramid.ino

    r65d5c40 rba86b3f  
    6262#define DEFAULT_YAW 78 
    6363#define DEFAULT_PITCH 31 
     64 
     65#define THROTTLE_MAX 127 
     66#define THROTTLE_MIN 0 
     67#define YAW_MAX 127 
     68#define YAW_MIN 0 
     69#define PITCH_MAX 63 
     70#define PTICH_MIN 0 
    6471 
    6572#define HOP_THROTTLE_MAX 80 
     
    11761183// ################################################################ 
    11771184 
    1178 void manualSlide(char direction, int hopThrottle, int hopYaw, int hopPitch) { 
    1179          
    1180 //      char inByte=0; 
    1181 //       
    1182 //      char direction; 
    1183 //       
    1184 //      int p1; 
    1185 //      int p2; 
    1186 //      int p3; 
    1187 //       
    1188 //      while (Serial.available() == 0); 
    1189 //      direction = Serial.read(); 
    1190 //       
    1191 //      Serial.print("Serial.read(): "); 
    1192 //      Serial.println(_command); 
     1185void setDefault() { 
     1186         
     1187        _throttle = DEFAULT_THROTTLE; 
     1188        _yaw = DEFAULT_YAW; 
     1189        _pitch = DEFAULT_PITCH; 
     1190         
     1191        displaySettings(); 
     1192         
     1193         
     1194} // setDefault() 
     1195 
     1196 
     1197// ################################################################ 
     1198 
     1199void displaySettings() { 
     1200         
     1201        #if DEBUG_OUTPUT 
     1202                Serial.println("\nSettings:"); 
     1203                Serial.print("Throttle: "); 
     1204                Serial.println(_throttle, DEC); 
     1205                Serial.print("Yaw: "); 
     1206                Serial.println(_yaw, DEC); 
     1207                Serial.print("Pitch: "); 
     1208                Serial.println(_pitch, DEC); 
     1209        #endif 
     1210         
     1211         
     1212} // displaySettings() 
     1213 
     1214 
     1215// ################################################################ 
     1216 
     1217void manualSlide() { 
     1218         
     1219        char inByte=0; 
     1220         
     1221        char direction; 
     1222         
     1223        int flightCounter = 0; 
     1224         
     1225        int flightTarget; 
     1226        int flightStep; 
     1227        int throttleTarget; 
     1228        int throttleStep; 
     1229        int yawTarget; 
     1230        int yawStep; 
     1231        int pitchTarget; 
     1232        int pitchStep; 
     1233         
     1234        char flightTarget1; 
     1235        char flightTarget2; 
     1236        char flightTarget3; 
     1237         
     1238        char flightStep1; 
     1239        char flightStep2; 
     1240        char flightStep3; 
     1241         
     1242        char throttleTarget1; 
     1243        char throttleTarget2; 
     1244        char throttleTarget3; 
     1245         
     1246        char throttleStep1; 
     1247        char throttleStep2; 
     1248        char throttleStep3; 
     1249         
     1250        char yawTarget1; 
     1251        char yawTarget2; 
     1252        char yawTarget3; 
     1253         
     1254        char yawStep1; 
     1255        char yawStep2; 
     1256        char yawStep3; 
     1257         
     1258        char pitchTarget1; 
     1259        char pitchTarget2; 
     1260        char pitchTarget3; 
     1261         
     1262        char pitchStep1; 
     1263        char pitchStep2; 
     1264        char pitchStep3; 
     1265         
     1266        while (Serial.available() == 0); 
     1267        direction = Serial.read(); 
     1268         
     1269        while (Serial.available() == 0); // f 
     1270        Serial.read(); 
     1271        while (Serial.available() == 0); 
     1272        flightTarget1 = Serial.read() - '0'; 
     1273        while (Serial.available() == 0); 
     1274        flightTarget2 = Serial.read() - '0'; 
     1275        while (Serial.available() == 0); 
     1276        flightTarget3 = Serial.read() - '0'; 
     1277         
     1278        while (Serial.available() == 0); 
     1279        flightStep1 = Serial.read() - '0'; 
     1280        while (Serial.available() == 0); 
     1281        flightStep2 = Serial.read() - '0'; 
     1282        while (Serial.available() == 0); 
     1283        flightStep3 = Serial.read() - '0'; 
     1284         
     1285        while (Serial.available() == 0); // t 
     1286        Serial.read(); 
     1287        while (Serial.available() == 0); 
     1288        throttleTarget1 = Serial.read() - '0'; 
     1289        while (Serial.available() == 0); 
     1290        throttleTarget2 = Serial.read() - '0'; 
     1291        while (Serial.available() == 0); 
     1292        throttleTarget3 = Serial.read() - '0'; 
     1293         
     1294        while (Serial.available() == 0); 
     1295        throttleStep1 = Serial.read() - '0'; 
     1296        while (Serial.available() == 0); 
     1297        throttleStep2 = Serial.read() - '0'; 
     1298        while (Serial.available() == 0); 
     1299        throttleStep3 = Serial.read() - '0'; 
     1300         
     1301        while (Serial.available() == 0); // y 
     1302        Serial.read(); 
     1303        while (Serial.available() == 0); 
     1304        yawTarget1 = Serial.read() - '0'; 
     1305        while (Serial.available() == 0); 
     1306        yawTarget2 = Serial.read() - '0'; 
     1307        while (Serial.available() == 0); 
     1308        yawTarget3 = Serial.read() - '0'; 
     1309         
     1310        while (Serial.available() == 0); 
     1311        yawStep1 = Serial.read() - '0'; 
     1312        while (Serial.available() == 0); 
     1313        yawStep2 = Serial.read() - '0'; 
     1314        while (Serial.available() == 0); 
     1315        yawStep3 = Serial.read() - '0'; 
     1316         
     1317        while (Serial.available() == 0); // p 
     1318        Serial.read(); 
     1319        while (Serial.available() == 0); 
     1320        pitchTarget1 = Serial.read() - '0'; 
     1321        while (Serial.available() == 0); 
     1322        pitchTarget2 = Serial.read() - '0'; 
     1323        while (Serial.available() == 0); 
     1324        pitchTarget3 = Serial.read() - '0'; 
     1325         
     1326        while (Serial.available() == 0); 
     1327        pitchStep1 = Serial.read() - '0'; 
     1328        while (Serial.available() == 0); 
     1329        pitchStep2 = Serial.read() - '0'; 
     1330        while (Serial.available() == 0); 
     1331        pitchStep3 = Serial.read() - '0'; 
     1332         
     1333        flightTarget = (flightTarget1 * 100) + (flightTarget2 * 10) + flightTarget3; 
     1334        flightStep = (flightStep1 * 100) + (flightStep2 * 10) + flightStep3; 
     1335        throttleTarget = (throttleTarget1 * 100) + (throttleTarget2 * 10) + throttleTarget3; 
     1336        throttleStep = (throttleStep1 * 100) + (throttleStep2 * 10) + throttleStep3; 
     1337        yawTarget = (yawTarget1 * 100) + (yawTarget2 * 10) + yawTarget3; 
     1338        yawStep = (yawStep1 * 100) + (yawStep2 * 10) + yawStep3; 
     1339        pitchTarget = (pitchTarget1 * 100) + (pitchTarget2 * 10) + pitchTarget3; 
     1340        pitchStep = (pitchStep1 * 100) + (pitchStep2 * 10) + pitchStep3; 
     1341         
     1342         
     1343        #if DEBUG_OUTPUT 
     1344                Serial.println("manualSlide:"); 
     1345                Serial.print("Throttle: "); 
     1346                Serial.println(_throttle); 
     1347                Serial.print("Yaw: "); 
     1348                Serial.println(_yaw); 
     1349                Serial.print("Pitch: "); 
     1350                Serial.println(_pitch); 
     1351                Serial.println(); 
     1352                Serial.print("flightTarget: "); 
     1353                Serial.println(flightTarget); 
     1354                Serial.print("flightStep: "); 
     1355                Serial.println(flightStep); 
     1356                Serial.print("throttleTarget: "); 
     1357                Serial.println(throttleTarget); 
     1358                Serial.print("throttleStep: "); 
     1359                Serial.println(throttleStep); 
     1360                Serial.print("yawTarget: "); 
     1361                Serial.println(yawTarget); 
     1362                Serial.print("yawStep: "); 
     1363                Serial.println(yawStep); 
     1364                Serial.print("pitchTarget: "); 
     1365                Serial.println(pitchTarget); 
     1366                Serial.print("pitchStep: "); 
     1367                Serial.println(pitchStep); 
     1368        #endif 
    11931369         
    11941370         
     
    11971373         
    11981374         
    1199         // Begin Hop 
     1375        // Begin Slide 
    12001376                #if DEBUG_OUTPUT 
    1201                         Serial.println("Hop: (Ascending)"); 
     1377                        Serial.println("Slide: Begin"); 
    12021378                #endif 
    1203         while (hopThrottle < HOP_THROTTLE_MAX) { 
    1204                  
    1205                 hopThrottle = hopThrottle + HOP_THROTTLE_STEP; 
    1206                 if (hopThrottle > HOP_THROTTLE_MAX) 
    1207                         hopThrottle = HOP_THROTTLE_MAX; 
     1379         
     1380                         
     1381        while (flightCounter < flightTarget) { 
     1382                 
     1383                flightCounter = flightCounter + flightStep; 
     1384                 
     1385                _throttle = _throttle + throttleStep; 
     1386                if (_throttle > throttleTarget) 
     1387                        _throttle = throttleTarget; 
    12081388                 
    12091389                if (direction == 'f') { 
    1210                         hopPitch = hopPitch + HOP_PITCH_STEP_FORWARD; 
    1211                         if (hopPitch > HOP_PITCH_MAX) 
    1212                                 hopPitch = HOP_PITCH_MAX; 
     1390                        _pitch = _pitch + pitchStep; 
     1391                        if (_pitch > pitchTarget) 
     1392                                _pitch = pitchTarget; 
    12131393                } 
    12141394                 
    12151395                else if (direction == 'b') { 
    1216                         hopPitch = hopPitch - HOP_PITCH_STEP_BACKWARD; 
    1217                         if (hopPitch < HOP_PITCH_MIN) 
    1218                                 hopPitch = HOP_PITCH_MIN; 
     1396                        _pitch = _pitch - pitchStep; 
     1397                        if (_pitch < pitchTarget) 
     1398                                _pitch = pitchTarget; 
    12191399                } 
    12201400                 
    12211401                else if (direction == 'l') { 
    1222                         hopYaw = hopYaw + HOP_YAW_STEP; 
    1223                         if (hopYaw > HOP_YAW_MAX) 
    1224                                 hopYaw = HOP_YAW_MAX; 
     1402                        _yaw = _yaw + yawStep; 
     1403                        if (_yaw > yawTarget) 
     1404                                _yaw = yawTarget; 
    12251405                } 
    12261406                 
    12271407                else if (direction == 'r') { 
    1228                         hopYaw = hopYaw - HOP_YAW_STEP; 
    1229                         if (hopYaw < HOP_YAW_MIN) 
    1230                                 hopYaw = HOP_YAW_MIN; 
     1408                        _yaw = _yaw - yawStep; 
     1409                        if (_yaw < yawTarget) 
     1410                                _yaw = yawTarget; 
    12311411                } 
    12321412                 
     1413                 
    12331414                #if DEBUG_OUTPUT 
    1234                         Serial.print("Sending: ("); 
    1235                         Serial.print(hopThrottle); 
     1415                        Serial.print("Sending: ["); 
     1416                        Serial.print(flightCounter); 
     1417                        Serial.print("/"); 
     1418                        Serial.print(flightTarget); 
     1419                        Serial.print("] ("); 
     1420                        Serial.print(_throttle, DEC); 
    12361421                        Serial.print(", "); 
    1237                         Serial.print(hopYaw); 
     1422                        Serial.print(_yaw, DEC); 
    12381423                        Serial.print(", "); 
    1239                         Serial.print(hopPitch); 
     1424                        Serial.print(_pitch, DEC); 
    12401425                        Serial.println(")"); 
    12411426                #endif 
    12421427                 
    1243                 sendCode(formCode(hopThrottle, hopYaw, hopPitch)); 
     1428                sendCode(formCode(_throttle, _yaw, _pitch)); 
    12441429                delay(80); //cycle(); 
    1245         } 
    1246          
    1247         // Descend 
    1248                 #if DEBUG_OUTPUT 
    1249                         Serial.println("Hop: (Descending)"); 
    1250                 #endif 
    1251         while (hopThrottle > DEFAULT_THROTTLE) { 
    1252                  
    1253                 hopThrottle = hopThrottle - HOP_THROTTLE_STEP; 
    1254                 if (hopThrottle < DEFAULT_THROTTLE) 
    1255                         hopThrottle = DEFAULT_THROTTLE; 
    1256                  
    1257                  
    1258                 #if DEBUG_OUTPUT 
    1259                         Serial.print("Sending: ("); 
    1260                         Serial.print(hopThrottle); 
    1261                         Serial.print(", "); 
    1262                         Serial.print(hopYaw); 
    1263                         Serial.print(", "); 
    1264                         Serial.print(hopPitch); 
    1265                         Serial.println(")"); 
    1266                 #endif 
    1267  
    1268                  
    1269                 sendCode(formCode(hopThrottle, hopYaw, hopPitch)); 
    1270                 delay(80); //cycle(); 
    1271         } 
    1272          
    1273          
    1274         sendCode(formCode(DEFAULT_THROTTLE, DEFAULT_YAW, DEFAULT_PITCH)); 
     1430                 
     1431        } // while 
     1432 
     1433         
     1434        #if DEBUG_OUTPUT 
     1435                Serial.println("Slide: Complete"); 
     1436        #endif 
     1437         
     1438         
     1439//      sendCode(formCode(DEFAULT_THROTTLE, DEFAULT_YAW, DEFAULT_PITCH)); 
    12751440        setColorWheel(255, 255, 0); // yellow 
    12761441 
     
    13111476         
    13121477         
    1313 } 
     1478} // parseHop() 
    13141479 
    13151480 
     
    18181983                        case '2':  _channel='B';  Serial.println("_channel=B"); break; 
    18191984                        case '3':  _channel='C';  Serial.println("_channel=C"); break; 
     1985                        case 't':  setThrottle(); break; 
     1986                        case 'x':  setThrottle(); break; 
     1987                        case 'y':  setYaw(); break; 
    18201988                        case 'p':  setPitch(); break; 
    1821                         case 't':  setThrottle(); break; 
    1822                         case 'y':  setYaw(); break; 
    1823                         case 'x':  setThrottle(); break; 
     1989                        case 'd':  setDefault(); break; 
     1990                        case 'v':  displaySettings(); break; 
    18241991                        case 'c':  setColor(); break; 
    18251992                        case 'Y':  setColorWheel(255, 255, 0); break; 
    18261993                        case 'w':  parseColorWheel(); break; 
    18271994                        case 's':  setStartScreen(); break; 
    1828                         case 'h':  executeHop(); break; 
    1829                         case 'o':  parseHop(); break; 
    1830 //                      case 'm':  manualSlide(); break; 
     1995                        case 'e':  executeHop(); break; 
     1996                        case 'h':  parseHop(); break; 
     1997                        case 'm':  manualSlide(); break; 
    18311998                } 
    18321999        } 
     
    18372004 
    18382005 
    1839  
    1840  
    1841  
Note: See TracChangeset for help on using the changeset viewer.