Commit Graph

1193 Commits

Author SHA1 Message Date
Dominic Clifton f5a0f9d3b2 Update RX & Battery OLED pages.
RX page shows up to 14 channels.
Battery page shows current and capacity information.
2014-11-13 01:29:07 +00:00
Dominic Clifton 8661849a5f Ensure sensors bitmask contains the flag for the GYRO after gyro has
been detected.
2014-11-12 21:03:40 +00:00
Petr Ledvina f7a8869b7d List terminator is wrong in some arrays 2014-11-12 12:23:28 +01:00
Dominic Clifton 668c9c0457 Allow smartport to be configured. Fix shared port flag calculation. 2014-11-12 01:30:05 +00:00
Dominic Clifton 0f8d231aad Adding a FIXME to the SmartPort code. 2014-11-12 01:09:14 +00:00
Dominic Clifton 80e660140e Minor formatting fix. 2014-11-12 00:57:23 +00:00
Frank Zhao 6311dc8f8c added single wire half duplex UART
Conflicts:

	src/main/telemetry/telemetry.h
2014-11-12 00:29:42 +00:00
Frank Zhao 0000d3e65e added smartport telemetry
Conflicts:

	src/main/telemetry/telemetry.h
2014-11-12 00:11:13 +00:00
Dominic Clifton d9c2963182 OLIMEXINO - Disable MPU3050 support. 2014-11-11 23:41:58 +00:00
Petr Ledvina 3ee60ef857 Merge remote-tracking branch 'refs/remotes/upstream/master' into feature-timer 2014-11-11 12:50:11 +01:00
Petr Ledvina 3b20b74c00 Fixed original softserial code
Bit end timer must by shifted by half-bit period to startbit edge, so that next edges are in middle of bit interval. This behavior was masked with old timer code, but noise immunity was probably very low.
2014-11-11 12:38:57 +01:00
Dominic Clifton a6a72be0d2 Add a debug page to the OLED display. 2014-11-10 18:33:07 +00:00
Dominic Clifton 893023d21b Delete some baseflight test code. 2014-11-10 00:40:22 +00:00
Dominic Clifton 9362590785 Replacing the init code for the UG2864 display with code that works on
the cheapest displays currently available from banggood.com.

Cleanup work will happen once the code has been tested on more displays,
such as the ones from Wide.HK and the Crius.

The default has changed to these boards because they are cheap and do
not require modification to get them working, unlike the Crius boards.
2014-11-10 00:58:39 +01:00
Dominic Clifton 54c650fa44 EUSTM32F103RC - Add inverter. 2014-11-10 00:55:30 +01:00
Dominic Clifton d0f622bb81 PORT103R - Initial support for the Waveshare Port 103R development
board.
2014-11-10 00:53:48 +01:00
Petr Ledvina 98c0d0b5dd Code cleanup / fixed missing TIM8_UP handler 2014-11-08 15:25:16 +01:00
Petr Ledvina cd88c561a6 Merge remote-tracking branch 'refs/remotes/upstream/master' into feature-timer 2014-11-08 14:25:28 +01:00
Dominic Clifton 28da97f894 Fix MSP/Telemetry Arm/Disarm problems.
Tested with two MSP ports, one via softserial. Both with telemetry
enabled and without telemetry enabled.
2014-11-08 11:53:01 +00:00
dongie f42d603b12 Fixing acc_hardware in cli to the new supported sensors range.
Conflicts:

	obj/baseflight.hex
	src/cli.c
2014-11-08 02:06:06 +00:00
Dominic Clifton 8ed45bce36 cli `exit` command now reboots without saving.
This also prevents excessive wear to the eeprom/flash and makes it the
difference between `save` obvious.

Fixes #146
2014-11-08 01:58:35 +00:00
Dominic Clifton 28662e696a Update SBus channel reading calculations.
Based on baseflight PR#48 by Geobish/Timecop.
2014-11-08 01:32:24 +00:00
Dominic Clifton 0f10855837 Support 16 channel SBus receivers.
Tested with FrSky X4RSB and Taranis+.

See also: https://github.com/opentx/opentx/issues/1701
2014-11-08 01:12:51 +00:00
Dominic Clifton 2461973dd6 There was a little more fixed to do when telemetry was not eanbled.
Tested arm/disarm/arm/disarm with telemetry on and off, all working now.

See #155.
2014-11-08 01:11:10 +00:00
Petr Ledvina aa7f5c4a1e New timer implementation
This is first part of new softserial code. Main timer code is changed, changes to rest of code are kept to minimum.

macros for BASEPRI based synchronization are added to project (atomic.h)

