Commit Graph

1078 Commits

Author SHA1 Message Date
Dominic Clifton 3d382ea4c7 EUSTM32F103RC - First cut of support for this High-Density STM32F103
series development board.

These boards can be picked up for less than $11, coupled with a 10DOF
sensor board they make a great development platform or cheap expandable
FC.

Pretty much all pins are available to be used, unlike on the less
capable and more expensive OLIMEXINO.
2014-09-03 01:38:27 +01:00
Dominic Clifton 9977fce4bb STM32F3 - Disable PWM timeout monitoring on CH1 due to interrupt handler
loop.

CH2-CH8 still monitored.

See c0a349ed60.
2014-09-02 00:38:32 +01:00
Dominic Clifton f22953b37a Latest binary. 2014-08-28 01:38:28 +01:00
Dominic Clifton 00a1858faa Cleanup and fix the use of permenant box ids. 2014-08-27 23:59:52 +01:00
Dominic Clifton 59cddb21b4 Enable Serial RX on CJMCU target. 2014-08-26 23:25:14 +01:00
Dominic Clifton 78ebbcd8ee Latest binary with autotune. 2014-08-26 21:52:14 +01:00
Dominic Clifton f9b630a2c1 Re-enabing autotune. 2014-08-26 21:51:52 +01:00
Dominic Clifton 972ceee1d4 Latest binary with minor fixes. 2014-08-26 21:29:29 +01:00
Dominic Clifton 1c6ea1d397 Fix ANGLE mode and HORIZON mode resetting the errorAngle when they are
both attempted to be enabled at the same time.  Angle mode now takes
precedence over horizon mode.

Fix using aux settings that are not applicable to in-use aux channels -
prior to this it was possible to configure aux4 and then switch to
RX_SERIAL using a 7 channel system (3 aux channels) and aux4 would still
have been processed.
2014-08-26 21:28:23 +01:00
Dominic Clifton d15b56f14e Fixing mis-reporting of armed state - missed in b6a8e20. 2014-08-26 21:24:07 +01:00
Dominic Clifton fd264772ba Latest binary with: SONAR support. Free RAM improvements. Prevent arming after connecting a battery when the throttle is in low; when using a switch to arm and when the switch is left in the ON position. PWM Failsafe improvements. MSP Telemetry on telemetry port. Support MSP on multiple ports.
This reverts commit bd42c12f32 - it turns out the binary was fine after-all, the configurator needed updating, see #59.
2014-08-25 21:28:18 +01:00
Dominic Clifton bd42c12f32 Revert "Latest binary with: SONAR support. Free RAM improvements. Prevent arming after connecting a battery when the throttle is in low; when using a switch to arm and when the switch is left in the ON position. PWM Failsafe improvements. MSP Telemetry on telemetry port. Support MSP on multiple ports."
This reverts commit 67949872cc.
2014-08-25 09:42:29 +01:00
Dominic Clifton 67949872cc Latest binary with: SONAR support. Free RAM improvements. Prevent arming after connecting a battery when the throttle is in low; when using a switch to arm and when the switch is left in the ON position. PWM Failsafe improvements. MSP Telemetry on telemetry port. Support MSP on multiple ports. 2014-08-24 23:08:36 +01:00
Dominic Clifton 9b4ccdc73a Only set OK-to-arm flag when arm switches are disabled.
This prevents arming after connecting a battery when the throttle is in
low; when using a switch to arm and when the switch is left in the ON
position.

The previous solution was flawed because of the way rc input is handled.

This also removes an extra test of rcOptions by re-arranging the logic
that handles arming/disarming via a switch.
2014-08-24 22:59:59 +01:00
Dominic Clifton f5d9589f0a Disable debug output. 2014-08-24 22:53:06 +01:00
Dominic Clifton b6a8e20d8c Fix reporting of flight modes broken in 3f0754d
The conversion of the flags to bitmasks meant the mask was being bitshifted instead of 1 or 0.
2014-08-24 21:31:52 +01:00
Dominic Clifton 3f0754d295 Replace global flags with stateFlags, flightModeFlags and armingFlags.
Each flag was previously a whole byte, now all of the flags only take up
4 bytes as they are represented by bit masks.

This is cleaner because the different kind of flags are now separated.

Additionally this changes the behaviour of arming slightly.  When using
a switch to arm the aircraft will not arm unless the switch has been in
the off state once.  This prevents arming if you power the aircraft with
a low throttle and the switch in the on position.
2014-08-24 12:11:30 +01:00
Dominic Clifton 1ea014ae25 Support MSP telemetry on ports marked as TELEMETRY instead of MSP, this
follows the pattern that HoTT and FrSky use.

Previously MSP telemetry was actually output on the MSP port, NOT the
telemetry port.

Baudrate for MSP telemetry currently fixed at 19200.
2014-08-23 01:14:06 +01:00
Dominic Clifton 4604403098 Merge branch 'master' into msp-on-multiple-ports
Conflicts:
	src/main/config/config.c
	src/main/io/serial_msp.c
2014-08-22 22:30:33 +01:00
Dominic Clifton 26cbe71858 Fix for resetting config to defaults.
This was missed in f51efaa7c0
2014-08-22 22:26:35 +01:00
Dominic Clifton f51efaa7c0 Instead of copying a profile from the master config into memory again,
just use it in-place.  This saves ~308bytes of memory.

Prior to this there were 4 profiles in ram all the time, the 3 main
profiles and a copy of one of them.

