1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-18 22:05:17 +03:00
Commit graph

8126 commits

Author SHA1 Message Date
Dominic Clifton
e79438d930 Fix editor mishap in current meter conflict resolution.
See e6fdfd3c32
2014-05-30 11:09:41 +01:00
luggi
e6fdfd3c32 current sensor support added
also optimized the vbat code a bit

Conflicts:
	src/config.c
	src/drv_adc.c
	src/drv_adc.h
	src/mw.c
	src/mw.h
	src/sensors.c
	src/serial_cli.c
2014-05-30 10:46:14 +01:00
dongie
4e3ab221ac increased ADC sample time to 239.5 cycles (~10uS at 24MHz ADC clock). 2014-05-30 09:49:16 +01:00
dongie
a3476cf59c Remove FY90Q support.
Conflicts:
	Makefile
	src/board.h
	src/drivers/adc_fy90q.c
	src/drivers/pwm_fy90q.c
	src/drv_adc.h
	src/sensors.c
	src/startup/startup_stm32f10x_md_fy90q.s
2014-05-30 09:45:15 +01:00
dongie
0e80dbf025 reformat I2C driver and align comments. add timeout checking and move hardware reinit common code into separate function.
moved nvic priority group init into drv_system, where it belongs

Conflicts:
	src/drivers/system_common.c
	src/drv_i2c.c
2014-05-30 09:38:03 +01:00
dongie
31297de7fa remove i2c driver function calls and directly read/write I2C->DR
Conflicts:
	src/drivers/bus_i2c_stm32f10x.c
2014-05-30 09:29:43 +01:00
Dominic Clifton
4e7aa1b4b6 Merge remote-tracking branch 'origin/autotune' 2014-05-30 09:04:13 +01:00
Dominic Clifton
e083a3266d Decreasing autotune max oscillation value since a value of 4 was found
to always cause P to increase.
2014-05-30 09:01:37 +01:00
luggi
5cc9750d12 current sensor support added
also optimized the vbat code a bit
2014-05-30 08:58:54 +02:00
dongie
d050c7df0c fixed ADC initialization with skipped channels - spotted by Lux.
Also increased ADC sample time to 239.5 cycles (~10uS at 24MHz ADC clock).
2014-05-30 03:18:58 +02:00
Crashpilot1000
65e4d89d44 Update telemetry_frsky.c
Correct Frsky Gps output format DDDMM.MMMM
2014-05-29 20:27:26 +02:00
dongie
3d39ece50f Remove FY90Q support. Dead hardware, not even available anymore, and doesn't offer anything over already cheap acroafro. 2014-05-29 11:38:20 +09:00
dongie
8b6ff25bdb reformat I2C driver and align comments. add timeout checking and move hardware reinit common code into separate function.
moved nvic priority group init into drv_system, where it belongs
2014-05-29 11:07:52 +09:00
dongie
61f18a122d remove i2c driver function calls and directly read/write I2C->DR 2014-05-29 09:28:09 +09:00
Dominic Clifton
bbfebc5de9 Updating HoTT GPS Altitude code to match spec.
Unit test added.
2014-05-28 21:32:13 +01:00
Dominic Clifton
79a90b09ef Merge remote-tracking branch 'multiwii/master'
Conflicts:
	src/board.h
	src/drv_timer.c
	src/mw.c
	src/sensors.c
2014-05-28 21:04:02 +01:00
Dominic Clifton
5913266ce0 Update autotune comments, defaults and functional description. Add
reference to sources.
2014-05-28 20:36:53 +01:00
Dominic Clifton
695c6a0628 Enable writing to EEPROM when using the autotune switch after landing. 2014-05-28 20:13:13 +01:00
Dominic Clifton
4a23491d49 Introduce better naming consistency for some union members. remove type
prefix from a typedef.

Conflicts:

	obj/cleanflight_OLIMEXINO.hex
	src/flight_common.c