TIMER_PERIOD fixed in pwm_rx.c
2014-11-07 15:38:26 +01:00
Pierre-A caf81ad640 RSSI monitoring on CC3D 2014-11-07 09:23:54 +01:00
Dominic Clifton 903392b883 Updating comment. 2014-11-06 19:52:10 +00:00
Dominic Clifton 59698c5a37 Merge branch 'naze-updates-pb' of github.com:Pierre-A/Cleanflight into Pierre-A-naze-updates-pb 2014-11-06 19:44:39 +00:00
Dominic Clifton feb4be43d4 Merge pull request #150 from Pierre-A/naze-updates-pa
RSSI_ADC configurable scale in CLI
2014-11-06 20:43:16 +01:00
Petr Ledvina 8d22a85222 Fixed some whitespace around operators
one compiller warning about possible uninitialized variable supressed
2014-11-06 17:36:40 +01:00
Dominic Clifton 30c550b83d CC3D - Support 4 PWM inputs and 4 PWM outputs.
Avoid timer clashes on CC3D when using Parallel PWM input.

More work needs to be done on the PWM RX/Output code to negate timer
clashes.
2014-11-05 22:32:44 +00:00
Dominic Clifton 2d119cba78 Fix softserial/pwm timer clash caused by typo in preprocessor defines.
See 91c7407806

Fixes #143.
2014-11-05 21:05:57 +00:00
Dominic Clifton db36cfe12e Fix arm/disarm/arm bug when using shared msp/telemetry ports.
All msp ports are now re-initialised when disarming.

Bug wa introduced by c06fd78b83 - see
#144.

Runtime serial port scenario should not have been erased.

