Changeset faaefd5 in pyramid


Ignore:
Timestamp:
10/24/13 19:18:33 (6 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master
Children:
33c578b
Parents:
124e727
Message:
  • Color wheel and flight contols appear to be correct across the board for ADK
File:
1 edited

Legend:

Unmodified
Added
Removed
  • firmware/Puzzlebox_Pyramid/Puzzlebox_Pyramid.ino

    r124e727 rfaaefd5  
    5454#define BUTTON_PIN 4 
    5555 
    56 //PWM IR_frequency (in Hz) required by IR 
     56// PWM IR_frequency (in Hz) required by IR 
    5757#define IR_frequency 38400 
    5858byte _IR_period = 40; 
    5959 
    60 //G lobal variables for controlling Orbit helicopter 
     60// Global variables for controlling Orbit helicopter 
    6161// variables start with "_" means global variable  
    6262#define DEFAULT_THROTTLE 0 
     
    388388 
    389389                                if(bigPacket) { 
    390                                         Serial.print("SignalQuality: "); 
    391                                         Serial.print(poorQuality, DEC); 
    392                                         Serial.print(" Attention: "); 
    393                                         Serial.print(attention, DEC); 
    394                                         Serial.print(" Meditation: "); 
    395                                         Serial.print(meditation, DEC); 
    396                                         Serial.print(" Time since last packet: "); 
    397                                         Serial.print(millis() - lastReceivedPacket, DEC); 
     390                                         
     391                                        #if DEBUG_OUTPUT 
     392                                                Serial.print("SignalQuality: "); 
     393                                                Serial.print(poorQuality, DEC); 
     394                                                Serial.print(" Attention: "); 
     395                                                Serial.print(attention, DEC); 
     396                                                Serial.print(" Meditation: "); 
     397                                                Serial.print(meditation, DEC); 
     398                                                Serial.print(" Time since last packet: "); 
     399                                                Serial.print(millis() - lastReceivedPacket, DEC); 
     400                                                Serial.print("\n"); 
     401                                        #endif 
    398402                                        lastReceivedPacket = millis(); 
    399                                         Serial.print("\n"); 
    400403                                         
    401404                                         
     
    10391042void updateFrameADK() { 
    10401043 
    1041         Serial.print("updateFrameADK(): "); 
    1042         Serial.print("eegSignal: "); 
    1043         Serial.print(eegSignal, DEC); 
    1044         Serial.print(" | eegAttention: "); 
    1045         Serial.print(eegAttention, DEC); 
    1046         Serial.print(" | eegMeditation: "); 
    1047         Serial.print(eegMeditation, DEC); 
    1048         Serial.print(" | eegPower: "); 
    1049         Serial.println(eegPower, DEC); 
    1050          
    1051          
    1052         setColorWheel(0, 0, 0); // black 
     1044        #if DEBUG_OUTPUT 
     1045                Serial.print("eegSignal: "); 
     1046                Serial.print(eegSignal, DEC); 
     1047                Serial.print(" | eegAttention: "); 
     1048                Serial.print(eegAttention, DEC); 
     1049                Serial.print(" | eegMeditation: "); 
     1050                Serial.print(eegMeditation, DEC); 
     1051                Serial.print(" | eegPower: "); 
     1052                Serial.println(eegPower, DEC); 
     1053                Serial.println(); 
     1054                 
     1055                Serial.print("Thottle: "); 
     1056                Serial.print(_throttle, DEC); 
     1057                Serial.print(" | Yaw: "); 
     1058                Serial.print(_yaw, DEC); 
     1059                Serial.print(" | Pitch: "); 
     1060                Serial.println(_pitch, DEC); 
     1061        #endif 
     1062         
     1063//      setColorWheel(0, 0, 0); // black 
    10531064         
    10541065         
     
    10591070                RGB_Panel[5][2]=0; 
    10601071        } else { 
    1061                 setColorWheel(255, 0, 0); // red 
    1062 //              RGB_Panel[5][0]=0; 
    1063 //              RGB_Panel[5][1]=0; 
    1064 //              RGB_Panel[5][2]=0; 
    1065                 return; 
    1066         } 
    1067  
     1072                RGB_Panel[5][0]=0; 
     1073                RGB_Panel[5][1]=63; 
     1074                RGB_Panel[5][2]=0; 
     1075                // The following two lines can optionally be used 
     1076                // to set all lights to red to indicate ADK mode 
     1077                // when the EEG signal quality is insufficient for processing 
     1078//              setColorWheel(255, 0, 0); // red 
     1079//              return; 
     1080        } 
     1081         
     1082         
    10681083        int attention = calculateMeter(eegAttention); 
    10691084        int meditation = calculateMeter(eegMeditation); 
    1070  
    1071  
    1072 //      for(int i=6; i<=6+attention; i++){ 
    1073 //              RGB_Panel[i][0]=255; 
    1074 //              RGB_Panel[i][1]=0; 
    1075 //              RGB_Panel[i][2]=0; 
    1076 //      } 
    1077 //  
    1078 //      if (meditation==6){ 
    1079 //              RGB_Panel[11][0]=0; 
    1080 //              RGB_Panel[11][1]=0; 
    1081 //              RGB_Panel[11][2]=255; 
    1082 //      } 
    1083 //               
    1084 //      for(int i=4; i>=4-meditation; i--){ 
    1085 //              RGB_Panel[i][0]=0; 
    1086 //              RGB_Panel[i][1]=0; 
    1087 //              RGB_Panel[i][2]=255; 
    1088 //      } 
    1089 //  
    1090 //      if (attention==6)  
    1091 //              RGB_Panel[11][0]=255; 
    1092 //               
    1093 //      for(int i=6+attention; i<=11; i++){ 
    1094 //              RGB_Panel[i][0]=0; 
    1095 //              RGB_Panel[i][1]=0; 
    1096 //              RGB_Panel[i][2]=0; 
    1097 //      } 
    1098 //  
    1099 //      for(int i=4-meditation; i>=0; i--){ 
    1100 //              RGB_Panel[i][0]=0; 
    1101 //              RGB_Panel[i][1]=0; 
    1102 //              RGB_Panel[i][2]=0; 
    1103 //      } 
    11041085         
    11051086         
     
    11101091                RGB_Panel[i][2]=0; 
    11111092        } 
    1112 //      for(int i=6+attention; i<11; i++) { 
    1113 //              RGB_Panel[i][0]=0; 
    1114 //              RGB_Panel[i][1]=0; 
    1115 //              RGB_Panel[i][2]=0; 
    1116 //      } 
     1093        for(int i=6+attention; i<11; i++) { 
     1094                RGB_Panel[i][0]=0; 
     1095                RGB_Panel[i][1]=0; 
     1096                RGB_Panel[i][2]=0; 
     1097        } 
    11171098 
    11181099        //light up & dim blue LED according to meditation level 
     
    11221103                RGB_Panel[i][2]=255; 
    11231104        } 
    1124 //      for(int i=4-meditation; i>-1; i--) { 
    1125 //              RGB_Panel[i][0]=0; 
    1126 //              RGB_Panel[i][1]=0; 
    1127 //              RGB_Panel[i][2]=0; 
    1128 //      } 
     1105        for(int i=4-meditation; i>-1; i--) { 
     1106                RGB_Panel[i][0]=0; 
     1107                RGB_Panel[i][1]=0; 
     1108                RGB_Panel[i][2]=0; 
     1109        } 
    11291110 
    11301111 
     
    11331114                RGB_Panel[11][1]=255; 
    11341115                RGB_Panel[11][2]=255; 
    1135                 _throttle=_throttle_hover; 
    1136                 Serial.println("Throttle On"); 
     1116//              _throttle=_throttle_hover; 
     1117//              Serial.println("Throttle On"); 
    11371118        } else { 
    11381119                RGB_Panel[11][0]=0; 
    11391120                RGB_Panel[11][1]=0; 
    11401121                RGB_Panel[11][2]=0; 
    1141                 _throttle=0; 
    1142                 Serial.println("Throttle Off"); 
     1122//              _throttle=0; 
     1123//              Serial.println("Throttle Off"); 
    11431124        } // eegPower 
     1125         
     1126         
     1127        sendFrame(0); 
    11441128 
    11451129 
     
    11491133// ################################################################ 
    11501134 
    1151 void setOrbitThrottle(int throttle) { 
    1152          
    1153         setColorWheel(255,255,0); // Yellow 
    1154          
    1155         _throttle=throttle; 
    1156         setThrottle(); 
    1157         sendCode(formCode(_throttle,_yaw,_pitch)); 
    1158         delay(80); // originally 36, 51, 66, 80 
    1159          
    1160 } // setOrbitThrottle() 
     1135// void setOrbitThrottle(int throttle) { 
     1136//       
     1137//      setColorWheel(255,255,0); // Yellow 
     1138//       
     1139//      _throttle=throttle; 
     1140//      setThrottle(); 
     1141//      sendCode(formCode(_throttle,_yaw,_pitch)); 
     1142//      delay(80); // originally 36, 51, 66, 80 
     1143//       
     1144// } // setOrbitThrottle() 
    11611145 
    11621146 
     
    11871171                         
    11881172                        if (msg[0] == 0x1) { 
    1189                                 Serial.println("0x1"); 
     1173//                              Serial.println("0x1"); 
    11901174                                eegSignal = (int)msg[1]; 
    1191                                 Serial.println(eegSignal); 
     1175//                              Serial.println(eegSignal); 
    11921176                        } 
    11931177                         
    11941178                        else if(msg[0] == 0x2) { 
    1195                                 Serial.println("0x2"); 
    11961179                                eegAttention = (int)msg[1]; 
    1197                                 Serial.println(eegAttention); 
    11981180                        } 
    11991181                         
    12001182                        else if (msg[0] == 0x3) { 
    1201                                 Serial.println("0x3"); 
    12021183                                eegMeditation = (int)msg[1]; 
    1203                                 Serial.println(eegMeditation); 
    12041184                        } 
    12051185                         
    12061186                        else if (msg[0] == 0x4) { 
    1207                                 Serial.println("0x4"); 
    12081187                                eegPower = (int)msg[1]; 
    1209                                 Serial.println(eegPower); 
    12101188                        } 
    12111189                         
    12121190                        else if(msg[0] == 0x5) { 
    1213                                 Serial.println("0x5"); 
    12141191                                _throttle = (int)msg[1]; 
    1215                                 Serial.println(_throttle); 
    12161192                        } 
    12171193                         
    12181194                        else if (msg[0] == 0x6) { 
    1219                                 Serial.println("0x6"); 
    12201195                                _yaw = (int)msg[1]; 
    1221                                 Serial.println(_yaw); 
    12221196                        } 
    12231197                         
    12241198                        else if (msg[0] == 0x7) { 
    1225                                 Serial.println("0x7"); 
    12261199                                _pitch = (int)msg[1]; 
    1227                                 Serial.println(_pitch); 
    12281200                        } 
    12291201                         
    12301202                        else if (msg[0] == 0x8) { 
    1231                                 Serial.println("0x8"); 
    12321203                                if (msg[1] == 0x1) 
    12331204                                        _channel = 'A'; 
     
    12361207                                else if (msg[1] == 0x3) 
    12371208                                        _channel = 'C'; 
    1238                                 Serial.println(_channel); 
    12391209                        } 
    12401210                         
    12411211                         
    12421212                        // Orbit Hover 
    1243                         else if (msg[0] == 0x9) { 
     1213                        if (msg[0] == 0x9) { 
    12441214                                 
    12451215                                if (msg[1] == 0x1) { 
    1246                                         setColorWheel(255,255,255); // White 
     1216                                        setColorWheel(255,255,255); // white 
    12471217                                        _throttle = _throttle_hover; 
    12481218                                        _yaw = DEFAULT_YAW; 
     
    12501220                                } 
    12511221                                else if (msg[1] == 0x0) { 
    1252                                         setColorWheel(255,0,0); // Red 
     1222                                        setColorWheel(255,0,0); // red 
    12531223                                        _throttle = DEFAULT_THROTTLE; 
    12541224                                        _yaw = DEFAULT_YAW; 
     
    12561226                                } 
    12571227                                 
     1228                        } else { 
     1229                                // Update the color wheel with all values if not forcing hover mode 
     1230                                updateFrameADK(); 
    12581231                        } // Hover 
    1259                  
    1260                  
    1261 // //                   updateFrame(eegAttention, eegMeditation, eegSignal); 
    1262 //                      updateFrameADK(); 
    1263                  
     1232                         
    12641233                 
    12651234                } // len 
     
    12741243} // parseADK 
    12751244 
     1245 
     1246 
Note: See TracChangeset for help on using the changeset viewer.