Changeset 16965bc in orbit for android


Ignore:
Timestamp:
12/19/13 21:48:27 (7 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master, Servo
Children:
d58cf77
Parents:
b411f40
Message:
  • updatePower restored to main activity
Location:
android/src/info/puzzlebox/orbit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • android/src/info/puzzlebox/orbit/FragmentTabAdvanced.java

    rb411f40 r16965bc  
    124124 
    125125 
     126        // ################################################################ 
     127 
    126128        /** 
    127129         * When creating, retrieve this instance's number from its arguments. 
     
    134136 
    135137 
     138        // ################################################################ 
     139 
    136140        public void tvUpdateText(String t){ 
    137141                tv.setText(t); 
    138142        } // tvUpdateText 
    139143 
     144 
     145        // ################################################################ 
    140146 
    141147        public View onCreateView (LayoutInflater inflater, ViewGroup container, 
     
    205211                layoutAdvancedOptions = (LinearLayout) v.findViewById(R.id.layoutAdvancedOptions); 
    206212                layoutInvertControlSignal = (LinearLayout) v.findViewById(R.id.layoutInvertControlSignal); 
    207  
    208  
    209                 //        // listener for accelerometer, use anonymous class for simplicity 
    210                 //        ((SensorManager)getSystemService(Context.SENSOR_SERVICE)).registerListener( 
    211                 //              new SensorEventListener() {     
    212                 //                      public void onSensorChanged(SensorEvent event) {   
    213                 //                          //set ball speed based on phone tilt (ignore Z axis) 
    214                 //                              tiltX = -event.values[0]; 
    215                 //                              tiltY = event.values[1]; 
    216                 //                              //timer event will redraw ball 
    217                 //                      } 
    218                 //                      public void onAccuracyChanged(Sensor sensor, int accuracy) {} //ignore this event 
    219                 //              }, 
    220                 //              ((SensorManager)getSystemService(Context.SENSOR_SERVICE)) 
    221                 //              .getSensorList(Sensor.TYPE_ACCELEROMETER).get(0), SensorManager.SENSOR_DELAY_NORMAL); 
    222  
    223  
    224                 // register for orientation sensor events: 
    225 //              sensorManager = (SensorManager) getApplicationContext().getSystemService(Context.SENSOR_SERVICE); 
    226                 sensorManager = (SensorManager) ((OrbitTabActivity)getActivity()).getSystemService(Context.SENSOR_SERVICE); 
    227                 for (Sensor sensor : sensorManager.getSensorList(Sensor.TYPE_ORIENTATION)) { 
    228                         if (sensor.getType() == Sensor.TYPE_ORIENTATION) { 
    229                                 orientationSensor = sensor; 
    230                         } 
    231                 } 
    232  
    233                 // if we can't access the orientation sensor then exit: 
    234                 if (orientationSensor == null) { 
    235                         appendDebugConsole("Failed to attach to Orientation Sensor."); 
    236                         cleanup(); 
    237                 } else { 
    238                         sensorManager.registerListener(this, orientationSensor, SensorManager.SENSOR_DELAY_UI); 
    239                 } 
    240213 
    241214 
     
    454427        public void onCheckBoxTiltSensorControlClicked(View view) { 
    455428 
    456                 //              FragmentTabAdvanced fragmentAdvanced =  
    457                 //                              (FragmentTabAdvanced) getSupportFragmentManager().findFragmentByTag( getTabFragmentAdvanced() ); 
    458                 // 
    459                 //              if (fragmentAdvanced != null) 
    460                 ((OrbitTabActivity)getActivity()).tiltSensorControl = checkBoxTiltSensorControl.isChecked(); 
     429                //              ((OrbitTabActivity)getActivity()).tiltSensorControl = checkBoxTiltSensorControl.isChecked(); 
     430 
     431 
     432                //        // listener for accelerometer, use anonymous class for simplicity 
     433                //        ((SensorManager)getSystemService(Context.SENSOR_SERVICE)).registerListener( 
     434                //              new SensorEventListener() {     
     435                //                      public void onSensorChanged(SensorEvent event) {   
     436                //                          //set ball speed based on phone tilt (ignore Z axis) 
     437                //                              tiltX = -event.values[0]; 
     438                //                              tiltY = event.values[1]; 
     439                //                              //timer event will redraw ball 
     440                //                      } 
     441                //                      public void onAccuracyChanged(Sensor sensor, int accuracy) {} //ignore this event 
     442                //              }, 
     443                //              ((SensorManager)getSystemService(Context.SENSOR_SERVICE)) 
     444                //              .getSensorList(Sensor.TYPE_ACCELEROMETER).get(0), SensorManager.SENSOR_DELAY_NORMAL); 
     445 
     446 
     447                if (checkBoxTiltSensorControl.isChecked()) { 
     448 
     449                        // register for orientation sensor events: 
     450                        sensorManager = (SensorManager) ((OrbitTabActivity)getActivity()).getSystemService(Context.SENSOR_SERVICE); 
     451                        for (Sensor sensor : sensorManager.getSensorList(Sensor.TYPE_ORIENTATION)) { 
     452                                if (sensor.getType() == Sensor.TYPE_ORIENTATION) { 
     453                                        orientationSensor = sensor; 
     454                                } 
     455                        } 
     456 
     457                        // if we can't access the orientation sensor then exit: 
     458                        if (orientationSensor == null) { 
     459                                appendDebugConsole("Failed to attach to Orientation Sensor."); 
     460                                //                      cleanup(); 
     461                                sensorManager.unregisterListener(this); 
     462                        } else { 
     463                                sensorManager.registerListener(this, orientationSensor, SensorManager.SENSOR_DELAY_UI); 
     464                        } 
     465 
     466                } else { 
     467                        if (orientationSensor != null) 
     468                                sensorManager.unregisterListener(this); 
     469                } 
    461470 
    462471 
    463472        } // onCheckBoxTiltSensorControlClicked 
    464  
    465  
    466  
    467         // ################################################################ 
    468  
    469         //      public void onCheckBoxInvertControlSignalClicked(View view) { 
    470         // 
    471         //              Log.v(TAG, "onCheckBoxInvertControlSignalClicked"); 
    472         // 
    473         //      } // onCheckBoxInvertControlSignalClicked 
    474473 
    475474 
     
    649648        // ################################################################ 
    650649 
    651     // Called whenever a new Orientation Sensor reading is taken. 
     650        // Called whenever a new Orientation Sensor reading is taken. 
    652651        public void onSensorChanged(SensorEvent sensorEvent) { 
    653652                // TODO Auto-generated method stub 
    654653 
    655654                tiltX = sensorEvent.values[1]; 
    656                 tiltY = sensorEvent.values[2]; 
    657 //              tiltZ = sensorEvent.values[0]; 
    658                  
     655                tiltY = -sensorEvent.values[2]; // invert the Y axis so that negative values equal left 
     656                //              tiltZ = sensorEvent.values[0]; 
     657 
    659658                appendDebugConsole("X: " + tiltX + ", Y: " + tiltY + "\n"); 
    660                  
    661                  
     659 
     660 
    662661        } // onSensorChanged 
    663662 
    664663 
    665         // ################################################################ 
    666  
    667         private void cleanup() { 
    668                 // Unregister with the orientation sensor before exiting: 
    669                 sensorManager.unregisterListener(this); 
    670                 //        finish(); 
    671         } 
    672  
    673  
    674664} // FragmentTabAdvanced 
  • android/src/info/puzzlebox/orbit/FragmentTabFlightThinkGear.java

    r89719d4 r16965bc  
    904904        // ################################################################ 
    905905 
    906         public int updatePower() { 
     906        //      public int updatePower() { 
     907        public void updatePower() { 
    907908 
    908909                /** 
     
    924925                progressBarPower.setProgress(eegPower); 
    925926 
    926                 return eegPower; 
     927                //              return eegPower; 
     928 
     929                ((OrbitTabActivity)getActivity()).eegPower = eegPower; 
     930                ((OrbitTabActivity)getActivity()).updatePower(); 
     931 
    927932 
    928933        } // updatePower 
  • android/src/info/puzzlebox/orbit/OrbitTabActivity.java

    rb411f40 r16965bc  
    273273                //              updateAdvancedOptions(); 
    274274 
    275 //              updatePower(); 
     275                //              updatePower(); 
    276276 
    277277 
     
    590590        // ################################################################ 
    591591 
    592         protected void appendDebugConsole(String text) { 
     592        //      protected void appendDebugConsole(String text) { 
     593        public void appendDebugConsole(String text) { 
    593594 
    594595                /**  
     
    701702        // ################################################################ 
    702703 
    703 //      public int calculateSignal(int signal) { 
    704 // 
    705 //              /**  
    706 //               * The ThinkGear protocol states that a signal level of 200 will be 
    707 //               * returned when a clean ground/reference is not detected at the ear clip, 
    708 //               *  and a value of 0 when the signal is perfectly clear. We need to 
    709 //               *  convert this information into usable settings for the Signal 
    710 //               *  progress bar 
    711 //               */ 
    712 // 
    713 //              int value; 
    714 // 
    715 //              switch (signal) { 
    716 //              case 200: 
    717 //                      value = 0; 
    718 //              case 0: 
    719 //                      value = 100; 
    720 //              default: 
    721 //                      value = (int)(100 - ((signal / 200.0) * 100)); 
    722 //              } 
    723 // 
    724 //              return(value); 
    725 // 
    726 //      } // calculateSignal 
    727  
    728  
    729         // ################################################################ 
    730  
    731 //      public void updatePower() { 
    732 // 
    733 //              /** 
    734 //               * This method updates the power level of the  
    735 //               * "Throttle" and triggers the audio stream 
    736 //               * which is used to fly the helicopter 
    737 //               */ 
    738 // 
    739 //              if (eegDevice == "ThinkGear") { 
    740 // 
    741 //                      FragmentTabFlightThinkGear fragmentFlight =  
    742 //                                      (FragmentTabFlightThinkGear) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlightThinkGear() ); 
    743 // 
    744 //                      if (fragmentFlight != null) 
    745 //                              eegPower = fragmentFlight.updatePower(); 
    746 // 
    747 //              } 
    748 //              //              else if (eegDevice == "Emotiv") { 
    749 //              // 
    750 //              //                      FragmentTabFlightEmotiv fragmentFlight =  
    751 //              //                                      (FragmentTabFlightEmotiv) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlightEmotiv() ); 
    752 //              // 
    753 //              //                      if (fragmentFlight != null) 
    754 //              //                              eegPower = fragmentFlight.updatePower(); 
    755 //              // 
    756 //              //              } 
    757 // 
    758 //              String command = ""; 
    759 // 
    760 //              if (eegPower > 0) { 
    761 // 
    762 //                      /** Start playback of audio control stream */ 
    763 //                      if (currentCommand == "neutral") { 
    764 //                              playControl(); 
    765 //                      } 
    766 // 
    767 //                      command = "hover"; 
    768 // 
    769 //              } else { 
    770 // 
    771 //                      /** Land the helicopter */ 
    772 //                      stopControl(); 
    773 // 
    774 //                      command = "neutral"; 
    775 //              } 
    776 // 
    777 //              if (DEBUG) { 
    778 //                      Log.v(TAG, "Command: " + command); 
    779 //                      //                      appendDebugConsole("Command: " + command + "\n"); 
    780 //              } 
    781 // 
    782 //              currentCommand = command; 
    783 // 
    784 //      } // updatePower 
     704        //      public int calculateSignal(int signal) { 
     705        // 
     706        //              /**  
     707        //               * The ThinkGear protocol states that a signal level of 200 will be 
     708        //               * returned when a clean ground/reference is not detected at the ear clip, 
     709        //               *  and a value of 0 when the signal is perfectly clear. We need to 
     710        //               *  convert this information into usable settings for the Signal 
     711        //               *  progress bar 
     712        //               */ 
     713        // 
     714        //              int value; 
     715        // 
     716        //              switch (signal) { 
     717        //              case 200: 
     718        //                      value = 0; 
     719        //              case 0: 
     720        //                      value = 100; 
     721        //              default: 
     722        //                      value = (int)(100 - ((signal / 200.0) * 100)); 
     723        //              } 
     724        // 
     725        //              return(value); 
     726        // 
     727        //      } // calculateSignal 
     728 
     729 
     730        // ################################################################ 
     731 
     732        public void updatePower() { 
     733 
     734                /** 
     735                 * This method updates the power level of the  
     736                 * "Throttle" and triggers the audio stream 
     737                 * which is used to fly the helicopter 
     738                 */ 
     739 
     740                //              if (eegDevice == "ThinkGear") { 
     741                // 
     742                //                      FragmentTabFlightThinkGear fragmentFlight =  
     743                //                                      (FragmentTabFlightThinkGear) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlightThinkGear() ); 
     744                // 
     745                //                      if (fragmentFlight != null) 
     746                //                              eegPower = fragmentFlight.updatePower(); 
     747                // 
     748                //              } 
     749                //              //              else if (eegDevice == "Emotiv") { 
     750                //              // 
     751                //              //                      FragmentTabFlightEmotiv fragmentFlight =  
     752                //              //                                      (FragmentTabFlightEmotiv) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlightEmotiv() ); 
     753                //              // 
     754                //              //                      if (fragmentFlight != null) 
     755                //              //                              eegPower = fragmentFlight.updatePower(); 
     756                //              // 
     757                //              //              } 
     758 
     759                String command = ""; 
     760 
     761                if (eegPower > 0) { 
     762 
     763                        /** Start playback of audio control stream */ 
     764                        if (currentCommand == "neutral") { 
     765                                playControl(); 
     766                        } 
     767 
     768                        command = "hover"; 
     769 
     770                } else { 
     771 
     772                        /** Land the helicopter */ 
     773                        stopControl(); 
     774 
     775                        command = "neutral"; 
     776                } 
     777 
     778                if (DEBUG) { 
     779                        Log.v(TAG, "Command: " + command); 
     780                        //                      appendDebugConsole("Command: " + command + "\n"); 
     781                } 
     782 
     783                currentCommand = command; 
     784 
     785        } // updatePower 
    785786 
    786787 
Note: See TracChangeset for help on using the changeset viewer.