2014-05-28 20:13:13 +01:00
Dominic Clifton
3b347fa839 Introduce better naming consistency for some union members. remove type
prefix from a typedef.
2014-05-28 19:49:42 +01:00
Dominic Clifton
bd3d853b61 Reorder code to remove not operator and improve readability. 2014-05-28 19:10:37 +01:00
Dominic Clifton
d0ec7e25ce Merge branch 'master' into autotune
Conflicts:
	obj/cleanflight_CHEBUZZF3.hex
	obj/cleanflight_NAZE.hex
	obj/cleanflight_OLIMEXINO.hex
2014-05-28 13:37:40 +01:00
dongie
88036ec551 remove unnecessary averaging of PWM/PPM rc input 2014-05-28 17:30:55 +09:00
dongie
0028fa2ce4 re-enable hardware i2c; update NVIC priority to use define from CMSIS instead of magic 0x500 number 2014-05-28 17:29:06 +09:00
Dominic Clifton
5484e5fddd Replace PWM RSSI with ADC RSSI.
The primary reason is to support the D4R-II with it's much faster PWM
frequency.  The PWM RSSI code could not keep up, and since there are no
timers free for using capture compare of PWM signals in hardware one
solution is to use the ADC at a slow sample rate.

RC2 is used as before and it expects a signal between 0 and 3.3v.  An
inline smoothing capacitor may help.

This commit also removes the cli command adc_power_channel since the
reading was never actually exposed anywhere.
2014-05-28 03:30:53 +01:00
Dominic Clifton
bc84f6d5d4 Update autotune so it now actually changes the pid values.
This commit also fixes a few missing const keywords after the map file
was inspected.
2014-05-27 21:20:29 +01:00
Dominic Clifton
2cf686b36b If auto tune was used, and the user landed the aircraft, then before it
is used again it must be reset.

Otherwise the first flip of the switch would start the next phase which
could mean that PID settings were restored.
2014-05-27 18:11:55 +01:00
Dominic Clifton
0280e96a9a Replace unused runtime warning beep code with autotune beep code. 2014-05-27 18:11:55 +01:00
Dominic Clifton
4c764aacf4 Autotune phase changes.
Add an additional phase to allow previous pid settings to be restored,
in flight, after auto tuning.
2014-05-27 18:11:55 +01:00
Dominic Clifton
f7c38af7fc Initial commit for implementation of autotune. 2014-05-27 18:11:55 +01:00
Dominic Clifton
4f5d32af36 Disable ADC debug output 2014-05-27 18:11:46 +01:00
Dominic Clifton
4c9f9093b8 Disable ADC debug output 2014-05-27 18:02:26 +01:00
Dominic Clifton
b957def2f3 Fix powerAdcChannel on STM32F1.
Initialisation of ADC was incorrect.
2014-05-26 17:50:33 +01:00
Dominic Clifton
57aab9ec0c Disable HoTT debug output. 2014-05-26 13:31:27 +01:00
Dominic Clifton
5ccb0ecf36 Fix PPM support when using 8 channels on STM32F10x.
This was broken when 12 channel support was added in combination with
the STM32F3 support.
2014-05-26 13:31:19 +01:00
dongie
09b7268ec1 hardware divider supports up to 8S, make it so in the code as well. 2014-05-26 20:24:14 +09:00
Dominic Clifton
8f6558156f Update HoTT GPS coordinate calculations.
It was broken for South/West values.

Added additional tests for maximum long/lat values.

Requires field testing to make sure values are correct on the telemetry
display.
2014-05-26 02:15:06 +01:00
Dominic Clifton
37051720fd Updating I term for newpid to be 0.6f for a more locked-in feeling, as
per Lux's feedback.
2014-05-26 01:06:03 +01:00
Dominic Clifton
17dd005047 Updating the L3GD20 scale factor and resolution based on Lux's comments
and feedback.  

Apparently 500 is 'not enough unless you're just hovering'.  2000 is
needed.

Previously the scale factor was guessed, incorrectly.
2014-05-26 01:03:55 +01:00
Lukas S
cffdfb782c new Baseflight PID
full gyro scale is used now
and a new pid with float calculations was added based on PIDrewrite
eeprom size was also increased from 1kB to 2kB

Conflicts:

	src/config.c
	src/drivers/accgyro_l3g4200d.c
	src/drivers/accgyro_mpu3050.c
	src/drivers/accgyro_mpu6050.c
	src/flight_imu.c
	src/mw.c
	src/mw.h
	src/serial_cli.c
	src/serial_msp.c
	src/utils.c
	src/utils.h
