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
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
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
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
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
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
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
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
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
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
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
James Cotton
5a6e02a688
Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next
2012-05-25 20:37:23 -05: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
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