1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-10 18:24:11 +01:00
Commit Graph

1264 Commits

Author SHA1 Message Date
James Cotton
300cee44b4 RM SBUS: There is no pull down on the inverter direction so when not SBUS must explicitly set to off. 2012-08-31 11:01:34 -05:00
James Cotton
b888a137f0 TOFIX: Temporarily remove the transaction lock from the settings as it was causing a deadlock with the radio coms. 2012-08-26 05:02:14 -05:00
James Cotton
042055b29a RFM22b: Call the pendingISR routine from all the user space tasks. Got a valid connection with this. 2012-08-26 04:18:17 -05:00
James Cotton
f7cda1c0c4 RFM22b: No need to initialize the SPI. Done already. 2012-08-26 02:42:18 -05:00
James Cotton
477385ca25 RFM22b: Start to move the ISR into userspace 2012-08-26 02:41:19 -05:00
James Cotton
b1bd6d8583 PIOS_RFM22b: No need to set the SPI clock speed in the RFM22b module - it can be set by the driver configuration. 2012-08-26 00:00:39 -05:00
James Cotton
84d327c46a RFM22b: Claim the bus semaphore before reading and writing. 2012-08-25 23:17:52 -05:00
James Cotton
2bb4f860e1 Shuffle around the PACKET_HANDLER definition so we can more easily disable the Radio module. 2012-08-25 22:58:11 -05:00
James Cotton
b95a78cde5 Roll back changes on the revo target 2012-08-25 17:33:14 -05:00
James Cotton
76bdb190d8 Link in the rfm module to the target 2012-08-25 17:27:17 -05:00
James Cotton
982750a58f Merge remote-tracking branch 'revo/brian/revo_link' into revo-mini
Conflicts:
	ground/openpilotgcs/src/plugins/plugins.pro
2012-08-25 15:05:47 -05:00
James Cotton
5c34412200 Merge remote-tracking branch 'revo/amorale/revolution_baro_fixes' into revo-mini 2012-08-25 14:55:10 -05:00
Brian Webb
415b86879c Added the RFM22B driver to the Revo to support an RFM22B radio on the external SPI port. 2012-08-25 11:45:43 -07:00
Brian Webb
fad32dcc29 Split out the PipX radio interface from RadioComBridge module to a separate Radio module. Now the RadioComBridge module just routes messages between the com ports and handles sending/receiving the PipX UAVOs. 2012-08-25 11:41:32 -07:00
James Cotton
b9050809cc Add a board info file for revo mini. However it was to remap the define MAINADAPTER for the HMC5883 driver which needs rewriting not to need this. 2012-08-25 12:57:50 -05:00
a*morale
789746151a Fixes the selection of the oversample settings from the pios_ms5611_cfg.oversapling configuration 2012-08-25 11:29:01 +02:00
Stacey Sheldon
1f1b240b2a Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-08-20 21:22:02 -04:00
James Cotton
44dc01126e Merge branch 'next' into revo 2012-08-12 16:12:54 -05:00
Stacey Sheldon
29ab1d8cf3 actuator: factor out settings updates from main loop 2012-08-11 19:46:00 -04:00
Stacey Sheldon
49c153003c hid joystick: use linearly scaled channels
Scales each channel only based on max and min calibrated values.
The neutral value is now ignored so the joystick sees a linear
range between min and max.

This is particularly useful to allow the full range of values for
throttle to be passed through to the joystick.
2012-08-10 23:36:06 -04:00
Stacey Sheldon
07fde38887 hid joystick: factor out min/max range from report items 2012-08-10 23:29:34 -04:00
Stacey Sheldon
5902c19cc3 hid joystick: compress local usages since they're all in the same page 2012-08-08 10:38:43 -04:00
Stacey Sheldon
030d9e84f9 hid joystick: remove unnecessary usage page definitions 2012-08-08 10:15:08 -04:00
Stacey Sheldon
449c7aab7a hid joystick: use 32-bits to represent max range 2012-08-08 00:50:03 -04:00
Stacey Sheldon
94f6344fc5 hid joystick: restructure joystick HID report to work on windows 2012-08-07 21:34:25 -04:00
Stacey Sheldon
017d8c79c9 hid joystick: add missing .c file
This time for sure...
2012-08-06 11:49:03 -04:00
Stacey Sheldon
d44e24a150 hid joystick: add missing .h files 2012-08-06 11:42:44 -04:00
Stacey Sheldon
ef0c12b1b6 hid joystick: emulate a USB HID joystick using RC Transmitter
Adds a new RCTransmitter setting for the USB HID interface which
emulates a USB HID joystick.  The scaled RC receiver channels
from any RCVR protocol are passed through to the various emulated
joystick controls.

The main use for this feature is to allow you to use your own RC
transmitter with any RC simulator on a PC.