2014-05-25 15:31:30 +01:00
Dominic Clifton
88254fa736 Refactor telemetry MSP.
BOXNAMES is repeated in case the first transmission is never received.

Each time sendMspTelemetry is called it executes one and only one
command.  There was nothing wrong with the old approach which sometimes
sent more than one command each time sendMspTelemetry was called but
this is simpler and there is far less duplication.
2014-05-25 00:44:16 +01:00
Dominic Clifton
e5c5339306 Merge branch 'master-cleanflight-msptelemetry' of github.com:treymarc/baseflight into treymarc-master-cleanflight-msptelemetry
Conflicts:
	src/serial_msp.h
	src/telemetry_common.h
2014-05-25 00:32:41 +01:00
treymarc
ac520b0676 usf hardware fpu with target stm32f30x 2014-05-24 20:40:12 +00:00
Dominic Clifton
10279c0178 Updated GPS logitude/latitude calculation.
The existing implementation that was ported over was trying to work with
different values.  By writing a unit test for the code that stores
values in GPS_coord it was possible to have known values which could
then also be used to write a unit test for the HoTT telemetry which
finally enabled production code to be written.

Hopefully it will work, unable to test further since my GPS unit is
playing up.
2014-05-24 21:16:02 +01:00
Dominic Clifton
b0e1c934d4 Adding unit test for some gps conversion code to demystify it. 2014-05-24 17:54:57 +01:00
Dominic Clifton
b81f73cb5d HoTT code cleanup. 2014-05-24 15:59:50 +01:00
Dominic Clifton
7c48eb9487 Change the HoTT telemetry update to 5hz. 2014-05-24 00:07:50 +01:00
Dominic Clifton
1925df26ca Add RSSI PWM on CH2 input.
Also support FrSky 1khz RSSI.  See documentation also added in this
commit.

This commit also cleans up the PWM mapping code.  'mask' didn't need to
be a mask and it wasn't possible to add another 'type' since there were
only 4 possible values when it was a mask and they were already defined.  
Combined with switching to using 16 bits instead of 8 for the mapping
configurations, it's now possible to have 256 types instead of 4 at the
expense of a few bytes of flash.

Moved the RSSI calculation into rx_common.c, previously it was in the
main loop.
2014-05-24 00:01:59 +01:00
Dominic Clifton
f232b831d2 Replace cli command gps_initial_baudrate_index with gps_baudrate.
The index is not really a user concern and leads to confusion.  gps
baudrate is not set like any other baud date and the determination of an
appropriate index is hidden from the user.

If the user specifies a baudrate that is not supported the default index
is used which is current the index for 115200.

This also allows GPS to work on softserial ports at up to 19200.
2014-05-23 11:54:00 +01:00
Dominic Clifton
d6c1ce323d BUGFIX - Warning LED / arm prevention code fixes.
The old code was using f.ACC_CALIBRATED to mean 'flash the warning led'
and 'prevent arming'
There was another flag called f.OK_TO_ARM which really meant 'prevent
arming after failsafe unless using a switch to arm' - this meant the
comment in the code was incorrect since it did not mention the switch.
There was code which every ~71 minutes would set f.ACC_CALIBRATED to
FALSE and would toggle the LED, even when flying.
There was code that was run during every cycle that did not need to be
run when armed.
There was code that was run during every cycle which did not need to be
run when waiting for calibration to finish.
The warning light was toggled regardless of actual accelerometer
calibration state.

This commit fixes all that and prevents the user from arming after a
failsafe landing until the system is reset, regardless of wether a
switch is used to arm or not.

This commit also flashes the warning led during barometer calibration
and will not let you arm until it has completed.

Add a 5 second delay on startup to failsafe to prevent failsafe from
activating in the case of TX/RX gear with long bind procedures before
they send out valid data.

Failsafe now only prevents re-arming if a landing was forced.

In the case when you power on your RX without your TX on the beeper
sounds and failsafe warning ligts are activated.  When the FC then
detects a signal the lights go off and you can then arm.
2014-05-22 22:46:54 +01:00