Stacey Sheldon
d2615cac96
hw_defs: hide board-rev differences in LED definitions
...
Every board has at least one LED (HEARTBEAT). Not all
users of LEDs need to be directly aware of which LED
configuration to choose when there may be more than one
possible configuration.
Hide the details of the differences between LEDs used in the
different HW revs for CC. This will allow generic code to
run on CC and CC3D without being exposed to the details of
the different pins used for the LEDs.
2012-05-23 00:22:11 -04:00
Stacey Sheldon
b97aba834a
cc3d leds: move pin remapping into led definition
...
The LED driver supports GPIO remapping. No need to
do the remapping outside of the LED definition.
2012-05-23 00:12:51 -04:00
Stacey Sheldon
dff43d5156
board_info: add guard for multiple includes of .h file
2012-05-22 21:50:53 -04:00
Corvus Corax
64c1ac3bd6
Stabilization: Bugfix: moved queue initialisation to TaskStart where it belongs
2012-05-22 22:19:31 +02:00
Corvus Corax
7f334a9773
SimPosix: make use of compile time uavobjecto initialization function generation
2012-05-22 22:06:26 +02:00
Corvus Corax
31da29a24b
Reenabled full UAVObject initialization for SimPosix
2012-05-22 21:22:59 +02:00
Corvus Corax
3e5741abea
SimPosix: Remove unneeded modules from Makefile to allow test run
2012-05-22 18:45:23 +02:00
Corvus Corax
9aca773714
SimPosix: Reenabled File IO for UAVObject saving
2012-05-22 18:32:52 +02:00
Corvus Corax
0d23e78762
PiOS.posix: added missing header definition to use FreeRTOS tasks in udp driver if applicable
2012-05-22 18:32:47 +02:00
Corvus Corax
e16a42b672
SimPosix: Fixed Module Initialisation, added missing UAVObject Initialisations (cause segfaults if not initialised)
2012-05-22 18:32:41 +02:00
Corvus Corax
5727d5714e
Created new "SimPosix" board and ported PiOS.posix to revolution API and more "standard like" configuration akin to other "boards"
2012-05-22 18:32:27 +02:00
Corvus Corax
414310fcba
test add of SimPosix architecture - doesnt work yet
2012-05-22 18:28:42 +02:00
Brian Webb
8b98d48fc4
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-05-22 06:27:45 -07:00
Stacey Sheldon
3b0508e753
bu: check compatibility btw BL and HW before installing
...
CC and CC3D boards share the same FW image. This is accomplished
by checking the BOARD_REVISION field in the board_info_blob
that is stored in the BL partition in flash as we init the FW.
Make sure that the BU image only writes a BL image that has
the same BOARD_TYPE and BOARD_REVISION fields in the embedded
image as the ones currently in flash on the board.
This ensures that we never write a CC3D BL image onto a CC board
and vice versa. This check should prevent "bricking" a board.
2012-05-22 00:33:40 -04:00
Stacey Sheldon
e063bb0490
bl: use new USB "cable connected" API to halt in BL
...
BL only cares about the physical cable being connected.
Use the newly provided API that matches this intent.
2012-05-22 00:24:16 -04: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
6e359c5933
Added PipX to Windows .inf file and updated ppm port definitions.
2012-05-21 19:22:46 -07:00
Brian Webb
e57543ec29
Updated USB on PipX to latest CDC changes.
2012-05-20 19:34:43 -07: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
7e6a222a8e
usb serial: refactor serial number construction
...
Use new PIOS_USB_UTIL_AsciiToUtf8() function to compose the
USB serial number rather than repeating that code for each
board.
All boards now append "+FW" or "+BL" to their USB serial numbers
to allow the descriptors to differ between FW and BL images.
2012-05-19 16:15:47 -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
19367730c0
usb: remove null termination on serial number string
...
The serial number string descriptor was incorrectly null
terminated. The standard clearly states that there should
not be a null terminator.
Use new #defines to ensure that our strings are sized
properly.
2012-05-19 16:06:49 -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
d4b0475f6a
usb-descriptors: add +BL or +FW suffix to serial number string
...
This makes the BL and FW images distinct devices with unique
serial numbers.
Windows (and maybe Mac) remembers the device descriptors and
the associated drivers based on this serial number. Providing
unique serial numbers for the BL and FW images allows us to
provide different sets of descriptors for the BL and FW images
without confusing these OSes.
BL version number is now also bumped to reflect the new
serial number generation algorithm.
2012-05-19 16:06:44 -04:00
Stacey Sheldon
461d4a2ddd
hid+vcp: Add Windows INF file for CDC on OpenPilot boards
2012-05-19 16:06:43 -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
6a7179120d
Fixed setting of PipX description, and changed gcs receiver object to be update on change on flight side so that it works on the PipX.
2012-05-19 09:25:11 -07:00
Brian Webb
00a83f3984
Reverted change to link_STM32103CB_PIPXTREME_memory.ld
2012-05-18 19:08:44 -07:00
Brian Webb
c25884bcaf
Cleanup on the PipX branch.
2012-05-18 17:42:25 -07:00
Brian Webb
68d66d4181
Fixed firmware description in PipX status.
2012-05-17 20:35:17 -07:00
Brian Webb
6fbc3339d5
Fixed processing of UAVTalk packets when in transparent com mode.
2012-05-17 18:37:45 -07:00
Brian Webb
44a1663eb9
Fixed transparent comm on PipX.
2012-05-16 19:02:53 -07:00
Brian Webb
7082eda175
Fixed returning status for currently paired modem.
2012-05-15 20:11:52 -07:00
Brian Webb
93ec7c11a6
Fixed race condition on getting packets.
2012-05-15 19:38:14 -07:00
Corvus Corax
badf509d1d
UAVObjects: switched around order of update modes to give each bit semantic meaning - important to allow usage of a bitfield type later
2012-05-15 18:21:27 +02:00
Brian Webb
bb491b8a3f
Fixed bootloader on PipX.
2012-05-14 06:57:16 -07:00
Brian Webb
31069d8858
Small mod to flash saving.
2012-05-13 20:20:17 -07:00
Brian Webb
563b454693
Fixed compiling of PipX bootloader.
2012-05-13 20:19:04 -07:00
Brian Webb
a3269aaf2f
Reverted some file permission changes.
2012-05-13 14:24:57 -07:00
Brian Webb
68d12b1b2f
Fixed some bugs with setting PairIDs in GCS.
2012-05-13 14:24:00 -07:00
Brian Webb
dd03b0b159
Added reporting of stats from the remote modem.
2012-05-13 09:34:21 -07:00
Brian Webb
ec67742ff6
Added configuration of COM ports on PipX.
2012-05-12 13:16:36 -07:00
zedamota
817ce9327f
flight - fix pipxtreme bootloader compile
2012-05-12 12:57:15 +01:00
Brian Webb
1f5dbcf57c
Mostly complete PipX configuration GUI.
2012-05-11 17:51:18 -07:00
Oleg Semyonov
a3906aa7ea
Merge remote-tracking branch 'origin/hhrhhr/AeroSimRC_plugin' into os/aerosimrc
2012-05-07 16:09:35 +03:00
Brian Webb
454144f46c
Pairing and saving settings working.
2012-05-06 20:47:21 -07:00
Brian Webb
352471857f
Reverted USB configuration and switched all non-blocking COM calls to blocking, which appears to help prevent lockups now that all sends are in a different thread.
2012-05-06 15:07:07 -07:00
Brian Webb
ef4828032b
Fixed failed merge with next.
2012-05-06 12:38:13 -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
3ef01569b8
Merge remote-tracking branch 'origin/kenz/PT_UI_fixes' into next
...
Conflicts:
flight/OpenPilot/System/openpilot.c
shared/uavobjectdefinition/positionactual.xml
shared/uavobjectdefinition/positiondesired.xml
shared/uavobjectdefinition/velocityactual.xml
shared/uavobjectdefinition/velocitydesired.xml
2012-05-04 13:21:23 -05:00
James Cotton
a9b8e74b0d
Disable LEDs on the bootloader update as without knowing the particular
...
hardware revision it cannot know which pios_led_cfg_ structure to use.
Possibly this should be abstracted further into board_hw_defs to create
functions like board_init_led.
Also the BU should probably compare the hw_revision of the original and new
bootloader to make sure the user doesn't break their board.
2012-05-04 08:53:14 -05:00
James Cotton
d93bf5d2a2
Clean up the XCode project
2012-05-03 22:20:00 -05:00
Brian Webb
44d95003f3
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-05-03 17:56:08 -07: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
James Cotton
07a5d98020
Merge remote-tracking branch 'origin/Brian-Metadata-Mods' into next
2012-05-03 08:50:24 -05:00
Brian Webb
249ededcfd
Added responding to OBJ_REQ and sending ACK/NACK on PipX.
2012-05-02 20:51:29 -07:00
Brian Webb
22f48ce8b0
Exposed the Send ACK/NACK function in UAVTalk.
2012-05-02 20:42:37 -07:00
Brian Webb
30d63b5b12
Merged USB CDC updates.
2012-05-02 06:45:24 -07: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
James Cotton
311cbe37d2
Reenable PIOS_ADC for coptercontrol
2012-05-01 00:30:41 -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
Brian Webb
aab47d6ed4
Final updates to throttled mode and further memeory reduction in the object manager and event dispatcher to reflect smaller data sizes in metadata.
2012-04-22 14:56:26 -07:00
Brian Webb
ed1937958e
Changed PipX UAVTalkProcessInputStream calls to UAVTalkProcessInputStreamQuiet.
2012-04-22 08:45:01 -07:00
Brian Webb
fb6dedad2b
Added UAVTalkProcessInputStreamQuiet function, which is a version of UAVTalkProcessInputStream that only processes (does not sens or receive).
2012-04-22 08:43:51 -07:00
Brian Webb
f726cc6a9d
Added a RTC supervisor timer to RFM22B driver.
2012-04-21 18:31:49 -07:00
Brian Webb
5a2a3ad49b
Fixed changes to UAVTalkProcessInputStream.
2012-04-21 16:54:35 -07:00
Brian Webb
eb6f175af4
Fixed metadata settings in object browswer, and removed update mode never from all uavobjects that used it (changed to manual).
2012-04-21 11:59:14 -07:00
Laura Sebesta
6feb198437
Improved comment message, aimed at beginners.
2012-04-20 17:10:16 -04:00
Stacey Sheldon
b255e7caaa
hid+vcp: Add Windows INF file for CDC on OpenPilot boards
2012-04-20 09:02:40 -04: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
Brian Webb
19166cc830
Added UPDATEMODE_THROTTLED to UAVObjects update modes.
2012-04-18 18:47:13 -07:00
Brian Webb
62c5036220
Added PipXStatus and PipXSetting UAVobjects and some initial support for them.
2012-04-17 17:36:05 -07:00
Brian Webb
78c7416bda
Added returning of UAVTalk state from UAVTalkProcessInputStream
2012-04-16 20:21:00 -07:00
Stacey Sheldon
7f03a77492
bu: remove LED support from bootloader updaters
...
Bootloader updaters were all broken due to recent
changes in LED configuration handling. Removing
LED support from the BU loads allows them to build
again, but they provide no feedback about when they're
finished writing flash.
2012-04-16 15:09:10 -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
James Cotton
b0ef456ccb
Kickstart MPU6000 if there is no data
2012-04-13 20:29:41 -05:00
James Cotton
a0d1b00ade
Cover an edge condition for the MPU6000 IRQ not firing
2012-04-13 19:37:30 -05: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
3914d22b09
Turned off watchdog timer, which was crashing on real PipX.
2012-04-07 19:56:12 -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
f4d886de75
Added support for determining when the radio->com link is between UAVTalk packets. This is required to inject UAVTalk messages into the message stream.
2012-04-07 18:17:57 -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
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
253de47967
Merge remote-tracking branch 'raid/Brian-PipXtreme-V2' into Brian-PipXtreme-V2
2012-04-06 17:37:31 -07:00
Brian Webb
bc1adb2519
Some cleanup of rfm22 driver.
2012-04-06 17:36:35 -07: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
e82323af32
Make revolution work with the FreeRTOS queue based MPU6000 driver
2012-04-03 03:41:52 -05:00
James Cotton
bb41bc1472
Add no for DIAG_TASKS to make file to make it easier not to miss.
2012-04-03 02:07:04 -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
3346e848e0
Attitude error timeout was 2 ms when sensors at 500 Hz. Caused lots of errors
...
and overwhelmed event system.
2012-04-03 02:07:04 -05:00
James Cotton
3f22ef8c66
Slow MPU6000 on CC3D to 500 Hz
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
8032130769
Slow down gyro a bit on CC to give the CPU some breathing room. Might need to
...
come down more.
2012-04-03 02:07:03 -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
James Cotton
a0b7453580
Make the firmwareIAP variable not a global
2012-04-03 02:07:03 -05:00
Stacey Sheldon
9b33be5d65
ef: pad any gaps between the BL bank and the FW bank
...
The Entire Flash (EF) image for revo has a gap between
the end of the BL bank and the start of the FW bank.
This fills the gap with 0xFF and properly aligns the
FW image in flash.
2012-04-01 22:39:27 -04:00
Brian Webb
df0a1c2ac1
Upgraded Brian-Metadata-Mods to current next.
2012-04-01 12:25:13 -07:00
Brian Webb
496a323b7f
Fixed indentaion.
2012-03-31 07:59:44 -07: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
f971fc14d5
openocd: update to latest git snapshot (f1c01333)
2012-03-27 00:53:27 -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
Corvus Corax
0742c88a98
enabled optional rtation of Revolution board
2012-03-26 05:25:52 +02:00
Corvus Corax
d32dd0ccd4
Fixed fmod() versus fmodf() usage in flight/...
2012-03-26 04:16:54 +02:00
Brian Webb
1669f00456
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-03-24 15:21:16 -07:00
Brian Webb
23f6c8af73
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-03-23 20:49:12 -07: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
8059004755
Make sure if an event has a null handle and the queue is full we don't try and
...
query UAVObjID
2012-03-22 10:46:30 -05: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
James Cotton
2f8049e20a
Update the bootloader hw version for the mpu6000 board and make the sensor code
...
and initialization respond appropriately. Enable hte L3GD20 and BMA180.
Let the board type determine which is used.
2012-03-22 00:41:37 -05:00
James Cotton
6350ec575e
Merge remote-tracking branch 'origin/os/features/stick-deadband-next' into next
...
Conflicts:
ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
2012-03-21 16:03:40 -05:00
James Cotton
e7ca02c038
Initialize mag before mpu6000. Seems more reliable but I don't know why.
2012-03-21 03:42:15 -05:00
James Cotton
e4290d678b
Reenable the pressure sensor and other modules
2012-03-21 00:49:29 -05:00
James Cotton
720684c248
Flag to enable pressure/mag
2012-03-21 00:49:04 -05:00
James Cotton
a77a859e5c
Using some config switches to get this board up and running
2012-03-21 00:48:31 -05:00
James Cotton
6b88a278b3
Disable overosync by default. It was triggering event system warnings due to
...
the extra updates from altholdsmoothed. Increase queue size when reenabled.
Also AltHold is is trigger warnings because other tasks starve it during
startup.
2012-03-21 00:29:09 -05:00
James Cotton
f4663b98e4
When the event system or object manager has an error store the object ID in the
...
SystemStats.
2012-03-20 23:18:07 -05:00
Brian Webb
fc2d81cd8c
Added optional ADC initialization to PipXtreme (turned off).
2012-03-19 17:59:05 -07:00
Brian Webb
fdf853a2fe
Cleaned up the PipXtreme makefile.
2012-03-18 19:26:18 -07: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
aba3789d87
Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into Brian-Metadata-Mods
2012-03-18 13:28:11 -07:00
Brian Webb
346ae1bc6e
Removed crc from PipXtreme build.
2012-03-18 10:29:28 -07:00
Brian Webb
620e862022
Moved unused crc.c/h back to PipXtreme directory.
2012-03-18 10:26:47 -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
41c68a6f6b
Updates to PipX configration.
2012-03-15 19:51:46 -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
James Cotton
a319a6b14c
Flags to disable mag/baro init
2012-03-14 22:35:09 -05:00
James Cotton
0d42303d37
Fix some compilation errors/warnings in attitude.c
2012-03-11 16:30:18 -05:00
James Cotton
c8d1534b87
Convert inline functions to static, let the compiler figure it out. Also some
...
formatting since code was probably written with tabstop = 2 :)
2012-03-11 13:18:08 -05: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
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
6038bfcb40
revo servo: swap servo pins 3 and 4 definitions to match schematic
...
Note non-standard pin numbering on JP3 on the schematic.
2012-03-10 15:06:21 -05:00
James Cotton
820ca6a970
Initialize loop variable OUTSIDE loop so that baro is used still for altitude
...
hold.
2012-03-10 11:28:51 -06:00
James Cotton
f4705551b6
Update task info to cover the AltitudeHold module
2012-03-10 11:14:30 -06:00
Dmitry Zaitsev
d45e88515b
firmware: disable Attitude module in simulation
...
this part should be rewritten to completely disable the polling of sensors.
i just do not know how to do it correctly.
2012-03-10 06:02:23 +04:00
James Cotton
690f1b5f29
Enable camera stabilization
2012-03-08 01:37:34 -06: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
b8fcbad297
revo bl: remove unneeded code from revo BL
...
Clean up BL source tree and makefile.
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
e2ab662b5d
sysclk: pass in correct definition for HSE_VALUE
...
The code in RCC_GetClocksFreq() uses HSE_VALUE to determine
the tick rate of the SYSCLK. This in turn is used by the
code in PIOS_DELAY_* to compute delays.
ST Library defaults this to 25MHz for the F4. Our board
actually has an 8MHz oscillator so delays were way off.
Mostly affects the bootloaders since most FW code uses RTOS
delays rather than busy-waiting using PIOS_DELAY_*.
2012-03-07 19:52:54 -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
Brian Webb
444150269a
Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into PipXtreme
2012-03-05 18:22:08 -07:00
James Cotton
61d59828dc
Disable the new features if not revolution and set an error flag. Fixes
...
compilation errors.
2012-03-05 00:24:11 -06:00
Alessio Morale
637af911ef
Merge remote-tracking branch 'origin/james/revolution' into amorale/revolution
2012-03-04 12:31:13 +01: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
91a226fc12
Sometimes the mag stops updating so kickstart it
2012-03-03 13:31:46 -06:00
James Cotton
bc8b72623e
Get rid of some unused variables
2012-03-03 11:54:09 -06:00
James Cotton
b3f620af7c
Merge remote-tracking branch 'revo/stac/openocd' into revolution
2012-03-03 11:52: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
Stacey Sheldon
0684a42fac
build: use board-specific JTAG interface for openocd
...
Removes hard-coding of JTAG interface config in the
<board>_program make macros.
This allows the use of STLINKv2 for F4 boards while
continuing to use the FOSS JTAG revB on F1 boards.
2012-03-03 08:43:01 -05:00
Stacey Sheldon
d78c5d2a9a
openocd: reenable flash commands on f4 boards
2012-03-03 08:43:01 -05:00
Stacey Sheldon
c0c38609ec
openocd: move to newer openocd (dec6b913)
...
This update fixes flash writing on F4 chips
2012-03-03 08:43:01 -05:00
Alessio Morale
226cd09a13
Merge branch 'james/revolution' into amorale/revolution
2012-03-02 21:24:56 +01: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
Alessio Morale
e8880d7271
Removed duplicate InitClock for tim_4
2012-03-02 00:55:50 +01:00
Alessio Morale
691e8760bc
Updated OpenPilotOSX.xcodeproj to include Flight as a reference to the actual folder
2012-02-29 23:13:02 +01: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
e2cb750dc6
First cut on RadioComBridge module, which is intended to pass data from either a USART or a USB port to the PipX radio link.
2012-02-25 07:37:05 -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
Oleg Semyonov
2271b95816
Merge remote branch 'origin/next' into os/features/stick-deadband-next
...
Conflicts:
ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
ground/openpilotgcs/src/plugins/config/configtaskwidget.cpp
ground/openpilotgcs/src/plugins/config/configtaskwidget.h
2012-02-23 08:32:27 +02:00
Oleg Semyonov
e62cc8914c
Merge remote branch 'origin/next' into os/features/pid-tuning-from-transmitter-next
...
Conflicts:
flight/CopterControl/Makefile
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configtaskwidget.cpp
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
shared/uavobjectdefinition/hwsettings.xml
2012-02-22 23:03:17 +02:00
Brian Webb
f0dfba6fc0
Re-baslined the PipX codebase using the experimental Transmitter codebase.
2012-02-21 20:29:06 -07:00
Oleg Semyonov
403e9cd220
TxPID module: add ILimit values to the list of settings
2012-02-21 19:57:10 +02:00
James Cotton
7b548eaa54
Fix bug in the integral for altitude hold where it was accumulating wrong variable.
2012-02-21 00:40:55 -06:00
Brian Webb
43f6458f86
Reduced the sizeof the UAVObject metadata by:
...
1) Combining all binary or mode values into a single byte
2) Adding accessor functions to read/write the flag bits
3) Reduced the size of the time values from 32 bits to 16 bits
2012-02-20 18:45:18 -07:00
James Cotton
900780e10c
Add bias estimation to the altitude fusion algorithm. Necessary to increase
...
the gains on acceleration and velocity feedback terms (they are a problem when
biased).
2012-02-19 11:38:09 -06:00
James Cotton
47fac7e31c
Move the throttle setting code for alt hold into the fast accel loop.
2012-02-18 18:16:15 -06:00
Oleg Semyonov
c721d001c0
Subtract deadband offset from then input to still have fine control
2012-02-18 10:21:51 +02:00
James Cotton
7d4582e5f0
Update the altitude KF to use the updated measurements appropriately and check
...
in the relevant matlab code to check it and genererate it. Produces quite
smooth traces.
2012-02-16 05:33:47 -06:00
James Cotton
c957172f8f
In the case of swapping in userspace due to the buffer being blocked during
...
ISR, make sure the latency is less than 50 us to avoid framesync errors. Still
seeing a few nonsense packets on Overo side but fairly few. Probably need to
add CRC to whole packet now and call it done.
2012-02-14 11:06:16 -06:00
James Cotton
1930d092eb
In the case where the overo scheduler cannot swap buffers (userspace loading
...
it) then set a flag so as soon as the buffer is loaded then we schedule it.
2012-02-14 11:00:29 -06:00
James Cotton
f04c58b0f4
Make the overo transaction occur based on the rising edge of the NSS line.
...
This fixes most of the frame sync problems. However, it's a bit hacky as
there is currently hardware information inside a module.
2012-02-14 10:37:30 -06: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
James Cotton
4717af1afd
Swap telemetry port and gps ports back
2012-02-12 13:55:52 -06:00
James Cotton
f23f53dc4e
Add settings for the altitude kalman filter settings and init the state when
...
first measurement arrives
2012-02-12 09:07:27 -06:00
James Cotton
34ca5777dd
Kalman filter for altitude
2012-02-11 21:08:19 -06: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
James Cotton
3026527801
Now the desired altitude is relative to when the switch was flipped so that the
...
baro altitude module can use a smoothed altitude estimate for the starting
point.
2012-02-08 23:02:29 -06:00
James Cotton
80d602ef7b
Switch order of some commands to make sure it loads the correct hover throttle
2012-02-08 20:47:10 -06:00
James Cotton
ab41bae071
Separately smooth the error estimate from the derivative
2012-02-08 11:15:33 -06:00
James Cotton
60c951843d
Use backtracking to limit integral in altitude hold and smooth the velocity
...
error. Initialize the throttle integral better.
2012-02-08 10:39:31 -06:00
James Cotton
c6b1d6b8df
Rework the altitude hold code a bit
2012-02-08 09:42:10 -06:00
James Cotton
49a03a868b
Merge branch 'altitudehold' into revolution_overo
...
Conflicts:
flight/OpenPilot/UAVObjects.inc
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
flight/Revolution/Makefile
flight/Revolution/ins.c
2012-02-07 23:00:29 -06:00
James Cotton
6ec0f06c80
Back to 1024 byte packets
2012-02-07 13:02:11 -06:00
James Cotton
2c60447200
Switch back to 512 byte packets and fix bug when writing the header size that
...
was smashing the crc
2012-02-07 11:32:04 -06:00
James Cotton
221a0c5e53
Add the number of dropped updates to the overosync stats
2012-02-07 09:13:26 -06:00
James Cotton
a89d425b23
Reset the received rate for overo sync object
2012-02-07 09:01:58 -06:00
James Cotton
02bec750bd
In the attitude loop need to check all the queues even if unused or the event
...
system will have warnings
2012-02-07 08:46:34 -06:00
Stacey Sheldon
e2939dae2a
revo usb: Add support for USB to Revo
2012-02-07 02:25:31 -05:00
Stacey Sheldon
8b73ae7d16
remove trailing whitespace
2012-02-07 02:25:31 -05:00
Stacey Sheldon
b8c16fe7a5
hw defs: move misc defines and non-const data out of board_hw_defs.c
...
The board_hw_defs.c file should only contain static
const declarations that only describe the hardware.
All other non-const variables should be put into one
of the pios_board.c files.
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
Stacey Sheldon
240425ff22
gdb: add config file for revo bl
2012-02-07 02:25:30 -05:00
Stacey Sheldon
1532338847
ef: fix dependencies in entire flash image build
...
ef_$(BOARD_NAME).bin files were not properly depending
on their fw and bl files resulting in the ef files not
being regenerated.
2012-02-07 02:25:30 -05:00
James Cotton
ae01936808
Add the portTickTime into the OveroSync stream
2012-02-06 10:00:02 -06:00
James Cotton
dbcb499d7f
Add object to monitor the overo link status. Current just records the bytes/s
...
being sent and the connected status (based on sending more than 500 bytes per
second)
2012-02-06 09:37:31 -06:00
James Cotton
5b2376dbee
Remove the semaphore for buffer swapping and make this occur during the receive
...
ISR. This leads to a possible condition where a copy is taking place in
userspace and then a buffer swap interrupts it. However, the copy should
always finish before the SPI DMA slave catches up to that place in memory at 10
MHz.
This fixes a common condition where the userspace task (low priority) was not
swapping buffers in time from user space and logs were corrupted.
2012-02-06 08:21:24 -06:00
James Cotton
179e66b754
Refactor how new packets are scheduled to avoid trying to start a transaction
...
from an ISR. This was causing lock ups. It's a bit higher latency probably
(trivially slow) but if we aren't keeping up with the Overo transactions then
using a proper DMA double buffer will be required.
2012-02-04 20:11:31 -06:00
James Cotton
665801662d
In cc3d update sensors add accelbias before scaling to allow more precision in
...
levelinIn cc3d update sensors add accelbias before scaling to allow more
precision in levelingg
2012-02-04 12:12:41 -06:00
James Cotton
4e190f99e2
Improved the revo overosync code to put multiple uavobjects into a packet
2012-02-04 12:06:03 -06:00
Stacey Sheldon
60a2af2e58
ef+dfu: Move EF image generation into separate makefile
...
A separate makefile for EF (Entire Flash) targets allows
the removal of board-specific hard-coded addresses. These
values can now be included from the board-info.mk files
for each board.
2012-02-04 12:03:42 -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
Stacey Sheldon
ce544cf4ab
gdb: remove cortex_m3 remnants from revo gdb init file
2012-02-03 00:59:31 -05:00
Stacey Sheldon
99f5f20cb2
openocd: add support for stlink on stm32f4 targets
2012-02-03 00:51:31 -05:00