Fixes #144 and #155. Cleanup #125.
2014-11-05 20:23:59 +00:00
Petr Ledvina bf50cbb1a8 NVIC priority change
Use 'better' macros to handle priority. This simplifies passing priority to function and new ATOMIC_BLOCK macro
2014-11-04 16:23:21 +01:00
Dominic Clifton 503e7a0817 Decouple altitudehold.c from config.c. Update flight_imu_unittest and
altitude_hold_unittest.
2014-11-03 20:03:21 +01:00
Pierre-A d545ab545f Remove profanity from comments (issue #43) 2014-11-02 14:53:57 +01:00
Dominic Clifton f8b13d7c62 Update unittest_flight_imu. 2014-11-01 11:10:57 +00:00
Dominic Clifton 21e9b0b537 Update battery_unittest. 2014-11-01 11:06:24 +00:00
Dominic Clifton 6efa63b8bd Update telemetry_hott_unittest. 2014-11-01 11:04:39 +00:00
Dominic Clifton 8f196420ca Fix unit test compiler warnings on rc_controls_unittest 2014-11-01 10:50:30 +00:00
Dominic Clifton 715c175aad Add basic MPU6000 auto detection code. De-duplictate repeated code in
MPU6000.
2014-11-01 10:45:44 +00:00
Dominic Clifton 0ba2933611 Add MSP_SET_ADJUSTMENT_RANGE and MSP_ADJUSTMENT_RANGES commands. 2014-11-01 10:24:32 +00:00
Dominic Clifton ec92a8e6ba Avoid unused variable warning for targets with no beeper. 2014-11-01 09:15:33 +00:00
Dominic Clifton 00e0bf806a Adding a compile to option to allow users to compile with serial port 1
and 2 defaults switched.

This is helpful if you fry a serial port.

Compile with `OPTIONS=SWAP_SERIAL_PORT_1_AND_2_DEFAULTS`.
2014-10-31 21:00:53 +00:00
Pierre-A 3592429ed5 RSSI_ADC configurable scale in CLI 2014-10-30 21:29:56 +01:00
Dominic Clifton 84384e61af Ensure control rate profiles get initialised correctly. 2014-10-30 00:22:37 +00:00
Dominic Clifton 00ca237886 Rename default_rateProfile_index to defaultRateProfileIndex. 2014-10-29 23:56:28 +00:00
Dominic Clifton ef7f5321da Add Profile OLED display page that shows the current profile and rate
profile.
2014-10-29 23:55:12 +00:00
Dominic Clifton 28f9fa629c Add rate profiles and inflight switching between them. See Profiles and
Inflight Adjustment documentation for details.
2014-10-29 23:36:34 +00:00
Dominic Clifton cac814923c Update RC Controls so that functions with different modes can be
applied.  The existing modes are 'step'.  A new mode is 'select'.

The other unit tests need fixing up so that appropriate code is compiled
as C and not C++ code.
2014-10-29 20:52:44 +00:00
Dominic Clifton 8f80f86bc9 Reduce serial port memory usage.
The largest MSP command is 160 bytes.
2014-10-29 19:18:51 +00:00
Dominic Clifton 45218357fa Narrow LED strip indicator deadband so that indicators are displayed for
smaller pitch/roll input movements.
2014-10-29 01:05:01 +00:00
Dominic Clifton d76a414985 Ensure each serial port has enough buffer space to write out the largest
MSP response.
2014-10-29 00:52:00 +00:00
Dominic Clifton 3d7455d557 Fixed magAlign, reconfigureAlignment was being called before mag
detection.  Closes #101.
2014-10-28 16:09:44 +00:00
Dominic Clifton a65a937313 STM32F3 - Fix uartReconfigure. Closes #125. 2014-10-28 15:55:07 +00:00
Dominic Clifton c06fd78b83 Fix being unable to change port function of serial port during runtime.
Closes #144.

Thanks @frank26080115
2014-10-28 15:49:02 +00:00
Dominic Clifton 3f59f6ed8d Change the default scenario for serial port 2 to be 'UNUSED'. Fixes
#145.
2014-10-28 15:46:38 +00:00
Dominic Clifton 940552beb1 Fix incorrect CALL_COUNT_ITEM_COUNT value in rc_controls_unittest
preventing compilation via clang.
2014-10-28 15:45:03 +00:00
Dominic Clifton e983c124c3 update rc_controls_unittest so it compiles and passes again. 2014-10-24 23:15:10 +01:00
Dominic Clifton 8aeee0b5fd Merge branch 'inflight-adjustments' 2014-10-24 23:12:45 +01:00
Dominic Clifton 2df976409d Allow inflight adjustment of pitch/roll (linked) and yaw PID settings. 2014-10-24 23:10:17 +01:00
Dominic Clifton 7548154d25 Allow saving of config when disarmed by using THR_LO + YAW_LO + PIT_LO +
ROL_HI.
2014-10-24 22:39:40 +01:00
Dominic Clifton 247d35ec85 Avoid warning when target does not use beeper. 2014-10-24 22:26:10 +01:00
Dominic Clifton 4a90599e3a Allow inflight adjustment of throttle expo. 2014-10-24 22:16:49 +01:00
Dominic Clifton f166ca3516 Allow inflight adjustment of yaw rate. 2014-10-24 22:01:31 +01:00
Dominic Clifton 9ddbb4ed9d Allow inflight adjustment of rc_expo. 2014-10-24 21:58:30 +01:00
Dominic Clifton 81e3425326 Allow inflight adjustment of pitch/roll rate. 2014-10-24 21:52:12 +01:00
Dominic Clifton a406cb6f96 reorder aux/adjrange commands, commands must be alphabetically sorted
due to the command-lookup code.
2014-10-24 21:30:12 +01:00
Dominic Clifton 066c814a8a Update `adjrange` command to take an 'adjustment index/slot'. Apply
adjustment ranges to adjustment slots when channel is within range.

example:

```
adjrange 0 0 0 900 1700 0 2
adjrange 1 0 0 1700 2100 1 2
```

explained:

* configure adjrange 0 to use adjustment slot 1 (0) so that when aux1
(0) in the range 900-1700 then do nothing when aux 3 (2) is in any
position.
* configure adjrange 1 to use adjustment slot 1 (0) so that when aux1
(0) in the range 1700-2100 then do use adjustment 1 (rc rate) when aux 3
(2) is in the appropriate position.

Without the entire range of aux1 being defined there is nothing that
would stop aux 3 adjusting the rc rate once aux 1 wasn't in the higher
range. 

There are 4 adjustment slots and 12 adjustment ranges.

Adjustment slots and adjustment ranges can use the same aux channel.

e.g.

`adjrange 2 1 0 900 2100 1 3`

* configure adjrange 2 to use adjustment slot 2 (1) so that when aux4
(3) in the range 900-2100 then use adjustment 1 (rc rate) when aux 4 (3)
is in the appropriate position.
2014-10-24 20:49:00 +01:00
Dominic Clifton bd39445be8 Add cli command to configure adjustment ranges.
e.g. `adjrange 0 0 1700 2100 1 2`

set adjustment range 0, which applies to aux channel 0 (aux1) when range
is between 1700 and 2100 then apply function 1 (rc rate) to aux channel
2 (aux3)
2014-10-24 19:51:40 +01:00
Dominic Clifton 18abad5dd7 Extract range definition so it can be reused. 2014-10-24 18:57:06 +01:00
Dominic Clifton b2db6b3b80 Beep when adjustments are made. (very short = adjust downwards, short =
adjust upwards).
2014-10-24 18:48:55 +01:00
Dominic Clifton a92b148557 update some comment typos in sensors/acceleration.c 2014-10-24 18:35:59 +01:00
Dominic Clifton a2a9443045 Seperate adjustment configuration from adjustment state. Rename 'step'
parameter to 'delta' applying the adjustment.  Configure adjustment
states based on adjustment configuration for AUX3 and AUX4.
2014-10-24 15:46:07 +01:00
Dominic Clifton 45d9678a39 Use adjustment index rather than function to track state. 2014-10-24 15:10:28 +01:00
Dominic Clifton e21f0667c5 Update adjustmentConfig to include the adjustment timeout. 2014-10-24 14:58:41 +01:00
Dominic Clifton 02c93f1c1a Fix rc_controls_unittest to use midrc. 2014-10-24 14:57:46 +01:00
Dominic Clifton 6db86da975 Re-instate the original softserial workaround.
This will be investigated further after the softserial changes are
merged in.
2014-10-24 08:48:37 +01:00
Dominic Clifton 9f41f9aba4 Merge pull request #128 from Pierre-A/cc3d-updates-1
Current monitoring on CC3D
2014-10-24 08:42:57 +01:00
Dominic Clifton 4c2802545f Merge pull request #133 from ledvinap/feature-nvic
Feature nvic
2014-10-24 08:37:49 +01:00
Dominic Clifton a3af8284dc Update target identifier for MassiveF3.
Target identifiers should 4 characters long.
2014-10-24 08:32:23 +01:00
Dominic Clifton 51574338e8 Merge pull request #132 from ledvinap/bugfix-targets
quick fix
2014-10-24 08:30:14 +01:00
Petr Ledvina e686b4504e Centralized NVIC priorities
- NVIC priorities are moved to separate file, all values are replaced wit symbolic names. Priorities should be the same.
- tiny change in DMA initialization
2014-10-23 16:48:35 +02:00
Petr Ledvina 1604f856b8 Merge branch 'bugfix-targets' into feature-nvic 2014-10-23 16:38:01 +02:00
Petr Ledvina e58afe9d64 quick fix
it is impossible to build some targets. This is quick fix to get it working again
2014-10-23 16:32:16 +02:00
Petr Ledvina e179218caf Trivial changes
- use inline functions for gpio (typesafe, no speed penalty)
- fix sortSerialPortFunctions (original was IMO broken)
- allow softserial port on sonar pin when FEATURE_SONAR is not enabled
- minor style changes and comments
2014-10-23 15:08:57 +02:00
Dominic Clifton b0b83b31db Make the adjustment controls more sensitive by using a smaller 3POS
switch deadzone.
2014-10-22 23:20:59 +01:00
Dominic Clifton 6d7035819f First cut of allowing a 3POS switch on AUX3 to change rc rate.
rcRate is decreased when low, increased when HIGH and no change when the
switch is in the middle.

The rcRate ticks up/down at 0.01 every 500ms if the switch is left on.

If using a momentary switch and if you can toggle the switch between
middle and low or middle and high more frequently than 500ms then the
rate will be increased accordingly.  Similar to how a keyboard repeat
behaves.
2014-10-22 23:10:40 +01:00
Pierre-A d0ec471d03 Current monitoring on CC3D 2014-10-21 20:30:40 +02:00
Dominic Clifton fd32ad6fcb Use correct buffer size variable when checking for softserial waiting
bytes.  Fixes #127.
2014-10-21 13:41:51 +01:00
Dominic Clifton cbd1817f6c Workaround for HoTT and softserial. 2014-10-20 23:14:30 +01:00
Dominic Clifton 2d8f65448d Cleanup Softserial/LedStrip timer clash checking. Move definitions of
led strip timer and softserial pwm ports/timers into target specific
files.
2014-10-20 21:44:55 +01:00
Dominic Clifton f9f6b05aac Fix opening softserial ports - missed a #ifdef check. 2014-10-20 20:13:30 +01:00
Dominic Clifton 91c7407806 Cleanup CC3D softserial - it only has enough pins/timers for one port.
PR #124 incorrectly re-used the same timer hardware for the second port
which was bad.
2014-10-20 19:34:10 +01:00
Dominic Clifton b08f51d88c Undo changes from 20c4dae7c2 / hott.c
until a proper fix is found.
2014-10-20 18:54:30 +01:00
Pierre-A 20c4dae7c2 SoftSerial port for CC3D 2014-10-19 11:20:55 +02:00
Dominic Clifton 63236d5a2a Fixed bug where channel mapping was incorrect when using GPS and RX
Parallel PWM on STM32F10X targets. Fixes #80.

The check to see if usart2 should always be done.  The PWM mapping code
decides on a per-target base if possible pwm input channels need to be
skipped due to pin usage clashes.
2014-10-18 18:16:58 +01:00
Dominic Clifton a3aad91f76 Bump EEPROM version (for #108). 2014-10-18 16:38:40 +01:00
Dominic Clifton e0495343de Updating credits for FrSky telemetry. 2014-10-18 16:03:37 +01:00
Dominic Clifton 1b47d3cbae Clean up pull request #108 from @Airmamaf. 2014-10-18 15:52:04 +01:00
Dominic Clifton 1c501272ab Merge branch 'airmamaf' of github.com:airmamaf/cleanflight into airmamaf-airmamaf 2014-10-18 15:06:42 +01:00
Dominic Clifton 50971667d9 Fix a couple of typos in MSP guidelines. 2014-10-17 22:46:07 +01:00
Dominic Clifton 596d798732 Add MSP_API_VERSION command. Added MSP development guidelines. Define
board identifiers for all cleanflight targets.
2014-10-17 22:34:15 +01:00
Dominic Clifton 4f96e3c20e Disable MPU6500 on EUSTM32F103RC because the driver autodection is not
implemented yet. See #119.
2014-10-17 01:35:46 +01:00
Dominic Clifton 6f3aa6fb86 Add extra MSP commands to allow settings to be made via a GUI in
addition to setting via the CLI.

Note: MSP_CONFIG from baseflight
bc68d89983d762d35cc1cf5e3fa0c2cf03287b70 will not be supported because
more specific commands exist in cleanflight.

MSP_MISC and MSP_CONFIG are good examples of single responsibility
violations.
2014-10-17 01:33:47 +01:00
Dominic Clifton 38dbe897d9 Reduce RAM usage of mpu6050 initialisation. 2014-10-16 01:10:23 +01:00
Dominic Clifton f5895b762f NAZE32_SP - Enable MPU6500 driver. 2014-10-16 00:57:44 +01:00
Dominic Clifton 8f9a553a9e Use Naze hardware revision when initialising mma845. Cleanup ADXL345
initialisation.
2014-10-16 00:56:02 +01:00
Dominic Clifton 50391f2c8e Use Naze hardware revision when initialising beeper. Cleanup inverted
beeper configuration.
2014-10-16 00:44:56 +01:00
Dominic Clifton 2ed09b0b2f Use Naze hardware revision when initialising bmp085. Cleanup bmp085
GPIO configuration for all targets.
2014-10-16 00:13:09 +01:00
Dominic Clifton 79917da85a Use Naze hardware revision when initialising mpu6050. The driver is not
not naze specific anymore.
2014-10-15 23:10:18 +01:00
Dominic Clifton cf643b98c8 Use Naze hardware revision when initialising hmc5883. The driver is not
not naze specific anymore.
2014-10-15 22:42:07 +01:00
Dominic Clifton 6162f609ea Use Naze hardware revision when initialising adxl345 - this now allows
the driver to be used by any target with an hse_value of 12Mhz.
2014-10-15 21:16:52 +01:00
Dominic Clifton a4879cc2e3 Use Naze hardware revision when initialising ADC. 2014-10-15 21:14:49 +01:00
Dominic Clifton 8ef70abaa0 NAZE32 - Add hardware revision detection. 2014-10-15 20:59:06 +01:00
Dominic Clifton da51b5c479 Add MPU6500 SPI driver. Move sensor initialisation defines into target
specific headers.
2014-10-14 00:22:54 +01:00
Dominic Clifton 79c2e5648f Add MSP capability bit so clients can detect Cleanflight and use an
appropriate API.  Renumber some cleanflight specific MSP commands,
Cleanflight will use the range 32-63 for new MSP commands.
2014-10-13 22:36:00 +01:00
Dominic Clifton 279f85b151 Bump EEPROM version for mode range support. 2014-10-13 19:57:28 +01:00
Dominic Clifton 59c55b4a19 Use permenant id for MSP_SET_MODE_RANGE. 2014-10-13 01:08:41 +01:00
Dominic Clifton c5280cd9d7 Ensure mode flags are correctly generated after the switch to a bitmask
for activated modes.
2014-10-13 00:53:41 +01:00
Dominic Clifton 50ba314116 Fix range check problem for first mode range index. 2014-10-12 23:43:12 +01:00
Dominic Clifton 77e83eef0c Use permenant mode ids in MSP_MODE_RANGES and MSP_SET_MODE_RANGE. 2014-10-12 21:47:39 +01:00
Dominic Clifton 2555858687 Add two new MSP commands to get ALL mode ranges and to set individual
mode ranges.
2014-10-12 21:22:05 +01:00
Dominic Clifton ca9f183b83 Cleanup some aux range defines and comments. 2014-10-12 21:05:34 +01:00
Dominic Clifton cfcd4792bb Determine with an aux range is used to arm. 2014-10-12 21:02:45 +01:00
Dominic Clifton 738c807e1d Fix setting of upper limit for mode ranges in cli. 2014-10-12 19:49:31 +01:00
Dominic Clifton b0eab0cc9e Update the cli AUX command to take range parameters - see docs/Modes.md 2014-10-12 19:32:55 +01:00
Dominic Clifton b43fa247de Handle channel boundaries better.
More efficient, less code, easier to understand.
2014-10-12 18:31:59 +01:00
Dominic Clifton 2369a63df0 First cut of code that passed the unit tests for mod activations,
however it uses / operations and doesn't handle the case where the
channel value is on the boundary between two ranges.
2014-10-12 18:15:44 +01:00
Dominic Clifton c0fd0c1f33 Replace profile.activate and rcOptions with
profile.modeActivationCondition and rcModeActivationMask.

Implementation of using and setting modeActivationConditions is missing.
2014-10-12 10:40:38 +01:00
Airmamaf 9b84516344 FrSky telemetry update 2014-10-08 16:28:26 +02:00
Dominic Clifton 6f4ef82f7d Merge pull request #94 from airmamaf/patch-3
Update barometer.h
2014-10-07 21:18:23 +01:00
Dominic Clifton 107a3425cf Updating unit test to verify expected values with the new maximum
vbatscale value. See #104.
2014-10-07 21:12:04 +01:00
Dominic Clifton c2b1420c07 Merge pull request #104 from airmamaf/patch-5
Update serial_cli.c
2014-10-07 21:02:21 +01:00
Dominic Clifton e281a99b40 OLIMEXINO - Allow compilation without BARO_PIN. 2014-10-07 20:36:55 +01:00
Dominic Clifton 3bc9dc7121 Move linker scripts to src/main/target. 2014-10-07 07:06:05 +01:00
Dominic Clifton 6beec3c6e9 MASSIVEF3 - Add new target. 2014-10-07 06:57:28 +01:00
Dominic Clifton a199685d83 EUSTM32F103RC - Add Barometer pin defines to target.h to fix build. 2014-10-07 06:57:28 +01:00
Dominic Clifton be7239ecac NAZE32PRO - Fix compilation problems. 2014-10-06 23:35:08 +01:00
Dominic Clifton 043577b8af MS5611 - Remove profanity. Replace comment with code. Improve code
size.  Improve code readability.
2014-10-03 14:38:20 +01:00
airmamaf 720486a4de Update serial_cli.c
When using a voltage sensor instead of direct connection for voltage monitoring, vbat_scale max limit is too low. It should be raised to a value greater than 200 (250 or more)
2014-10-03 09:15:48 +02:00
Dominic Clifton 391f211e99 Removing OSX temporary files. 2014-10-02 00:39:03 +01:00
Dominic Clifton daa823ddba AltHold cleanup.
* Renamed several methods and variables so they make more sense.
* Move more altitude hold related code out of imu.c/h into
altitudehold.c/h.
* Fixed a unsigned integer being using instead of an signed integer in
the throttle calculation code.
2014-09-29 01:34:15 +01:00
Dominic Clifton 7d4abb8a4a Add parenthesis to expressions to imrove code clarity and remove IDE
warning.
2014-09-29 01:11:00 +01:00
Dominic Clifton 10abdd3afa Update warning mode leds to show when arming is disabled.
Idea and initial implementation by viktor80.  Closes #96.
2014-09-27 00:34:02 +01:00
Dominic Clifton 03a5a20351 Fix unable to disable GPS HOME mode. Fixes #91. 2014-09-27 00:20:04 +01:00
Dominic Clifton 6883a8f2a7 Fix led cli command when led strip feature is not enabled. Fixes #95. 2014-09-27 00:14:04 +01:00
Dominic Clifton 55295f399d Merge pull request #92 from airmamaf/patch-1
Add Horizontal Dilution Of Precision to telemetry (2/2)
2014-09-26 21:48:24 +01:00
Dominic Clifton 854e4ffa01 Merge pull request #93 from airmamaf/patch-2
Add Horizontal Dilution Of Precision to telemetry (1/2)
2014-09-26 21:47:38 +01:00
Dominic Clifton 1af58defa2 Fix compiler warning when building for non NAZE targets that use the
HMC5883 compass driver.
2014-09-26 14:11:33 +01:00
Dominic Clifton acbede5492 CC3D - Allow building of a binary that is compatible with the OpenPilot
CC3D bootloader to allow easy switching between OpenPilot and
Cleanflight.

Submitted by Alessio Morale -
http://forums.openpilot.org/topic/43569-baseflightcleanflight-ported-to-cc3d/?p=372149
2014-09-26 14:10:12 +01:00
Dominic Clifton 004b158af3 Bump config version for new SONAR flight mode. 2014-09-26 13:37:35 +01:00
Dominic Clifton 3eb8bcb3e5 Merge branch 'feature-sonar-flight-mode-no-baro' of dclifton-github.com:nebbian/cleanflight into nebbian-feature-sonar-flight-mode-no-baro
Fixed tabs, kept old references to VARIO.  Made SONAR mode a new option so that aux settings could be preserved.

Conflicts:
	src/main/config/runtime_config.h
	src/main/flight/altitudehold.h
	src/main/flight/imu.c
	src/main/io/rc_controls.h
	src/main/mw.c
	src/main/sensors/initialisation.c
2014-09-26 13:36:19 +01:00
Dominic Clifton 13b1d28f6e Disable HMC5883L MAG Data Ready GPIO signal line initialisation except
on naze.

Note: The signal does not appear to be used by the code anyway.
2014-09-26 02:12:29 +01:00
Dominic Clifton 6013d9dc6a Decouple ms5611 baro driver from bmp085 driver. 2014-09-26 02:09:40 +01:00
Dominic Clifton a12cf4ae59 STM32F3 - Add a GPIO alternate function configuration to timer mappings. 2014-09-26 02:01:21 +01:00
Dominic Clifton 35280abfed Allow disabling of I2C for targets that do not use it. 2014-09-26 01:32:57 +01:00
Dominic Clifton 15cbeff86e STM32F3 - Remove some compiler warnings. 2014-09-26 01:07:06 +01:00
Dominic Clifton 8d737de864 Remove some tabs. 2014-09-26 01:04:09 +01:00
Dominic Clifton 6f05a5181b Insert missing space into version message. 2014-09-26 01:03:20 +01:00
Dominic Clifton a5d57e7b87 STM32F3 - Cleanup serial port usage. 2014-09-26 01:02:27 +01:00
airmamaf e4eaad563f Update barometer.h
Allow temperature from baro to be used by telemetry
2014-09-25 08:59:37 +02:00
airmamaf f3d40ece27 Update gps.c
Compute GPS quality signal
2014-09-25 08:56:16 +02:00
airmamaf 432c6b5bc7 Update gps.h
Add hdop information in order to display GPS quality signal in telemetry
2014-09-25 08:53:52 +02:00
Dominic Clifton 6b6df68fa7 DISPLAY - Fix ticker updating problem, line buffer was too short. 2014-09-22 19:27:50 +01:00
Dominic Clifton d5f5fdb403 Fix unable to disable GPS home mode via switch. Fixes #87. 2014-09-22 19:01:07 +01:00
Dominic Clifton c898ca4634 OLED Display - Add two pages: RX info and Welcome.
The RX info page shows channel letters and bar graphs for the first 8
channels.
The Welcome page shows the target and cleanflight git revision.
2014-09-21 05:09:01 +01:00
Dominic Clifton 94c1023493 FrSky Telemetry - Constrain the fuel level value to prevent erroneous
display on some FrSky gear.

Note this made no difference when using latest OpenTX and an unmodified
XJT module.

Closes #84.
2014-09-21 02:54:59 +01:00
Dominic Clifton f070ba6ead CC3D - Adding missing BEEPER define, fixes #86. 2014-09-21 01:54:07 +01:00
Dominic Clifton da485119f7 Update the cli `dump` command and profile commands so that it shows the
profile being dumped such that it can be copied pasted as commands.
2014-09-20 12:40:19 +01:00
Dominic Clifton 0cde910b75 Fix unused led strip method compiler warnings for CJMCU target. 2014-09-20 12:20:24 +01:00
Dominic Clifton a4c21b5e57 SUMH - Initial cut of support for Graupner SUMH Serial RX protocol. 2014-09-20 09:39:42 +01:00
Dominic Clifton 3ed6afba17 Removing timing instrumentation from CC3D & LEDSTRIP build. 2014-09-20 01:04:40 +01:00
Dominic Clifton 2f2e1a8d42 Update LEDSTRIP unit test.
The recently added throttle mode broke compilation of it.
2014-09-20 01:01:20 +01:00
Dominic Clifton e847a6347d Improve speed of LED STRIP code.
Shaved about 150us each strip update.

This commit leaves in some timing trace code for the CC3D target, the
results of which can be seen in the debug variables for the sections
being timed.

A later commit will remove/disable the timing code.
2014-09-20 01:00:13 +01:00
Dominic Clifton 9c87b99f5f CC3D - Add Buzzer support to PA15.
See Docs for details.
2014-09-19 21:35:30 +01:00
Dominic Clifton 41ff2e8d0e CC3D - Add support for battery voltage monitoring on S5_IN.
See docs for further details.
2014-09-19 21:16:40 +01:00
Dominic Clifton d904741f43 Update LED throttle mode to use rcData instead of rcThrottle, avoid
having to reference min/maxThrottle.

Range was not being calculated correctly.

Throttle color now blends with the current color of the LED so that at
mid throttle any orientation color is still correct when mixing Throttle
and Flight Mode on an LED.

Fix tabs.  Reduce nesting level.
2014-09-19 01:46:41 +01:00
Dominic Clifton 9723df947e Merge pull request #83 from goebish/cleanflight-throttle-led
Throttle level indicator led mode
2014-09-19 00:18:55 +01:00
Dominic Clifton 0e2b0ccafd Adding note regarding color index usage. 2014-09-19 00:15:58 +01:00
Goebish 16871c7a91 Merge remote-tracking branch 'cleanflight/master' into cleanflight-throttle-led 2014-09-19 01:10:21 +02:00
Goebish b83e7b42b7 Add throttle level indicator led mode 2014-09-19 01:09:59 +02:00
Dominic Clifton 72eac8048a Allow colors to be configurable via the cli.
color x h,s,v

x = 0-15
h = 0-359
s = 0-255
v = 0-255
2014-09-19 00:08:40 +01:00
Dominic Clifton 4b06592ce7 Update ledstrip unit test. 2014-09-18 23:04:58 +01:00
Dominic Clifton 545980c14a Move colors from ram to master config. Initialise colors only when
config is reset to defaults.
2014-09-18 22:53:12 +01:00
Dominic Clifton 79ea1ac088 Store colors in flash, copy to ram and use from ram. Store mode colors
as color ids instead of duplicating the color data.

Later, this will allow configurable colors as the colors can be copied
to the master config and used from that without any ram penalty.
2014-09-18 21:59:37 +01:00
Dominic Clifton 0b4f5804bc Update led strip code to use HSV instead of RGB. 2014-09-18 20:53:28 +01:00
Dominic Clifton d9d5227af9 Ignore CLI commands that are prefixed with # (comments) 2014-09-18 00:47:43 +01:00
dongie e51cb447c4 Include version output in cli 'dump'.
Conflicts:
	src/cli.c
2014-09-18 00:47:43 +01:00
Dominic Clifton 2461169114 Update battery percentage calculation so it calculates a percentage
between minimum voltage and maximum voltage instead of 0 and maximum
voltage.
2014-09-17 01:08:52 +01:00
Dominic Clifton 0d37bcdf5b Add DISPLAY feature to enable/disable the OLED display. Add ARMED page
which is displayed upon arming.  Resume page cycling when disarmed.
2014-09-16 01:33:15 +01:00
Dominic Clifton 1790e082fe Ensure led strip is configured in updateLedStrip method to prevent crash
when enabling the feature from the cli.
2014-09-16 00:29:41 +01:00
Dominic Clifton d60183d91d Normalize all the line endings 2014-09-15 23:40:17 +01:00
Dominic Clifton 4237370b60 Saving files before refreshing line endings 2014-09-15 23:38:51 +01:00
Dominic Clifton 876cf6bdd7 Merge branch 'master' into oled-ssd1306
Conflicts:
	src/main/common/printf.c
	src/main/main.c
	src/main/sensors/initialisation.c
	src/main/target/NAZE/target.h
2014-09-15 23:36:17 +01:00
Dominic Clifton a287f9247d Allow led strip to show failsafe state. Closes #76. 2014-09-15 23:24:08 +01:00
Dominic Clifton e14347bf47 Disable softserial port 2 on Naze and Olimexino targets when SONAR is
enabled without RX_PARALLEL_PWM because they use the same pins.
2014-09-15 21:29:17 +01:00
Dominic Clifton 99a296821a Update default led strip config so there is always an orientation light
on at the front when the battery alarm is on.
2014-09-15 20:24:00 +01:00
Dominic Clifton 94623289fd Fix building of targets that don't define LED_STRIP. 2014-09-15 03:27:37 +01:00
Dominic Clifton 043ed0f0bc CJMCU - fix flash size to 64k. 2014-09-15 03:23:56 +01:00