Changeset b38c13f in orbit


Ignore:
Timestamp:
12/23/13 08:59:30 (6 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master, Servo
Children:
1d620a4
Parents:
3444b8e
Message:
  • enhancements to controlled descent
Location:
android/src/info/puzzlebox/orbit
Files:
2 edited

Legend:

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

    r3444b8e rb38c13f  
    205205                checkBoxTiltSensorControlThrottle = (CheckBox) v.findViewById(R.id.checkBoxTiltSensorControlThrottle); 
    206206                checkBoxTiltSensorControlThrottle.setOnClickListener(this); 
     207                checkBoxTiltSensorControlThrottle.setVisibility(View.GONE); // Default should be hidden until Tilt Control is activated 
    207208 
    208209 
     
    457458                        checkBoxInvertControlSignal.setVisibility(View.VISIBLE); 
    458459                        checkBoxTiltSensorControl.setVisibility(View.VISIBLE); 
    459                         checkBoxTiltSensorControlThrottle.setVisibility(View.VISIBLE); 
     460                        if (checkBoxTiltSensorControl.isChecked()) 
     461                                checkBoxTiltSensorControlThrottle.setVisibility(View.VISIBLE); 
    460462                } else { 
    461463                        checkBoxInvertControlSignal.setVisibility(View.GONE); 
     
    487489                // Drop the View as we don't use it 
    488490                // This is necessary for the onPause/onResume functions which don't receive a View 
     491 
    489492                onCheckBoxTiltSensorControlClicked(); 
     493 
     494                if (checkBoxTiltSensorControl.isChecked()) 
     495                        checkBoxTiltSensorControlThrottle.setVisibility(View.VISIBLE); 
     496                else 
     497                        checkBoxTiltSensorControlThrottle.setVisibility(View.GONE); 
     498 
    490499        } 
    491500 
     
    580589                referenceTiltX = 0; 
    581590                referenceTiltY = 0; 
    582                  
     591 
    583592                if ((checkBoxTiltSensorControlThrottle.isChecked()) && 
    584593                                (! checkBoxTiltSensorControl.isChecked())) { 
     
    627636 
    628637                //              Log.v(TAG, "onProgressChanged"); 
     638                //              Log.v(TAG, "Throttle: " + seekBarThrottle.getProgress()); 
    629639 
    630640                //                      updatePowerThresholds(); 
     
    837847                FragmentTabAdvanced fragmentAdvanced; 
    838848 
    839                 private int throttleTarget = 0; 
    840                 private int throttleStep = 1; 
    841                 private int throttleStepSleep = 50; 
     849                private int throttleTarget = 28; // 30 is the minimum to keep the blades spinning 
     850                private double throttleStep = 0.5; 
     851                private int throttleStepDefault = 1; 
     852                private int throttleStepSleepDefault = 100; 
    842853                public int throttlePrevious; 
    843854                public boolean keepDescending = true; 
     
    852863 
    853864                        throttlePrevious = fragmentAdvanced.seekBarThrottle.getProgress(); 
    854  
    855                         while ((keepDescending) && (fragmentAdvanced.seekBarThrottle.getProgress() > throttleTarget)) { 
    856  
    857                                 fragmentAdvanced.seekBarThrottle.setProgress( fragmentAdvanced.seekBarThrottle.getProgress() - throttleStep); 
     865                        throttleStep = throttleStepDefault; 
     866 
     867                        int throttleStepSleep = throttleStepSleepDefault; 
     868                        double throttleNew = throttlePrevious; 
     869                        boolean stepAccelerated = false; 
     870 
     871                        while ((keepDescending) &&  
     872                                        (fragmentAdvanced.seekBarThrottle.getProgress() > throttleTarget) && 
     873                                        (! fragmentAdvanced.checkBoxTiltSensorControlThrottle.isChecked())) { 
     874 
     875                                // Increase steps after time as the Orbit falls quickly at lower power levels 
     876                                if ((! stepAccelerated) && 
     877                                                (fragmentAdvanced.seekBarThrottle.getProgress() - throttleTarget) <=  
     878                                                (int) ((throttlePrevious - throttleTarget) * 0.667)) { 
     879                                        throttleStep = throttleStep * 2; 
     880                                        throttleStepSleep = (int) (throttleStepSleep * 0.667); 
     881                                        stepAccelerated = true; 
     882                                } 
     883 
     884                                throttleNew = throttleNew - throttleStep; 
     885                                fragmentAdvanced.seekBarThrottle.setProgress( (int) throttleNew ); 
    858886 
    859887                                try { 
  • android/src/info/puzzlebox/orbit/OrbitTabActivity.java

    r3baad6d rb38c13f  
    824824                                        channel = fragmentAdvanced.radioGroupChannel.getCheckedRadioButtonId(); 
    825825 
    826                                 if (demoFlightMode) 
    827                                         updateAudioHandlerLoopNumberWhileMindControl(200); 
    828                                 else 
    829                                         updateAudioHandlerLoopNumberWhileMindControl(4500); 
     826//                              if (demoFlightMode) 
     827//                                      updateAudioHandlerLoopNumberWhileMindControl(200); 
     828//                              else 
     829//                                      updateAudioHandlerLoopNumberWhileMindControl(4500); 
     830                                 
     831                                updateAudioHandlerLoopNumberWhileMindControl(5000); 
    830832 
    831833                                updateAudioHandlerChannel(channel); 
Note: See TracChangeset for help on using the changeset viewer.