This commit was aided by a side effect of the work done to clean up the
output of the cli dump command since it is now easy to conditionally
apply the changes to the memory addressed used to read/write cli
variables.  See 8c3a869251.
Conflicts:

	src/main/io/serial_msp.c
2014-08-22 22:05:35 +01:00
dongie bc34fc3744 making boxes[] in serial.c static const to move them to rodata and free ~200bytes RAM 2014-08-22 22:01:29 +01:00
Dominic Clifton 71e7feebd9 Move 'boxes' out of ram and into flash - saves quite a bit of ram. 2014-08-22 22:01:04 +01:00
Dominic Clifton 8ebdb245c2 Instead of copying a profile from the master config into memory again,
just use it in-place.  This saves ~308bytes of memory.

Prior to this there were 4 profiles in ram all the time, the 3 main
profiles and a copy of one of them.

This commit was aided by a side effect of the work done to clean up the
output of the cli dump command since it is now easy to conditionally
apply the changes to the memory addressed used to read/write cli
variables.  See 8c3a869251.
2014-08-22 21:53:23 +01:00
dongie b85c5243db making boxes[] in serial.c static const to move them to rodata and free ~200bytes RAM 2014-08-22 21:06:37 +01:00
Dominic Clifton 11a00e2697 Move 'boxes' out of ram and into flash - saves quite a bit of ram. 2014-08-22 21:05:55 +01:00
Dominic Clifton f7b6ed901e Merge branch 'master' into msp-on-multiple-ports 2014-08-22 19:19:42 +01:00
Dominic Clifton f1af9d434f Removing cruft from makefile that was accidentally committed when
working on the CJMCU target.
2014-08-22 19:19:20 +01:00
Dominic Clifton 13af9f8ff9 Delete unused code. 2014-08-20 14:52:37 +01:00
Dominic Clifton 8d5b2283ec Reduce code size and ram usage of PWM supervisor code. 2014-08-20 14:51:20 +01:00
Dominic Clifton c0a349ed60 Fix PWM failsafe by monitoring for missing pwm rise/fall signal events. 2014-08-20 01:32:27 +01:00
Dominic Clifton aa719dfe4f CJMCU - Use 64k/128k flash specific linker scripts scripts 2014-08-18 21:04:35 +01:00
Dominic Clifton acc285be4a CJMCU - Update PPM/PWM mappings.
Bench tested for PPM & 4 Motor outputs only.
2014-08-18 21:03:51 +01:00
Dominic Clifton 349b20186d Comment cleanup 2014-08-18 19:09:12 +01:00
Dominic Clifton 0b353341f8 Limit MSP ports to 2 for normal usage scenarios. 2014-08-14 00:50:17 +01:00
Dominic Clifton 7453e98b3b Update serial and msp code to allow MSP on multiple ports.
Work in progress.  In testing using bluetooth on uart2 and uart1
connected to configurator it was observed that there is corrupted
responses being sent via uart2 - ez-gui shows some garbled data for the
box names.  updates appear sluggish in ez-gui but some correct data is
getting through.

Enabled with:

set serial_port_2_scenario = 8
save
2014-08-14 00:38:42 +01:00
Dominic Clifton 871f3024af OLIMEXINO - Document shield sonar port pinout. 2014-08-13 22:27:20 +01:00
Dominic Clifton c41d28c5dc Mention Flip32+ in sonar docs. 2014-08-13 22:04:48 +01:00
Dominic Clifton d0338eac19 Cleanup sonar support for Naze/Flip32/Olimexino. Add Sonar
documentation.
2014-08-13 22:01:39 +01: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
Dominic Clifton 95852d0bdf CC3D - Change the default alignment of the board to match the default
open pilot alignment.

This makes it easier for new users to adopt cleanflight without having
to look up the alignment cli settings or rotate their boards in their
existing aircraft.

See discussion here:

http://forums.openpilot.org/topic/43569-baseflightcleanflight-ported-to-cc3d/?p=360886
2014-08-13 17:53:05 +01:00
Dominic Clifton 6ff9483425 Avoid using initialialised pointer in sonar interrupt handler. 2014-08-13 16:24:20 +01:00
Dominic Clifton 98e51fb2dc Replace qsort with simple bubble sorting function to reduce code size. 2014-08-08 00:33:58 +01:00
Dominic Clifton dc0f461c73 Update serial port handling for boards with only 2 ports. 2014-08-07 23:32:14 +01:00
Dominic Clifton 5871f90465 Adding buzzer documentation. 2014-08-07 20:55:38 +01:00
Dominic Clifton de64e19db7 Adding CC3D and Naze32 preliminary docs. 2014-08-07 20:42:48 +01:00
Dominic Clifton 8c6c14b343 Update documentation. 2014-08-07 20:21:16 +01:00
Dominic Clifton b01724681a CC3D - Support USART3 instead of USART2.
This has highlighted that the existing codebase is quite targeted
towards systems that use USART1 and 2.  Annoyingly the inverter is on
USART1 and the sbus code requires callbacks so still won't work yet.
2014-08-07 19:17:46 +01:00
Dominic Clifton 9906294cd8 Split navigation functionality from io/gps.c into flight/navigation.c.
gps.c now only has code that deals with gps hardware, state and
messaging.
navigation.c  now only has code dealing with flight
navigation/waypoints/home/hold/etc
2014-08-07 14:23:05 +01:00
Dominic Clifton fe9df45a24 Latest binary with fixed current sensor. 2014-08-06 22:13:56 +01:00