This is known to work with CRRCsim but should work with any simulator
that supports joystick input.
2012-08-05 21:45:27 -04:00
James Cotton
652647fc87 Make autotuning module optional 2012-08-03 09:37:46 -05:00
Sambas
e59f99bc8e Wave audio player test app. 2012-07-30 11:45:36 +03:00
Sambas
52c3627bb2 OSD uSDcard support, settings save/load works (tested on 128MB card). booting takes some time for some reason. 2012-07-30 11:45:22 +03:00
Sambas
ad0473e646 proper use of i2c transfer, return 0 is all ok, original code locked the transfer when all ok. 2012-07-30 11:41:25 +03:00
Sambas
79be7613b5 CC mag&baro for OSD, bmp needed some black magic hacking 2012-07-30 11:40:16 +03:00
James Cotton
f02aacfeb6 Change the constant so LED flashing works properly on Revo 2012-07-28 11:22:24 -05:00
James Cotton
735c009843 Disable writing to the overo driver for every pios_com write again. It drives
up system consumption too much, although now data will get lost :(.
2012-07-25 13:15:47 -05:00
James Cotton
30085d23ff Reenable sending from the overo tx method but no longer yield since we aren't
using a blocking write anyway.
2012-07-24 11:29:24 -05:00
James Cotton
a90dd1ef5c For now do not call PIOS_OVERO_WriteData from the Tx method because this is too
slow (task yield?) and results in a lot of event system errors.
2012-07-24 11:18:58 -05:00
James Cotton
26f07c21f6 Fix the pios_overo driver for compiling against the bootloader 2012-07-23 10:07:42 -05:00
Stacey Sheldon
f5db83bd20 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Libraries/inc/NMEA.h
	flight/Modules/GPS/GPS.c
	flight/Modules/GPS/NMEA.c
	flight/Modules/GPS/UBX.c
	flight/Modules/GPS/inc/NMEA.h
	flight/Modules/GPS/inc/UBX.h
	flight/Modules/PathPlanner/inc/pathplanner.h
	flight/PiOS/STM32F10x/link_STM32103CB_PIPXTREME_sections.ld
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/UAVObjects.inc
	flight/SimPosix/UAVObjects.inc
	ground/openpilotgcs/src/plugins/hitlv2/aerosimrc/src/qdebughandler.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/gpsvelocity.xml
2012-07-22 23:39:37 -04:00
James Cotton
c5904b4667 Clean up the pios_overo driver. Working well now. 2012-07-20 13:57:47 -05:00
James Cotton
bcdd5a8bba Fixes to the overo module where it was thinking the fifo buffer writes failed 2012-07-20 13:45:31 -05:00
James Cotton
5091b16065 Needs work but it's sending data now 2012-07-20 11:36:49 -05:00
James Cotton
337f0e8bfa Properly enable circular buffering on the overo spi 2012-07-20 10:59:18 -05:00
James Cotton
6a3c067c18 Zero out the packet counter when pios_over is initialized. 2012-07-20 10:45:20 -05:00
James Cotton
fb215fd095 PiOS overo driver wasn't setting it's id and also clearing the DMA IRQ flags 2012-07-20 10:17:57 -05:00
James Cotton
6b3e5573a0 The overosync module now uses pios_com interface. 2012-07-20 09:46:28 -05:00
James Cotton
8fc2d10ea6 Get the pios_overo driver for pios_com compiling 2012-07-20 09:32:22 -05:00
Kenz Dale
1d976b3095 dded support for multiple airspeed sources. Added GPS airspeed estimation. Extended BaroAirspeed UAVO. Added new AirspeedSettings UAVO. 2012-07-20 13:08:54 +02:00
James Cotton
1c4c373b86 Begin rewriting pios_overo to look like a standard com layer 2012-07-20 03:42:09 -05:00
James Cotton
7492d34d25 Merge branch 'overo_control' into revo 2012-07-19 08:35:39 -05:00
James Cotton
5ebd368b18 Merge branch 'next' into revo
Conflicts:
	flight/PiOS/STM32F10x/link_STM32103CB_PIPXTREME_sections.ld
2012-07-19 08:35:30 -05:00
James Cotton
2f64124da8 Updates to the pios_overo driver to fully reinit the dma and spi device between
packets
2012-07-17 17:21:28 -05:00
James Cotton
db27653859 Make the Overo module use the new driver 2012-07-17 16:11:23 -05:00
James Cotton
a6ba379af9 PIOS_OVERO driver which handles the communications to the overo and ensures the
data stays in frame.
2012-07-17 15:34:54 -05:00
James Cotton
92a0311b32 New pios_overo driver that handles the SPI communications to the overo 2012-07-17 13:31:00 -05:00
James Cotton
719772c98a Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-07-16 11:42:29 -05:00
James Cotton
6b101d71af Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-07-15 12:32:35 -05:00
James Cotton
ce6bebceb6 Also strex needs to not clobber it's register to have predictable results.
OPReview-227
2012-07-14 19:47:03 -05:00
Michael Hope
fa3aa20e05 ld: make sure current pointer never goes backwards
Fixes linking on ld version 2.22.  Identical to 3cbf4499.
2012-07-14 19:47:03 -05:00
Michael Hope
0efb24a54b The destination register of an exclusive store must be
different from both the value and address register.  Fix building with
recent binutils by marking the result as early clobber.
2012-07-14 19:47:03 -05:00
James Cotton
8d4e221412 Remove the disable IRQ commands in PIOS_COM since they aren't needed. 2012-07-13 11:54:12 -05:00
James Cotton
d150fd5331 Merge branch 'next' into revo
Conflicts:
	flight/Modules/ManualControl/manualcontrol.c
	ground/openpilotgcs/src/plugins/config/input.ui
	ground/openpilotgcs/src/plugins/uavtalk/telemetry.cpp
	shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-13 10:40:14 -05:00
Brian Webb
3fabdb9963 Fixed conflicted merge with origin/next. 2012-07-11 19:25:05 -07:00
Stacey Sheldon
54a161a3d4 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-08 18:14:09 -04:00
Laura Sebesta
0a34b786a9 Modified pios_adc.c to remove race condition by which the ADC value was reset to 0. 2012-07-08 22:23:05 +02:00
Laura Sebesta
4f20a0f9a1 Added drivers for analog airspeed sensors: MPXV5004 and MPXV7002. 2012-07-08 21:46:59 +02:00
Stacey Sheldon
2396eaef5a uavobjectmanager: simplify new embedded metadata objects
Simplifies some of the code that handles the
metadata objects which are now embedded within
the data UAVOs.
2012-07-07 21:49:53 -04:00
Brian Webb
3405bc3ebe Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-30 10:06:51 -07:00
Brian Webb
10e52b31c5 Added the ability on the PipX to specify if a comport is used to connect to the GCS (ground side), so it will receive status, etc, or UAVTalk (flight side). The data passing in RadioComBridge was also made more uniform, which allows for easier reconfiguration. 2012-06-30 10:06:28 -07:00
James Cotton
cd311642dd Merge branch 'next' into revo 2012-06-28 10:35:47 +02:00
Stacey Sheldon
154d971d4d flash: don't call vTaskDelay() before OS init
PIOS_Flash_Jedec_EraseChip is called during early
init when the table_magic has changed.  This call
happens on CC/CC3D prior to the OS being initialized
so it is not OK to call vTaskDelay() yet.

This was leading to boards locking up (no flashing blue
LED) immediately after jumping to the application when
the table_magic had changed or was being init'd for the
very first time.
2012-06-24 12:23:34 -04:00
Stacey Sheldon
f475088585 Merge remote-tracking branch 'op-public/next' into revo-next 2012-06-20 22:45:41 -04:00
James Cotton
f8d196ffe8 Added support for board voltage monitor to battery module.
The module can be configured to enable what's needed from board voltage, battery voltage and battery current measurement.
In GCS the POWER box in system healt will show alarm related to the supply voltage to the board.
If a power warning/critical alarm is raised, the warning condition is left even if the board voltage return to an acceptable value.

Conflicts:

	ground/openpilotgcs/share/openpilotgcs/diagrams/default/system-health.svg
	shared/uavobjectdefinition/systemalarms.xml
2012-06-15 19:43:34 -05:00
James Cotton
01d47d6373 Accidental semicolon led to MPU6000 always failing self test. Another bug
masked that behavior.  I suck.
2012-06-11 12:22:24 -05:00
James Cotton
a029fc4656 Merge branch 'next' into revo
Conflicts:
	Makefile
2012-06-11 12:05:38 -05:00
James Cotton
93b77becc0 More the system task priority down and increase the timeout for erasing the
flash so it says completed.  However, it still blocks the system for a long
time.  During an erase the heartbeat will flash at 10 Hz to indicate what's
happening.

This still blocks telemetry even after lowering hte system priority (and there
is a vTaskDelay) which makes me think that the SPI bus being locked is blocking
Sensors or somethign else.  This should not be permited when the system is
armed.

The reason the system locks up during the erase is that the file system
operations occur within the event dispatcher thread.  It is very bad practice
for anything to block this (i.e. callbacks should never take very long).  We
should probably move the object persistence handling into the system thread or
something but that can be a separate issue.
2012-06-11 12:03:32 -05:00
James Cotton
821a25e419 For now make the F4 PIOS_ADC return an error code if there is no new data in
the ADC buffer.  This should be handled appropriately by the caller.
2012-06-11 09:22:04 -05:00
Stacey Sheldon
c73cffce59 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	Makefile
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/Revolution/System/inc/pios_config.h
	package/Makefile

Fixed CRLF line end clobbering in:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/Common/pios_usb_util.c
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/PiOS/inc/pios_rfm22b_priv.h
	flight/PiOS/inc/pios_usb_util.h
2012-06-10 19:01:11 -04:00
James Cotton
f5845cb037 Fix self test for MPU6000 so it returns negative values per our standard 2012-06-09 11:18:14 -05:00
James Cotton
f5b2575c88 Merge branch 'next' into revo
Conflicts:
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/Revolution/System/inc/pios_config.h
	package/Makefile
2012-06-07 12:45:06 -05:00
James Cotton
7b8110a457 Merge branch 'MikeL' into next 2012-06-07 11:31:41 -05:00
James Cotton
c689bcfb80 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-06-07 09:49:18 -05:00
Brian Webb
861bcc46fe Fixed RSSI reporting on PipX. 2012-06-06 21:14:31 -07:00
Brian Webb
e9d0909a68 Further improvements in link reliability on the PipX. 2012-06-06 17:44:56 -07:00
James Cotton
5e01617cbd Merge branch 'next' into MikeL
Conflicts:
	ground/openpilotgcs/src/plugins/config/airframe.ui
	ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp
	ground/openpilotgcs/src/plugins/config/configoutputwidget.h
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.h
2012-06-06 11:58:06 -05:00
Brian Webb
5876df250d Improved lockups on dropped packets. 2012-06-05 21:10:32 -07:00
Brian Webb
25fe50e9b1 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-04 18:26:05 -07:00
Mike LaBranche
0ba8345c51 Merge branch 'next' into MikeL
Conflicts:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/Revolution/System/inc/pios_config.h
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 16:59:31 -07:00
Mike LaBranche
bf591ebe45 Merge branch 'next' into MikeL
Conflicts:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/Revolution/System/inc/pios_config.h
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 15:38:57 -07:00
James Cotton
9f93c9cbec Get PIOS_GCSRCVR working on revo 2012-06-04 09:48:05 -05:00
James Cotton
9707c6152a Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-06-03 19:13:01 -05:00
James Cotton
71e14a691e Merge branch 'next' into revo 2012-06-03 19:00:51 -05:00
James Cotton
e8cf606f16 Add the chip size to the flashfs configuration (should probably go in the chip
configuration)
2012-06-02 11:00:42 -05:00
Sambas
06a814c8a9 Fixing most warnings from osd fw 2012-06-02 15:52:38 +03:00
Sambas
d6216cf02b Graphic features and cleanup
osdinput module back to irq based usart
2012-06-02 12:46:09 +03:00
Brian Webb
df8a5f8f27 Changed update period for PPM inputs on the PipX. Fixed LED code. 2012-05-31 18:56:07 -07:00
James Cotton
ed2b9f1f63 Make PIOS_LED init it's GPIO clocks so it doesn't rely on startup code 2012-05-30 10:12:40 -05:00
Sambas
ed1a4dada6 Merge remote-tracking branch 'remotes/origin/sambas/osd_test_v1' into revo-next
Conflicts:
	flight/PiOS/STM32F4xx/pios_adc.c
2012-05-30 16:30:09 +03:00
Sambas
e72e913e02 F4 cpuid fix, RM says flash size comes from same base address. who knows? 2012-05-29 22:17:31 +03:00
Sambas
7f1e392e83 some graphic fixes and ntsc defines 2012-05-29 17:55:30 +03:00
James Cotton
564c442ac8 Remove some code from Zippe that used a timer to trigger the ADC. We might do
this again in the future but we need to generalize the configuration.  For now
the ADC is fairly simple requirements on revo for battery monitoring.
2012-05-28 20:28:48 -05:00
Sambas
147100bc2f Merge remote-tracking branch 'remotes/origin/revo-next' into osd_test_v1
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-28 19:06:25 +03:00
James Cotton
8a6073fbaf Merge remote-tracking branch 'revo/revo-next' into testing
Conflicts:
	Makefile
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/task.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/portable/GCC/Posix/port_posix.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
	flight/Revolution/Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp
	shared/uavobjectdefinition/taskinfo.xml
2012-05-28 09:13:26 -05:00
Corvus Corax
978ab5b96c Merge remote branch 'origin/stac/etasv3' into revo-next 2012-05-28 12:56:27 +02:00
Stacey Sheldon
5c114aedd5 pipx: apply fixes that allow pipx to build with new gcc 2012-05-27 21:38:33 -04:00
Stacey Sheldon
c719d5b6cf f4 adc: allow PIOS ADC to be properly excluded from the build
This was preventing the BL image from building
2012-05-27 21:36:56 -04:00
Stacey Sheldon
33e7e775c7 Merge remote-tracking branch 'op-public/next' into revo-next 2012-05-27 20:39:58 -04:00
Sambas
7eefe83335 Cleanup and fix 2012-05-26 13:38:01 +03:00
James Cotton
5a6e02a688 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-05-25 20:37:23 -05:00
Sambas
a9cfc4a0af *float sprintf
*h/v deadbands
2012-05-25 21:12:03 +03:00
Brian Webb
b824c87056 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-25 06:26:29 -07:00
Brian Webb
701a480f01 Tuning configutation of PipX. 2012-05-24 18:08:29 -07:00
Brian Webb
a434688b42 Zero out watchdog register on init. 2012-05-24 18:04:42 -07:00
Sambas
a3b9451bcd Merged some stuff to make original hardware work better 2012-05-24 20:14:15 +03:00
James Cotton
b3150500d5 Change the buffers to byte buffers and update most of the drawing code to use
it accordingly.  Large fonts broken.
2012-05-24 18:25:09 +03:00
James Cotton
fef6567cff Clock the SPI device with bytes. Image is now totally stable. 2012-05-24 18:23:05 +03:00
James Cotton
8411b9cc98 Remove the disable IRQ commands in PIOS_COM since they aren't needed. 2012-05-24 18:04:49 +03:00
Stacey Sheldon
dff43d5156 board_info: add guard for multiple includes of .h file 2012-05-22 21:50:53 -04:00
Brian Webb
8b98d48fc4 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-22 06:27:45 -07:00
Stacey Sheldon
dab400c80d usb: decouple "available" from "cable connected"
The bootloader needs to understand whether the USB cable
is connected.  The HID and CDC drivers need to know if
the cable is connected _and_ the device has been enumerated
already.  Separate these two concepts in the API.

Combining these was resulting in the BL not properly
detecting that the cable was plugged in, and trying to boot
the firmware image immediately.  This effectively bricked
the board if you ever had an invalid firmware image.

It also happens to be the case that the BU images automatically
invalidate themselves after updating the BL so they don't run
again.  The cable detect bug + this intended behaviour of the
BU image resulted in a bricked board after upgrading the BL.
2012-05-22 00:21:24 -04:00
Brian Webb
6cb13aa2ba Fixed failed merge with next. 2012-05-20 18:36:08 -07:00
Brian Webb
2f1a9e3e7d Added PPM input to the PipXtreme. Also added configurable GCSReceiver timeout. 2012-05-20 18:30:37 -07:00
Stacey Sheldon
d7d670036b usb: make sure USB device is off limits until it has been init'ed
USB device was being accessed prior to being initialized.
This resulted in a hard-fault or NMI when using any endpoint
beyond 0 or 1 which are init'ed by the BL.  This broke VCP which
is on endpoint 2 (control) and 3 (data).

This bug was introduced in 5ad37e69 which stopped checking the
transfer_possible variable.
2012-05-20 13:28:16 -04:00
Stacey Sheldon
698ea8e86e usb util: Add common utility functions for USB descriptors
Make a home for generic functions related to USB.
2012-05-19 16:14:10 -04:00
Stacey Sheldon
3e0a9bc47e usb: Change supported LANGID in USB descriptor to be English US
Some versions of Windows will ignore the USB device serial number
if the string is not delivered with LANGID = English US 0x0409.

This is true regardless of the configured locale of the machine.
2012-05-19 16:12:34 -04:00
Stacey Sheldon
b905607dc7 serial: use defines for serial number lengths
Use #defined sizes for returned serial number lengths instead
of hard-coded values.
2012-05-19 16:06:48 -04:00
Stacey Sheldon
ba8d60301c usb: remove run-time selectable device descriptors
BL images now always use hid-only.

FW images can use hid-only or hid+vcp but this is selected
ONLY at compile time based on whether PIOS_INCLUDE_USB_CDC
is defined.

CC uses HID+VCP by default now.
2012-05-19 16:06:48 -04:00
Stacey Sheldon
48cb20dc81 hid+vcp: change default USB descriptor to HID+VCP
Now that we have a USB descriptor for HID+VCP that works
on Ubuntu 11.10, MacOS 10.7.3, Win7-SP1-32bit,
WinXP-SP3-32bit, Win7-SP1-64bit.

VCP is known to not work on WinXP without service pack 3.
2012-05-19 16:06:30 -04:00
zedamota
eb83afdcf1 Working compliant VCP+HID descriptors for Windows. 2012-05-19 15:40:46 -04:00
Brian Webb
00a83f3984 Reverted change to link_STM32103CB_PIPXTREME_memory.ld 2012-05-18 19:08:44 -07:00
James Cotton
af8d65616e Comment out some unused variables in the PIOS_ADC structure for now since they
were consuming lots of memory.  Probably should make a simple adc version that
just queries the line when needed since we are only using this data at 500 ms.
However, the accumulator scheme in place is quite good for averaging over time.
2012-05-15 03:48:32 -05:00
James Cotton
bbb14f5f14 Trying to get F4 PIOS_ADC working. Changed from previous implementation timed
by another timer to running continuously.  May go back to the previous since no
need to get tons of data.
2012-05-15 03:19:44 -05:00
Brian Webb
563b454693 Fixed compiling of PipX bootloader. 2012-05-13 20:19:04 -07:00
Brian Webb
ec67742ff6 Added configuration of COM ports on PipX. 2012-05-12 13:16:36 -07:00
James Cotton
65065f2588 Fix the ADC code on the BL for revolution 2012-05-12 13:12:56 -05:00
James Cotton
848f1b0e29 For some reason the gyro needs 300 ms after reset in order to work after the
bootloader jumps to code.  Nothing in datasheet to imply what.
2012-05-12 13:00:51 -05:00
Brian Webb
1f5dbcf57c Mostly complete PipX configuration GUI. 2012-05-11 17:51:18 -07:00
James Cotton
0f2c41ac5d Merge branch 'revolution' into navigation
Conflicts:
	flight/Modules/ManualControl/manualcontrol.c
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-05-07 21:53:10 -05:00
Sambas
dedbbec8f0 Make guidance support my Y6, also caused telemetry/usb RXdatarate go thru the roof (Guidance Warning). Almost impossible to change dataframe type to supported one with clean board.
USB interrupt fix.
Heap warning critical sizes backwards.
2012-05-07 12:51:07 -05:00
Brian Webb
454144f46c Pairing and saving settings working. 2012-05-06 20:47:21 -07:00
Brian Webb
3cf4fe6512 Reverted some USB changes. 2012-05-05 10:10:40 -07:00
Brian Webb
480371a43e Resolving merge with origin/next 2012-05-05 09:53:54 -07:00
Brian Webb
e83fec0463 Merged latest origin/next. 2012-05-05 09:40:44 -07:00
James Cotton
513c36f19a Update the F4 ADC to compile again. Still not fully compliant with API but
then again API is not great and unused currently so no rush.
2012-05-04 21:37:46 -05:00
James Cotton
3155324384 Merge branch 'next' into cc3d
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/config/configahrswidget.cpp
	shared/uavobjectdefinition/ahrscalibration.xml
	shared/uavobjectdefinition/ahrssettings.xml
	shared/uavobjectdefinition/attituderaw.xml
2012-05-03 16:31:49 -05:00
Brian Webb
8da4b9c745 Merge remote-tracking branch 'origin/stac/pt-win-vcp-fix' into Brian-PipXtreme-V2 2012-05-02 06:42:30 -07:00
Brian Webb
290acf0398 Fixed watchdog timeouts. 2012-05-01 20:48:35 -07:00
Brian Webb
217aad8c37 Now using read and write threads for both radio and com ports on PipX. Also cleaned up UAVTalk message handling. 2012-05-01 19:14:58 -07:00
James Cotton
3f63051df8 PiOS ADC: This could still use a lot of cleanup and needs to be implemented in
the non-FreeRTOS case but now the ADC device is allocated dynamically which
means CC3D won't waste heap on it.
2012-05-01 11:11:31 -05:00
Brian Webb
84a19ebeab Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-04-28 19:30:35 -07:00
Brian Webb
25ffb99cee Added initialization of flash eeprom for saving settings to PipX. 2012-04-28 19:29:56 -07:00
Brian Webb
1048eb7e2c Added pios_eeprom for saving settings. 2012-04-28 19:29:25 -07:00
James Cotton
f06439ecf5 Fix a bug in calculating air temperature in baro sensor when it goes below 20
deg C.
2012-04-22 18:43:07 -05:00
Stacey Sheldon
2ec197298b gpio: stop enabling pull-ups on all GPIOs in bootloader
The bootloader has been enabling pull-ups on all GPIO
pins during early init.  These pull-ups are disabled
immediately before jumping to the firmware.  This transition
results in all servos seeing a wide pulse as the board
resets making them jerk sideways aggresively and then snap
back to neutral.
2012-04-22 18:42:53 -05:00
Stacey Sheldon
14cc9ef57c ppm: adjust min frame pulse width for 8ch x 18ms frames
All channels at max when using the FrSKY 4ch D4FR in PPM
mode results in the frame pulse shrinking well below our
threshold of 3800us and we lose frame.

With all 8 channels at max, the frame pulse becomes
indistinguishable from the other channels.  Using all 8
channels with the FrSKY in PPM mode is NOT recommended
even after this change.

Recommend using at most 7 active channels in this mode so
we can still find the frame pulse.
2012-04-22 18:42:45 -05:00
Brian Webb
f726cc6a9d Added a RTC supervisor timer to RFM22B driver. 2012-04-21 18:31:49 -07:00
Stacey Sheldon
41d4ba4b1a hid+vcp: change default USB descriptor to HID+VCP
Now that we have a USB descriptor for HID+VCP that works
on Ubuntu 11.10, MacOS 10.7.3, Win7-SP1-32bit,
WinXP-SP3-32bit, Win7-SP1-64bit.

VCP will is known to not work on WinXP without service pack 3.
2012-04-20 08:39:04 -04:00
zedamota
4968df183a Working compliant VCP+HID descriptors for Windows. 2012-04-20 08:38:24 -04:00
Corvus Corax
d125abf335 Baro calibration 2012-04-18 10:48:31 +02:00
Brian Webb
62c5036220 Added PipXStatus and PipXSetting UAVobjects and some initial support for them. 2012-04-17 17:36:05 -07:00
Corvus Corax
3da88601a1 Airspeed module works, needs conversion 2012-04-17 20:32:56 +02:00
Corvus Corax
c5a6ed7486 add missing headers and makefile entries 2012-04-17 16:25:39 +02:00
Stacey Sheldon
6a37e433b6 etasv3: Add driver for Eagle Tree Airspeed Sensor v3 2012-04-17 09:39:00 -04:00
Stacey Sheldon
853600a2ef i2c: enable flexiport i2c on revolution 2012-04-17 09:38:27 -04:00
Stacey Sheldon
62fb009acd gpio: stop enabling pull-ups on all GPIOs in bootloader
The bootloader has been enabling pull-ups on all GPIO
pins during early init.  These pull-ups are disabled
immediately before jumping to the firmware.  This transition
results in all servos seeing a wide pulse as the board
resets making them jerk sideways aggresively and then snap
back to neutral.
2012-04-16 14:41:25 -04:00
Stacey Sheldon
5ca4ec7934 ppm: adjust min frame pulse width for 8ch x 18ms frames
All channels at max when using the FrSKY 4ch D4FR in PPM
mode results in the frame pulse shrinking well below our
threshold of 3800us and we lose frame.

With all 8 channels at max, the frame pulse becomes
indistinguishable from the other channels.  Using all 8
channels with the FrSKY in PPM mode is NOT recommended
even after this change.

Recommend using at most 7 active channels in this mode so
we can still find the frame pulse.
2012-04-16 14:33:28 -04:00
Brian Webb
4936cd8fd2 Added PipXStatus and PipXSettings UAVObjects and added support the sending/receiving UAVTalk objects on the PipX. 2012-04-10 20:22:53 -07:00
Brian Webb
e639d173a0 Create ID from a hashed CPU serial number. 2012-04-07 19:41:23 -07:00
Brian Webb
7b49a6b820 Added watchdog to radio com bridge in PipXtreme. 2012-04-07 19:12:49 -07:00
Brian Webb
0f9f897870 Added PPM packet to packet handler, created replacement system module for PipXtreme (PipXtreme module), removed all UAVObjects from PipXtreme, and added parsing of incoming (over USB/COM) UAVTalk stream. 2012-04-07 18:17:32 -07:00
Sambas
d399469b88 Last push before summit 2012-04-07 14:30:04 +03:00
Brian Webb
56a2006fd8 Reconfigured to run on the real PipX board. 2012-04-06 18:44:31 -07:00
Brian Webb
eeb96955f9 Fixed ADC configuration 2012-04-06 17:43:43 -07:00
Brian Webb
bc1adb2519 Some cleanup of rfm22 driver. 2012-04-06 17:36:35 -07:00
James Cotton
6c004678d5 Need a really big telemetry queue size on revo for object manager not to choke.
Probably should slow down how quickly AltHoldSmoothed is set.
2012-04-06 13:22:30 -05:00
Brian Webb
fff93910e2 RFM22B device now fully interrupt driven. Packet handeling moved to RadioComBridge module. 2012-04-05 20:24:50 -07:00
James Cotton
c8ceea72e6 Increase the telemetry queue size from revolution 2012-04-03 03:42:32 -05:00
James Cotton
e82323af32 Make revolution work with the FreeRTOS queue based MPU6000 driver 2012-04-03 03:41:52 -05:00
James Cotton
d7cb232315 Add MPU6000 accel range to config structure. Also put in correct values. 2012-04-03 02:07:04 -05:00
James Cotton
35854b35f6 MPU6000 accel value coming out twice as high as it should. Need to store scale
in cfg structure to fix this properly.
2012-04-03 02:07:04 -05:00
James Cotton
a960f3d07e Switch the MPU6000 driver to using a FreeRTOS queue. Need to update Revo code
to take advantage of this.
2012-04-03 02:07:03 -05:00
James Cotton
1415728762 Get the MPU6000 CC3D working. Right now the ADC system is commented out, which
will break regular CC.
2012-04-03 02:07:03 -05:00
Stacey Sheldon
eab923fee0 revo: move fw image into 128KB sectors
This saves the more versatile 16KB and 64KB sectors
for other purposes.
2012-03-28 21:52:43 -04:00
Stacey Sheldon
91cffb1809 f4 usb: don't skip yield from ISR
Function was returning prior to the code that might
need to yield from within the ISR.
2012-03-27 00:18:44 -04:00
Sambas
4c6ee740e2 Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test_v1 2012-03-25 14:28:25 +03:00
Stacey Sheldon
730defb698 f4 flash: fix flash voltage range setting in bl_helper
F4 boards are powered by 3.3V which corresponds to
VoltageRange_3.  Fix this to match actual VDD so we
get faster erase/write times.
2012-03-22 22:37:31 -04:00
James Cotton
c7ff2a46c7 Merge remote-tracking branch 'origin/laurent/modelview' into revolution
Conflicts:
	flight/CopterControl/Makefile
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configgadgetwidget.h
2012-03-22 02:58:24 -05:00
Brian Webb
823b111d60 Added Reed-Solomon error correction to PipXtreme. The code is a slight modification of rsscode (http://rscode.sourceforge.net). Packet acking has also been turned on as the default, so each packet is error corrected, and if errors remain, the packet is NACKed, otherwise it is ACKed. Also temporarily turned off UAVTalk parsing. This was causing the CC to be identified as a PipX due to the PipX sending UAVObjects (I believe) from the system module. The system module is going to have to be modified/replaced for the PipX. 2012-03-18 17:43:29 -07:00
Brian Webb
ecdf150946 Moved RFM22B code from PipXtreme to pios_rfm22b.c driver. The radio is now passing data. 2012-03-18 10:22:05 -07:00
Brian Webb
78b622a8d8 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into PipXtreme 2012-03-15 19:31:18 -07:00
Brian Webb
b34b849453 Added start at a modified PipX packet handler. 2012-03-15 19:29:54 -07:00
Sambas
4afe0e7c92 usb interrupt fix 2012-03-12 18:26:23 +02:00
James Cotton
bbbca319d8 Merge commit 'c4df0c0ceff8ba985bb20d815f27910b9e59d992' into revolution 2012-03-11 13:14:06 -05:00
Alessio Morale
c4df0c0cef Support for port remapping on serial ports
Support for receiver configuration (PPM, PWM and DSM)
There are still problems with Flexi port (not sure if related to a problem with my board) and Uart/SBUS that has the input always inverted.
2012-03-11 18:38:49 +01:00
Sambas
2ca27b0a27 USB and bootloader stuff, WORKS!! 2012-03-11 12:04:44 +02:00
Sambas
742f3ff24d Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test
Conflicts:
	ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-11 09:39:51 +02:00
Sambas
ccf5c310c9 Updates 2012-03-11 09:27:38 +02:00
Stacey Sheldon
3782cdc58e bu: drop CC and PipX from BU targets since they don't build
The CC and PipX bootloader updater (BU) builds don't currently
work due to some recent changes in how LEDs are handled.

Remove them from the default BU targets so that the all_flight
target can build clean again.

Also fix a linker warning in OP build.
2012-03-10 20:41:15 -05:00
Stacey Sheldon
3210bd3f9c f4 usb_dcd: disable FIFO empty IRQ while waiting for tx completion
CPU was being hammered with FIFO empty IRQs if we queued data but
the host wasn't actively draining the FIFO.

This was entirely unexpected so this hack should probably be
removed once we can figure out why this was happening.

This is almost certainly hiding some other issue.
2012-03-07 20:36:37 -05:00
Stacey Sheldon
c4bd286739 f4 usb_hid: track whether we have buffers queued on endpoints
Make sure we don't clobber our endpoint configuration by
double configuring an Rx or Tx buffer against it.  Wait for
the completion of the previous operation before allowing
endpoint configuration again.
2012-03-07 20:36:36 -05:00
Brian Webb
d73895de7d Working PipX com relay. 2012-03-07 18:05:42 -07:00
Stacey Sheldon
65fc6104e6 f4 usb_hid: ignore upper layers if USB IF not yet enabled
Upper (COM) layer was calling down into the HID layer before
the HID interface had been enabled.  This was leading to
interacting with the endpoint Rx and Tx FIFOs prior to init.
The FIFO config was then being clobbered when we the USB IF
was eventually enabled.
2012-03-07 20:01:35 -05:00
Stacey Sheldon
1f37806eab f4 usb_hid: fix typo in EP IN registration call
Code was using the size of the Rx buffer instead of the Tx
buffer when registering.  Buffers are currently the same
size so wasn't causing any issues.
2012-03-07 20:01:35 -05:00
Stacey Sheldon
bc3ee6209c f4 usbhook: drop in/out bit from EP numbers before using as index
USBHOOK endpoint callback arrays should not be indexed with the
0x80 (in/out) bit set.  Oops.
2012-03-07 20:01:35 -05:00
Stacey Sheldon
6832a62872 f4 bl_helper: clear all flash errors as we unlock the flash
Error flags being set were causing flash erase operations to
fail.  Not sure why these flags were set though so this might
be hiding some other problem.
2012-03-07 19:53:18 -05:00
Stacey Sheldon
4ea1156e7b f4 bl_helper: teach bl_helper about f4 flash sector map 2012-03-07 19:53:17 -05:00
Stacey Sheldon
d1d123e4f6 revo bl: turn on USB and add support for OP DFU protocol 2012-03-07 19:53:17 -05:00
Stacey Sheldon
c854c3f4a4 usbhook: add support in API for deactivating USB 2012-03-07 19:53:17 -05:00
Stacey Sheldon
cb9c3a9b7e usbhook: delete dead code
Remove old code left-over from porting from F1 to F4.
2012-03-07 19:53:17 -05:00
Stacey Sheldon
fdf54ab86c hid: fix response to HID descriptor
HID driver was incorrectly giving back the HID interface
descriptor when asked for the HID descriptor.  This should
let OP boards interact better with generic HID layer drivers
and also gives us nicer output in lsusb once the HID descriptor
is read.
2012-03-07 19:52:54 -05:00
Sambas
91a9e45888 Updates, first UAVtalk client test 2012-03-05 19:53:52 +02:00
James Cotton
7961aba83c Clean up a few more compiler warnings
Conflicts:

	flight/PiOS/Common/pios_ms5611.c
2012-03-03 13:32:56 -06:00
James Cotton
bc8b72623e Get rid of some unused variables 2012-03-03 11:54:09 -06:00
James Cotton
f20e5da9ed Merge branch 'next' into revolution
Conflicts:
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configrevowidget.h
	ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-03 11:41:41 -06:00
James Cotton
e3df261213 Merge branch 'stac/revo-usb' into revolution
Conflicts:
	flight/Revolution/System/pios_board.c
2012-03-02 13:00:13 -06:00
James Cotton
72a93dbae5 Fix from PT for OSX/Windows F4 USB HID to send the full report size even if not
all used.
2012-03-02 11:11:36 -06:00
Brian Webb
a0bdc58e5b Added framework for rfm22b com device. 2012-02-28 21:30:06 -07:00
Brian Webb
992aa3bec6 Updated PipX branch to use CDC device with a VCP (not working yet). 2012-02-25 09:07:37 -07:00
Brian Webb
01f314724b Updates to USB configuration on the PipXtreme. 2012-02-24 15:54:26 -07:00
Brian Webb
483a96c31d Some more cleanup to PipXtreme codebase. 2012-02-24 07:49:41 -07:00
Brian Webb
b69b285f58 Fixed PipXtreme bootloader. 2012-02-23 20:40:24 -07:00
Brian Webb
182f285e60 Added missing startup file for PipXtreme. 2012-02-23 20:06:34 -07:00
Brian Webb
cf34baec69 Some cleanup on PipXtreme codebase. 2012-02-23 19:58:23 -07:00
Brian Webb
f0dfba6fc0 Re-baslined the PipX codebase using the experimental Transmitter codebase. 2012-02-21 20:29:06 -07:00
Sambas
ebd2ae7e59 Bootloader, copy from revo, not functional 2012-02-18 22:35:13 +02:00
Sambas
8f45114b1f Fixes & cleanup 2012-02-15 21:14:02 +02:00
Sambas
0bc08a48d8 cleanup 'n' updates 2012-02-14 21:42:09 +02:00
James Cotton
d018d93e88 Clean up previous commit a bit and make the sampling rate a variable (and adapt
the sampling time accordingly).
2012-02-13 01:49:54 -06:00
James Cotton
3acbfbe96c Convert the pressure sensor code to most of the calculations as int64 to retain
precision.
2012-02-13 01:22:48 -06:00
Sambas
8cc876d02a OSD branch 2012-02-12 22:29:42 +02:00
James Cotton
d8f0494e57 Merge branch 'revolution' into revolution_overo 2012-02-11 20:02:20 -06:00
Alessio Morale
22b211167c Ported pios_iap.c to F4
restored failed boot count check on pios_board.c for revo
2012-02-11 13:49:32 +01:00
Stacey Sheldon
e2939dae2a revo usb: Add support for USB to Revo 2012-02-07 02:25:31 -05:00
Stacey Sheldon
3c1b1001f9 f4 usb: Allow USB descriptors to be const through ST APIs 2012-02-07 02:25:31 -05:00
Stacey Sheldon
56102013aa f4 usb: correct function prototypes in bsp template
This file is not actually used but it should still be accurate.
2012-02-07 02:25:31 -05:00
Stacey Sheldon
57f9f6e3d1 f4 usb: configure and build ST USB OTG and USB DEV libraries 2012-02-07 02:25:31 -05:00
Stacey Sheldon
1e79ed6d54 f4 usb: fix invalid reference to stm32f4_discovery.h 2012-02-07 02:25:31 -05:00
Stacey Sheldon
04b81f13a7 f4 usb: fix invalid references to stm32f2xx.h 2012-02-07 02:25:31 -05:00
Stacey Sheldon
266b95561f f4 usb: rename device template to real config file 2012-02-07 02:25:30 -05:00
Stacey Sheldon
a4ae844f2b f4 usb: rename otg template to real config file 2012-02-07 02:25:30 -05:00
Stacey Sheldon
58bbe0870d f4 usb: allow device->host data to be const
This allows the application code to pass const
descriptors to the Tx APIs in the STM32 USB
library.
2012-02-07 02:25:30 -05:00
Stacey Sheldon
4b911bb3be f4 usb: remove unused device class examples 2012-02-07 02:25:30 -05:00
Stacey Sheldon
efbe8bbfdd f4 usb: convert all line endings to LF-only
Line ending changes only.  No functional changes.
2012-02-07 02:25:30 -05:00
Stacey Sheldon
6a43d1c7ed f4 usb: Import pristine STM32F4 USB Library v1.1.0
Taken from version STM32F4-Discovery_FW_V1.1.0 of the
library from ST.
2012-02-07 02:25:30 -05:00
Brian Webb
3f66afd74a Removed emacs mode header from pios_gcsrcvr.c 2012-02-04 08:42:16 -07:00
Stacey Sheldon
4fafbb13ed makefile: Add EF (Entire Flash) targets for all boards
These new build targets will construct a flash image that
includes both a bootloader as well as a firmware image all
in one.  Examples:
  make ef_coptercontrol
  make ef_revolution

This also adds support for a new target for writing this EF
image to boards that support a DFU interface (only F4-based
boards).  This can be done by running:
  make dfuutil_install
  # Boot board with SBL asserted to activate STM32 DFU ROM
  # Attach USB cable
  make ef_revolution_dfu

Bootloader images are also now padded out to occupy the full
BL flash region.
2012-02-03 00:59:36 -05:00
Brian Webb
a314604f9b Added failsafe to GCS Receiver device. 2012-02-02 19:59:42 -07:00
James Cotton
18a64e261f Going a bit overkill with this - deinit who SPI block between transactions. 2012-02-02 12:32:57 -06:00
James Cotton
03cfb1453a DeInit SPI DMA between transactions. Somehow if this doesn't happen the next
transaction doesn't start at the beginning again.  Something is still not quite
right because first few bytes aren't getting across.  Need logic analyzer.
2012-02-02 11:37:35 -06:00
James Cotton
77a6abb341 For PIOS_SPI F4 do not enable the TX irq. Also do not wait for the
transmission to finish either.
2012-02-02 11:24:14 -06:00