James Cotton
a86e75bc99
Merge branch 'revolution' into sim
2012-04-14 14:12:03 -05:00
James Cotton
deb3336729
Make sure for revolution all the GPS objects are always initialized even if
...
there is no GPS port. Otherwise connecting to relevant queues will fail.
2012-04-14 14:02:20 -05:00
James Cotton
b7c3b1fdd1
Make the simulation provide GPSVelocity object since this is critical for EKF
...
now
2012-04-14 14:01:42 -05:00
James Cotton
ce6def870b
Add feedforward component to guidance
2012-04-14 13:38:10 -05:00
James Cotton
be21ec441e
Add ability to run guidance based on raw GPS velocity instead
2012-04-14 13:34:30 -05:00
James Cotton
1a98a46606
Merge branch 'revolution_ubx' into sim
2012-04-14 12:10:23 -05:00
James Cotton
5d160860a3
Fix from Corvus for gyro bias from EKF
2012-04-14 12:09:12 -05:00
James Cotton
3e2feb64cf
Fix bug limiting maximum velocity desired
2012-04-14 10:49:54 -05: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
James Cotton
a1351fcdbe
Make the path velocity come from the waypoint.
2012-04-10 02:56:10 -05:00
James Cotton
a42d756b3e
Add path navigation mode to the path planner module. I don't like how this is
...
done because the mode is in the settings so can't be command from path planner.
I.e. it would be nice to be able to say do these paths then go to position hold
mode.
2012-04-10 02:51:50 -05:00
James Cotton
1aec5b8deb
Add altitude control to the path navigation
2012-04-10 01:59:26 -05:00
James Cotton
26b73e3c8b
Add path navigation mode to guidance. Works well in simulation.
2012-04-10 01:48:03 -05:00
James Cotton
136bbe3814
Update the EKF code to use the GPSVelocity
2012-04-09 19:03:21 -05:00
James Cotton
dbcb47e249
Merge branch 'D-Lite/ubx-parser' into revolution_ubx
2012-04-09 17:34:34 -05:00
Werner Backes
4ede7a8af6
Experimental u-blox binary data format parser. See "u-blox 6
...
Receiver Description" for reference. Currently supports NAV-VELNED
message only and populates it to the GPSVelocity UAVObject.
2012-04-09 23:14:34 +02:00
Werner Backes
422944ce29
Experimental extension to the GPS stream parser to extract u-blox
...
binary data format. See "u-blox 6 Receiver Description" for
reference. GPS data stream may carry mixed NMEA and UBX data.
2012-04-09 23:12:24 +02: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
James Cotton
414e62f14e
Revert "Disable baro updates into INSGPS for now. Seems to cause issues."
...
This reverts commit 04591309770679e7b01c53a6cb54cac1c043f8b6.
2012-04-07 00:58:36 -05:00
James Cotton
fcb9193d25
Disable baro updates into INSGPS for now. Seems to cause issues.
2012-04-07 00:58:36 -05:00
James Cotton
aa6c8a451d
Shrink some stack sizes
2012-04-07 00:58:36 -05:00
James Cotton
81fcfd45c4
Some work on the code to initialize the INSGPS and allow setting the variance
...
of the baro
2012-04-07 00:37:42 -05:00
Brian Webb
56a2006fd8
Reconfigured to run on the real PipX board.
2012-04-06 18:44:31 -07:00
Brian Webb
bc1adb2519
Some cleanup of rfm22 driver.
2012-04-06 17:36:35 -07:00
James Cotton
345b6578b1
Fix a possible race condition for complimentary filter on L3GD20 attitude
...
estimation where the accel queue wouldn't immediately have data available.
Added 1 ms timeout on queue.
2012-04-06 13:59:12 -05:00
James Cotton
e60c70251f
Slow down update rate for the altitude hold smoothed EKF
2012-04-06 13:58:46 -05:00
James Cotton
ea13536da0
Take quidance settings from simulation and make the INSGPS pick up the GPS
...
noise from a setting.
2012-04-06 12:59:49 -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
3071f77d59
Add Baro offset to the simulation
2012-04-03 10:58:48 -05:00
James Cotton
c988685293
Simulate GPS noise drift
2012-04-03 09:17:55 -05:00
James Cotton
5d0e513678
Fix small deg/rad issue in generating gps data
2012-04-03 09:17:55 -05:00
James Cotton
df6bc4deff
Enable guidance on simulation and add wind model
2012-04-03 09:16:31 -05:00
James Cotton
ca535c2632
Fix bugs in simulated sensor data. Now works well with INSGPS.
2012-04-03 09:16:31 -05:00
James Cotton
84040d25b4
Add attitudesimulated object to capture the simulated state
2012-04-03 09:16:30 -05:00
James Cotton
6df9691609
Bring back the original module files and remove comments from FreeRTOS
...
debugging
2012-04-03 09:16:30 -05:00
James Cotton
543500ed78
Improve the simulated sensors to produce (I think) consistent data now
2012-04-03 09:16:30 -05:00
James Cotton
fbd8695d7d
Check in WIP for osx simulation
2012-04-03 09:16:30 -05:00
James Cotton
28cab678ce
Simulate a more complete QC model.
2012-04-03 09:16:28 -05:00
James Cotton
f1aa3b658e
Add a new sensor simulation mode that essentially has a gyro rate that is rate
...
desired and the accel based on the current attitude.
2012-04-03 09:16:28 -05:00
James Cotton
6adc74f6f9
Check in the fake sensor data module
2012-04-03 09:16:27 -05:00
James Cotton
e97c1bc016
Include the module include file before any uavo ones
2012-04-03 09:16:27 -05:00
James Cotton
cfd92de87a
Add explicit casts in manualcontrol to avoid compiler warnings/errors
2012-04-03 09:16:24 -05:00
James Cotton
5827e3f565
Add box around logo path
2012-04-03 03:42:37 -05:00
James Cotton
bfb0c6935e
Make pathplanner use callbacks on the waypoints and their index to pick up
...
changes from the GCS while flying
2012-04-03 03:42:37 -05:00
James Cotton
c26cceb47b
If the waypoint index is changed then update teh position desired. This should
...
probably be done with change callbacks because currently changing the waypoints
themselves doesn't update position desired.
2012-04-03 03:42:36 -05:00
James Cotton
6d1c36680f
Scale the max velocity as a magnitude on teh vector instead of independently on
...
each direction
2012-04-03 03:42:36 -05:00
James Cotton
5b3cc4876e
In simulations a higher GPS noise is required for the INS
2012-04-03 03:42:35 -05:00
James Cotton
32f76db8ae
Only update position desired when you change waypoints active
2012-04-03 03:42:35 -05:00
James Cotton
ba1ade33cb
Get navigation working and program hardcoded flight path
2012-04-03 03:42:34 -05:00
James Cotton
62117430cf
Flip the sign of throttle in the guidance altitude control
2012-04-03 03:42:34 -05:00
James Cotton
7f226867c6
Some bug fixes for revo attitude estimation.
2012-04-03 03:42:33 -05:00
James Cotton
d4488512c0
Add RTH waypoint action
2012-04-03 03:42:33 -05:00
James Cotton
3eac69e953
Create stub for waypoint navigation
2012-04-03 03:42:32 -05:00
James Cotton
af9f36d7df
Improve the attitude initialization for all of the modes
2012-04-03 03:42:32 -05:00
James Cotton
3888d6ff69
Changed settings that makes updates smoother
2012-04-03 03:42:31 -05:00
James Cotton
319b53a342
Make sure full initialization routine for INSGPS occurs each time it is
...
restarted.
2012-04-03 03:42:31 -05:00
James Cotton
372f959c37
Refine some stack sizes
2012-04-03 03:42:30 -05:00
James Cotton
54880c83a0
Fix some task sizes and the memory limits
2012-04-03 03:42:30 -05:00
James Cotton
a83fb019f6
When in complimentary filter mode pass the GPS information straight
...
through to Position Actual
2012-04-03 03:42:29 -05:00
James Cotton
98b1a21921
Fixup: Shouldn't update gps until home location is set
2012-04-03 03:42:29 -05:00
James Cotton
7a3ec3e173
Some code cleanup to get rid of some warning messages
2012-04-03 03:42:29 -05:00
James Cotton
23625904c5
Remove the now unused ECEF and Rne fields from HomeLocation. Also reenable
...
calculation of the WMM and HomeLocation from the GPS code for revolution.
2012-04-03 03:42:28 -05:00
James Cotton
71d0180d45
Use the sensor variances from object
2012-04-03 03:42:28 -05:00
James Cotton
ce2d1f94f6
Better hardcoded constants for INS variances
2012-04-03 03:42:27 -05:00
James Cotton
de7fc81795
Fixes to the GPS LLA to NED translation
2012-04-03 03:42:27 -05:00
James Cotton
e32ab9342c
Shuffle some stack sizes around
2012-04-03 03:42:26 -05:00
James Cotton
4cadb7ec0e
Forgot to initialize revo settings object
2012-04-03 03:42:26 -05:00
James Cotton
337d5b7079
Enable guidance in revo. Update manual control to set the position desired
...
when the switch is flipped.
2012-04-03 03:42:25 -05:00
James Cotton
0eedaa1250
Change how we convert LLA to NED. Now it is done with a taylor expansion
...
around the home LLA coordinate to avoid the conversion into ECEF coordinates.
This has the benefit of not requiring double precision math and uses less
operations.
Now we should remove the Rne and ECEF fields from HomeLocation as they are
unused
2012-04-03 03:42:25 -05:00
James Cotton
e8cc7748af
Clean up some unused variables in attitude code
2012-04-03 03:42:24 -05:00
James Cotton
a9aa6b696b
Add object for setting the fusion algorithm
2012-04-03 03:42:24 -05:00
James Cotton
1911c7360d
New NEDPosition object which is the transformed GPS location
2012-04-03 03:42:24 -05:00
James Cotton
e3c36ac99a
Change requires for GSP updated to be set to true (wrong sign on PDOP check)
2012-04-03 03:42:23 -05:00
James Cotton
9e4651ab80
INS working on Revo
2012-04-03 03:42:22 -05:00
James Cotton
96edea9d4b
Some fixes to GPS parsing
2012-04-03 03:42:21 -05:00
James Cotton
55ee568fe2
Work on the INS algorithm
2012-04-03 03:42:21 -05:00
James Cotton
8c8224c122
Use a bigger event queue for overo logging to avoid event system warnings, and
...
add code to shortcircuit formatting a packet if it will not fit.
2012-04-03 03:42:19 -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
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
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
Brian Webb
df0a1c2ac1
Upgraded Brian-Metadata-Mods to current next.
2012-04-01 12:25:13 -07: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
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
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
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
b34b849453
Added start at a modified PipX packet handler.
2012-03-15 19:29:54 -07:00
James Cotton
0d42303d37
Fix some compilation errors/warnings in attitude.c
2012-03-11 16:30:18 -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
Brian Webb
d73895de7d
Working PipX com relay.
2012-03-07 18:05:42 -07: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
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
e3df261213
Merge branch 'stac/revo-usb' into revolution
...
Conflicts:
flight/Revolution/System/pios_board.c
2012-03-02 13:00:13 -06: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
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
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
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
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
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
James Cotton
c26154f303
Switch back to 256 byte packets and 0xFF pad the end
2012-02-02 11:40:49 -06:00
James Cotton
8b1137c6a0
Align the tx and rx SPI buffers from Overosync
2012-02-02 11:23:40 -06:00
James Cotton
0a71a48c57
Sending all FF finally again
2012-02-02 10:36:09 -06:00
James Cotton
95abb56d5e
Added module to send updates out the SPI port
2012-02-02 09:19:25 -06:00
James Cotton
a778c45d6f
For L3GD20 sensor task run at the sensor speed
2012-01-28 10:11:30 -06:00
James Cotton
13447ac907
Fix the MPU6000 implementation
2012-01-28 00:21:58 -06:00
James Cotton
b4435d0b35
For L3GD20 sensor task on revo update gyro once per physical sample
2012-01-26 23:29:12 -06:00
James Cotton
84dd1dbc40
A bit more lenient settings for CC sensor timings
2012-01-26 13:00:06 -06:00
James Cotton
727f0befc5
Make the gyro go a bit more regularly to stabilization but needs updating
...
regular CC
2012-01-25 22:50:19 -06:00
James Cotton
e4df3202e0
L3GD20: Update sensor task for revo to use the new queue
2012-01-25 22:50:19 -06:00
James Cotton
205aabe895
L3GD20: Make this sensor push data onto a FreeRTOS queue so that the sensor
...
reading task can block according. Also now the gyro data is sent to
stabilization multiple times per update of the attitude loop.
2012-01-25 01:20:07 -06:00
James Cotton
1971ba30dc
No longer hardcode baudrate
2012-01-24 23:42:43 -06:00
James Cotton
104c091590
Correct the range constants for the L3GD20 driver
2012-01-24 19:48:14 -06:00
James Cotton
a25d52785b
Change the bus speed for the L3GD20 to 10MHz and some small cleanups
2012-01-24 19:17:49 -06:00
James Cotton
b6c056fef2
Use the updated L3GD20 format and make attitude.c use the gyro data from the
...
fifo
2012-01-24 15:52:17 -06:00
James Cotton
5efbfb02fa
Make the BMA180 sensor system acquire from the queue. Correct the orientation
...
and speed it up to 10 MHz communications.
2012-01-24 15:09:20 -06:00
James Cotton
8c208412c9
Give the BMA180 a dynamically allocated device structure and also make it
...
properly bind to a SPI and slave number. Temporarily reducing spi bus to
slowest possible speed.
2012-01-24 14:38:00 -06:00
James Cotton
8e79bc2ee2
Temporarily refactor attitude to directly read the sensors instead of pull from
...
their queues until the interrupts are working properly
2012-01-24 11:54:23 -06:00
James Cotton
e9552065a9
Reenable the CC3D sensors
2012-01-24 11:03:33 -06:00
James Cotton
c242ab8b86
Merge branch 'next' into revolution3
...
Conflicts:
flight/AHRS/ahrs.c
flight/AHRS/pios_board.c
flight/Bootloaders/Revolution/Makefile
flight/CopterControl/System/pios_board.c
flight/INS/pios_board.c
flight/OpenPilot/Makefile
flight/OpenPilot/System/openpilot.c
flight/OpenPilot/System/pios_board.c
flight/PiOS/Boards/STM32103CB_CC_Rev1.h
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/Revolution/Makefile
flight/Revolution/System/inc/pios_config.h
flight/Revolution/test.c
2012-01-24 10:46:35 -06:00
James Cotton
486cdb5dbb
Got CC running again although with altitude and bmp085 disabled as well as the
...
CC3D drivers.
2012-01-24 10:32:42 -06:00
James Cotton
4d3af7afbf
Add ID test to ADXL345
2012-01-24 09:23:12 -06:00
James Cotton
728c05f973
Crude implementation of sensor reading for CC3D
2012-01-24 09:23:12 -06:00
James Cotton
11471ff68b
Update drivers for CC to the new EXTI system and SPI calls
2012-01-24 09:23:12 -06:00
James Cotton
a20d654744
Update the attitude algorithm for CC to use the Gyros and Accels UAVObjects
...
instead of AttitudeRaw
2012-01-24 09:23:12 -06:00
James Cotton
d864b481a1
Fix a few more merge conflicts
2012-01-23 04:47:35 -06:00
Stacey Sheldon
6bb4f0c61d
leds: use boot-time config for PiOS LED layer
...
LEDs are now configured based on a board-specific initialization
in PIOS_BOARD_Init().
LEDs are now named:
PIOS_LED_HEARTBEAT
PIOS_LED_ALARM
2012-01-22 18:22:59 -05:00
James Cotton
bb0bfe0ae4
Merge branch 'next' into revolution3
...
Conflicts:
flight/Bootloaders/CopterControl/Makefile
flight/Bootloaders/PipXtreme/Makefile
flight/Bootloaders/Revolution/inc/pios_config.h
flight/CopterControl/Makefile
flight/INS/inc/pios_config.h
flight/Libraries/taskmonitor.c
flight/Modules/Altitude/altitude.c
flight/Modules/Attitude/attitude.c
flight/OpenPilot/Makefile
flight/OpenPilot/Makefile.posix
flight/OpenPilot/System/inc/pios_usb_board_data.h
flight/OpenPilot/System/inc/taskmonitor.h
flight/OpenPilot/System/pios_board.c
flight/OpenPilot/System/taskmonitor.c
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/STM32F4xx/pios_bmp085.c
flight/PiOS/STM32F4xx/pios_iap.c
flight/PiOS/pios.h
flight/Revolution/System/inc/pios_config.h
flight/Revolution/System/inc/taskmonitor.h
flight/Revolution/System/taskmonitor.c
ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
shared/uavobjectdefinition/systemalarms.xml
shared/uavobjectdefinition/taskinfo.xml
2012-01-21 11:27:03 -06:00
James Cotton
f8e59443b8
If the BMA180 isn't read when an IRQ fires (because the flash chip has claimed
...
the bus) then it won't fire another interrupt until read. For now this is
dealt with in the sensor loop by forcing a read when the fifo is empty.
2012-01-21 10:13:46 -06:00
James Cotton
6d72678086
Add timeout in the sensor task for reading sensors to stop the watchdog firing.
...
All sensors should later be converted to use FreeRTOS queues.
2012-01-21 08:32:41 -06:00
Stacey Sheldon
64202ce092
Merge remote-tracking branch 'origin/stac/i2c_decoupling' into next
2012-01-17 22:35:36 -05:00
Stacey Sheldon
ad141c908a
Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
2012-01-17 22:26:38 -05:00
James Cotton
ce2d0fcbb1
L3GD20 data now running through IRQ -> FIFO
2012-01-17 19:36:32 -06:00
James Cotton
35025303cd
Getting data from gyro.
2012-01-17 19:29:38 -06:00
Stacey Sheldon
b05697c2cf
taskinfo: ensure usage of TaskInfo uavo is covered by DIAG_TASKS
...
OpenPilot platform (and thus sim too) was missed when the
DIAG_TASKS macro was broken out from the DIAGNOSTICS macro.
This allowed accesses to the TaskInfo UAVO even though it hadn't
been initialized.
2012-01-15 18:16:50 -05:00
Stacey Sheldon
0575b45378
usb: make USB usage depend on PiOS config
...
USB is not supported on sim platforms. Let PiOS
config determine when we use it.
2012-01-15 18:16:49 -05:00
Stacey Sheldon
c97b108a1f
bootfault: make IAP usage depend on PiOS config
...
The sim platforms don't support an IAP mechanism. Let
PiOS config control when we try to use it.
2012-01-15 18:16:49 -05:00
Oleg Semyonov
912bea559f
Add stick deadband option for Roll/Pitch/Yaw inputs to firmware
2012-01-15 21:13:22 +02:00
Stacey Sheldon
27ceb7ea92
modules: Allow optional modules to be used as built-in
...
Some modules are written such that they can be included
or excluded at runtime. These are added to the OPTMODULES
list in the makefile for a given board.
This change provides a mechanism to allow a build to force
a given module to be built-in (ie. always initialized)
regardless of the configuration in hwsettings.
The main use case for this is to handle a module being optional
on one platform but essential on another.
All modules added to the MODULES list in the Makefile will
automatically result in a matching #define in the form
MODULE_TheModuleName_BUILTIN
being defined in the CFLAGS for all compiled source.
Note that the capitalization of TheModuleName must match
exactly the capitalization used in the MODULES list.
2012-01-14 16:55:55 -05:00
Stacey Sheldon
53e9ef06b4
altitude: add optional altitude module
2012-01-14 15:38:56 -05:00
Stacey Sheldon
717c1311e6
altitude: allow altitude to be an optional module
2012-01-14 15:38:56 -05:00
Stacey Sheldon
4cb0c41338
bmp085: only use eoc and drdy gpios when available
...
When the bmp085 chip is on an external board, we don't
have access to the eoc and drdy gpio lines. Only use
them when available.
2012-01-14 15:38:56 -05:00
James Cotton
cc47520baa
Checking ID on ST gyro works
2012-01-04 23:23:42 -06:00
James Cotton
0fbcf7723d
Code to disable all gyros. All modules now running.
2012-01-04 22:37:15 -06:00
James Cotton
5ee9c8008e
Temporarily swap serial ports while debugging
2012-01-04 22:19:13 -06:00
James Cotton
0cc18e7dcf
Add files for new L3DG20 sensor
2012-01-04 20:33:54 -06:00
James Cotton
d2ce7761c5
Add derivative term
2012-01-03 12:37:18 -06:00
Stacey Sheldon
025ed0f43c
Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
...
Conflicts:
HISTORY.txt
2012-01-03 00:02:45 -05:00
Stacey Sheldon
8d8715c8c1
copyright: add/correct GPL + copyright boilerplate
...
I missed some of the boilerplate text on some of the
new files I've added recently. Fixed.
2012-01-02 23:28:53 -05:00
Stacey Sheldon
b94f4b49a4
usb: major refactoring of USB descriptors, CDC and HID
...
Summary of changes:
* USB CDC and HID drivers are completely split apart.
* This will allow different max buffer sizes for HID and CDC.
* USB descriptors have been overhauled:
* Proper structs/macros/enums declared for USB (see pios_usb_defs.h)
* Two common descriptor definitions. One for HID+CDC another for HID only.
See pios_usb_desc_{hid_cdc,hid_only}.c for details.
* Long standing bugs in OP USB descriptors became much more obvious with the
new struct definitions.
* Board specific USB initialization is now in pios_usb_board_data.h in each build target.
* Definition of USB descriptors is now entirely indpendent of STM32 libs.
Glue into STM32 libs is provided by pios_usbhook.c.
* Removed a lot of stale/irrelevant USB #defines throughout the tree.
* Improved naming consistency throughout USB code:
* PIOS_USB_HID_* now refers to the HID endpoint code.
* PIOS_USB_CDC_* now refers to the CDC endpoint code.
* PIOS_USB_* now refers to the low-level USB code.
* PIOS_USB_BOARD_* now refers to board-specific USB data
* PIOS_USBHOOK_* is glue between PIOS and STM32 USB libs.
* struct usb_* and enum usb_* and USB_* and HID_* are all types from the USB spec.
* Shrunk the buffer size on the CDC call mgmt endpoint to save some RAM.
* Made a few more USB related variables static to save some RAM.
2012-01-02 14:27:06 -05:00
Oleg Semyonov
77a459af5c
Merge remote branch 'origin/next' into os/TxPID-module
2012-01-02 14:49:54 +02:00
Oleg Semyonov
b01e332e03
CameraStab: rename UAVO field
2012-01-02 14:27:05 +02:00
Oleg Semyonov
65abb8f819
CameraStab: small optimization, freed 8 more heap bytes
2012-01-02 14:27:00 +02:00