Commit graph

17 commits

Author SHA1 Message Date
Ben Hitchcock
0359a3280b Bugfix to stop altitude hold drift, especially noticeable in sonar mode.
This uses the raw stick values instead of the calculated RCCommand values to determine whether or not the stick has moved.  The problem was that the RcCommand variable wasn't being reset to the stick position each loop, and so outputs were being treated as inputs.
2015-04-12 15:06:04 +08:00
Ben Hitchcock
9e842704c5 ^ Multiplying I term by ten to make it tuneable 2015-03-24 22:54:49 +08:00
Ben Hitchcock
82161882bb Bugfix for situations where Rx mapping is being used, and failsafe is kicking in unecessarily. An example is when a GPS is being used on UART2 (Rx pin 4), with the mapping of AET4R123. This code prevents failsafe being triggered by GPS data on Rx pin 4. 2015-01-17 22:29:06 +08:00
Ben Hitchcock
22afc54228 Removing misplaced function definition 2015-01-07 22:04:21 +08:00
Ben Hitchcock
69d94c81e1 Second draft of the tuneup.
This uses ints for the sensitivity instead of mapping floats back and forth.
 Also the stick position is read directly, without the RC_Rate affecting this value.
2015-01-07 21:54:13 +08:00
Ben Hitchcock
6b7c9facd3 First draft of better horizon mode 2015-01-06 21:53:23 +08:00
Ben Hitchcock
895d215265 Tightening up code inside atomic block, and whitespace changes (tabs to spaces) 2014-12-04 06:59:27 +08:00
Ben Hitchcock
8a9e51c779 Putting overflow code inside an atomic block, and style improvement (using predefined constant instead of raw number) 2014-12-02 06:11:40 +08:00
Ben Hitchcock
e9aaff808e Updates to the way that timers are forced to overflow in oneshot mode.
Now the current count value is saved, and then passed to the listeners.  This _should_ mean that CC3D PPM might work this time.
2014-12-01 22:43:17 +08:00
Ben Hitchcock
5096873ab1 Improvement to the way that timers are forced to overflow, which should allow PPM on CC3D to work properly. 2014-11-30 08:08:34 +08:00
Ben Hitchcock
c0ed21a818 First attempt at getting CC3D PPM to work when oneshot is enabled.
I don't think that this will work, as we are manipulating the timer value to trick it into overflowing.  Better would be to force an overflow a different way, that would preserve the current timer value.  This would then give the proper value to the CC3D PPM routine, provided it was then divided by 8.
2014-11-29 22:54:27 +08:00
Ben Hitchcock
da35b3844c Bugfix for when looptime is longer than timer size.
Previously, when a looptime of 8300 uS was chosen, the output would be unpredictable.  Now the shots are fired only after every loop, not when the timer overflows.
2014-11-29 22:51:41 +08:00
Ben Hitchcock
94c5573c39 Allowing oneshot125 functionality to work on a Naze board.
This code has been flight tested, but will have problems on a CC3D board, and also when the looptime is longer than 8200 uS.
2014-11-29 14:06:35 +08:00
Ben Hitchcock
66fce423bb Code allowing the use of sonar without requiring a barometer.
This code has been flight tested on a Naze32 acro, with no barometer onboard.  It also works when the target doesn't have BARO defined.
2014-09-05 11:28:55 +08:00
Ben Hitchcock
74ef19bc34 Bugfix when using sonar as well as rx-parallel-pwm
This allows sonar to be used at the same time as parallel PWM for the receiver.  If the RX_PARALLEL_PWM feature is enabled, then the sonar system uses motor ports 5 and 6, otherwise it uses receiver pins 7 and 8.
2014-08-13 19:25:43 +01:00
Ben Hitchcock
df833a6178 Bugfix for wrong number of beeps when changing profiles
When changing profiles with the sticks, CleanFlight was beeping 0 times for profile
1, once for profile 2, and twice for profile 3.  This wasn't intuitive, and was
different to how Baseflight beeps when changing profiles.
This change makes baseflight give the same number of beeps as the profile number
that you change into.
2014-08-02 14:11:36 +08:00
Ben Hitchcock
35a4aa60f9 Adding 'get' command to the CLI, to view a single variable.
This enables the user to type "get variablename" in the CLI, which then shows the value of that variable (or a message saying "Variable 'variablename' not found").
This is easier for the user when they just want to see a single variable, instead of typing 'dump' and then having to parse a big long list of data.  It is also more intuitive than typing 'set variablename', as this feels unsafe.
2014-08-02 13:59:46 +08:00