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

190 Commits

Author SHA1 Message Date
James Cotton
6b101d71af Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-07-15 12:32:35 -05:00
Brian Webb
a252b78fea Fixed transparent comms on PipX. 2012-07-14 17:14:43 -07:00
Werner Backes
5776981436 Deleted obsolete Libraries/inc/NMEA.h that conflicts with Modules/GPS/inc/NMEA.h 2012-07-10 16:25:58 +02: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
Stacey Sheldon
c73cffce59 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	Makefile
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/Revolution/System/inc/pios_config.h
	package/Makefile

Fixed CRLF line end clobbering in:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/Common/pios_usb_util.c
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/PiOS/inc/pios_rfm22b_priv.h
	flight/PiOS/inc/pios_usb_util.h
2012-06-10 19:01:11 -04:00
James Cotton
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
4e68f6543e Added tracking of dropped packets to PipX and turned off visible text on signal strength meters. 2012-06-04 21:18:13 -07:00
Corvus Corax
298b6233ed Merge branch 'revo-next' into corvuscorax/new_navigation
Conflicts:
	flight/Libraries/paths.c
	flight/Modules/ManualControl/manualcontrol.c
	flight/Revolution/Makefile
	shared/uavobjectdefinition/taskinfo.xml
2012-05-30 00:51:52 +02:00
Corvus Corax
1ad2b19d28 PathPlanner: fixed a few failsafes, changed waypointID to int16 - negative jump ids have special meaning 2012-05-28 20:50:09 +02: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
51a4e82642 bugfix to path library 2012-05-28 14:48:08 +02:00
Corvus Corax
e6f4a40d3e path library: updated API and usage from pathfollowers, added new conditions and additional user feedback in pathstatus 2012-05-28 01:51:17 +02:00
Corvus Corax
ef8d7275a8 PathFollower and PathPlanner: fixes for fixed wing 2012-05-27 02:38:56 +02:00
Corvus Corax
922b3b7f1e Merge branch 'basenext' into corvuscorax/new_navigation
Conflicts:
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-27 01:41:51 +02:00
James Cotton
bd8125e41e Catch from Corvus that the path error was being squared. However need to make
sure to take care of sign by removing one of those multiplcations.
2012-05-26 15:24:50 -05:00
Corvus Corax
9dfd34dd19 PathPlanner: added functions to allow circular paths and implement that feature in FixedWingPathFollower 2012-05-26 15:55:52 +02:00
Brian Webb
2f1a9e3e7d Added PPM input to the PipXtreme. Also added configurable GCSReceiver timeout. 2012-05-20 18:30:37 -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
93ec7c11a6 Fixed race condition on getting packets. 2012-05-15 19:38:14 -07:00
Brian Webb
dd03b0b159 Added reporting of stats from the remote modem. 2012-05-13 09:34:21 -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
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
Corvus Corax
b97b0617aa bugfix, use correct variance parameter on z velocity 2012-04-22 18:43:17 -05:00
Brian Webb
62c5036220 Added PipXStatus and PipXSetting UAVobjects and some initial support for them. 2012-04-17 17:36:05 -07:00
James Cotton
4928cbba44 Merge branch 'sim' into testing 2012-04-15 12:34:27 -05:00
James Cotton
59da9deffb Merge remote-tracking branch 'revo/D-Lite/ubx-parser' into sim 2012-04-15 12:33:54 -05:00
Corvus Corax
88f7567247 change to GPS: do not update UAVObject more than 1ce per cycle 2012-04-15 19:17:03 +02:00
James Cotton
6e215bd029 Updating INS Pos/Vel variance includes the vertical velocity 2012-04-15 11:50:11 -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
dfa18eaef1 Deal with the case where path start and endpoints are the same to avoid NAN. 2012-04-10 02:49:19 -05:00
James Cotton
26b73e3c8b Add path navigation mode to guidance. Works well in simulation. 2012-04-10 01:48:03 -05: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
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
fff93910e2 RFM22B device now fully interrupt driven. Packet handeling moved to RadioComBridge module. 2012-04-05 20:24:50 -07:00
James Cotton
dee17f8fd4 Enable task run time monitoring in osx simulation 2012-04-03 09:16:27 -05:00
James Cotton
3888d6ff69 Changed settings that makes updates smoother 2012-04-03 03:42:31 -05:00
James Cotton
1630267324 Some small updates to 16 state INS 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
7e36d086de More work on INS algorithm to force constants to single 2012-04-03 03:42:22 -05:00
James Cotton
55ee568fe2 Work on the INS algorithm 2012-04-03 03:42:21 -05:00
James Cotton
7034a45e44 Force more calculations to explicitly being float 2012-04-03 03:42:20 -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
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
b34b849453 Added start at a modified PipX packet handler. 2012-03-15 19:29:54 -07: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
Stacey Sheldon
8cd4816d7b taskmonitor: move taskmonitor into flight/Libraries
taskmonitor.[ch] existed as (nearly) identical copies under
CC and OP directories.  Both builds now reference the common
version under Libraries.
2012-01-15 21:37:10 -05:00
James Cotton
6dbad243db Convert the CoordinateConversion functions to all be float until I determine
how to use doubles safely on F4.
2011-12-14 02:08:14 -06:00
James Cotton
fd8899018f Get EKF running 2011-12-14 01:54:06 -06:00
James Cotton
44ca9736df Fix floating point calculation in NMEA parser and delete duplicate of NMEA
functions
2011-11-28 09:36:31 -06:00
James Cotton
07e3ad10af Force some floating point units to be safe 2011-11-26 15:52:25 -06:00
James Cotton
1c7c85635d Typo with renamed PI 2011-11-16 19:48:13 -06:00
James Cotton
8e79f86716 Make the CoordinateConversions use a floating point PI 2011-11-16 11:35:52 -06:00
James Cotton
1e2fe77e3f Start migrating the attitude solution to FreeRTOS 2011-11-13 18:51:35 -06:00
James Cotton
3239fdf21b Merge branch 'next' into ins
Conflicts:
	flight/CopterControl/Makefile
	flight/OpenPilot/System/pios_board.c
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-09-09 08:33:34 -05:00
James Cotton
465527a980 INS: Enable GPS parsing. GPS data is processed on INS now. HomeLocation and
WMM are not currenly implemented.
2011-09-04 20:03:04 -05:00
James Cotton
7ff5cd7655 INS: Try and get load down on event system. 2011-09-04 16:21:04 -05:00
James Cotton
612d3336b4 This patch breaks backward compatibility with AHRS solidly.
Move the configuration files for INS from AHRS* to INS*.  Strip out unused
fields in settings and merge calibration and settings since settings has
basically no information.
2011-09-01 12:21:33 -05:00
Stacey Sheldon
2f86e4dd4f Make PWM/PPM and Servo drivers play nicely together
PWM and PPM can now coexist in the same load and be
selected at boot time via the hwsettings UAVObject.

This is basically a complete restructuring of the
way the drivers interact with the TIM peripheral in
the STM32.

As a side effect, the PWM and PPM drivers are now
ready to support multiple instances of each.

This also provides the first step toward being able
to reassign some of the PWM input pins to be servo
output pins.  Still more work required, but this is
a good start.
2011-08-27 21:39:56 -04:00
James Cotton
b1c522def3 Merge remote-tracking branch 'origin/next' into ins 2011-08-21 01:34:40 -05:00
Corvus Corax
2062ec0aeb AHRS_COM: Initialize transpherred objects before using them 2011-08-19 19:52:27 +02:00
James Cotton
71a1cdff62 PiOS SPI: For F2 need to have the same receive and transmit length when using
CRC.  This wasn't the case on F1.  With CRC the last byte of the buffer passed
to PIOS_SPI_TransferBlock is NOT USED.  This is the case on both F1 and F2.

Also need to DeInit DMA before enabling or it doesn't enable successfully.

Finally added a timeout which sets a fail on the pios spi transfer in the case
that either of the dma channels fails to enable.
2011-08-16 11:29:15 -05:00
Corvus Corax
8a47ade16b flight/Libraries/fifo_buffer: Use platform independent <stdint.h> instead of "stm32xxx.h" to get definition of intX_t types 2011-08-14 14:21:54 +02:00
James Cotton
d78450eae8 Move some of the F2 defines into the makefile to make them global. Fixes some
issues with grabbing the wrong stm32 configuration file.
2011-08-09 01:19:05 -05:00
James Cotton
d23e13716b dos2unix: fifo_buffer 2011-08-08 08:37:14 -05:00
James Cotton
479ba7c21f OP-378 INS: Continue getting F2 INS to compile 2011-08-08 08:36:40 -05:00
James Cotton
81b7fb6185 Merge branch 'master' into OP-378_James_INS 2011-05-18 12:50:29 -05:00
Stacey Sheldon
b2b1c184de stopwatch: Add support for timers 5-8
This fixes the OP bootloader getting stuck in the
bootloader forever when USB is plugged in.

This also fails hard on being passed an unsupported
timer value so that this can be caught more easily
in the future.
2011-05-08 12:41:02 -04:00
sambas
d61f3d4d94 Merge branch 'OP-378_CheBuzz_INS' of ssh://git.openpilot.org/OpenPilot into OP-378_CheBuzz_INS 2011-05-07 18:26:12 +03:00
zedamota
1cc152b4dd More cleaning, moved stopwatch files to library folder, code formatting. 2011-04-29 20:48:13 +01:00
David Buzz Carlson
876ca3044c Added EKF code. Most of this was bulk copy and paste from the AHRS, so a lot of verification needs to take place. Grabbing sensor data remains untested. 2011-04-20 03:37:50 -07:00
peabody124
3afdc7e41c CC-24: Rotate the CC board at any angle relative to "flat and level" with GCS
config plugin updates.  Has not been tested in flight yet although seems
sensible so please be careful when using this code.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3166 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-15 06:37:16 +00:00
jonathan
c70e134cf8 Add helper function for converting an Euler rotation vector to a rotation matrix
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3150 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-10 18:33:30 +00:00
jonathan
8aef515456 OP-191: Merge from full-calibration branch. Scale the reference magnetic field vector to units of milliguass.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3054 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-21 00:47:02 +00:00
vassilis
b084ea7ea1 FlightPlan/Python: Updated object generator to create a Python file for each UAVObject. It is now possible to access all UAVObjects from the FlightPlan Python scripts.
Warning: The memory utilization when importing objects is unacceptably high making it unusable in the flight code at this point. It can be however used with the SITL simulator. Some more investigation is needed to understand why several kb of memory are used each time a module is imported (even before any functions are called or objects from the module are created). 


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2938 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 02:22:50 +00:00
peabody124
8930ec01de OP-313 Quaternion based stabilization, gets rid of lots of checking angle
signs, should be stable for all orientations

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2932 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:34 +00:00
stac
3fda65c5d3 hwinit: Convert SPI drivers to dynamic init
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2772 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:50 +00:00
vassilis
90fd4551b6 Flight/SITL: Enable debug of Python scripts
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2704 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:02:34 +00:00
vassilis
b297ef0ae5 Flight/FlightPlanner: First release of openpilot.py library giving access to RTOS and debug fields. Implemented STOP command, this should be the normal way for stopping scripts. The KILL command should be only used as a last resort for misbehaving scripts. The KILL command will delete the VM thread.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2535 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 21:32:23 +00:00
FredericG
9758026d5a Added some comment, made some functions static
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2476 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-18 17:51:29 +00:00
cwabbott
4181d1de05 PyMite: Oops, delete some autogenerated files that are not needed.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2445 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 03:24:43 +00:00
cwabbott
24a058c8c7 PyMite: add a new 'openpilot_sitl' platform which allows for stdio to the console and make it the default platform for win32 SiTL.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2436 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-15 17:10:10 +00:00
cwabbott
db9bc06a08 Added support for FlightPlan in win32 SiTL and fixed line endings in Python files,
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2411 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-13 23:54:30 +00:00
pip
a1b03ef55c Added http reference address for source of coeffs and c code for if and when new coeffs are required.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2383 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-11 15:45:16 +00:00
pip
7b50e09eb9 Fixed possible memory leaks. Now check for NULL pointers from all MALLOC calls. Functions now return '0' if OK, otherwise returns a value < 0.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2381 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-11 11:11:23 +00:00
pip
1fbd7155f9 Moved a few large variables off the stack to dynamically allocate them from the heap (http://progress.openpilot.org/browse/OP-225).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2374 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-10 20:30:47 +00:00
vassilis
1e78cc7a30 Flight/FlightPlan: First release of flight plan scripting. The scripting engine is based on the PyMite Python VM. The released code is able to execute a simple python script on the target. However it is currently disabled from the makefile due to a few issues with more complex scripts. When the library is enabled in the makefile a python interpreter will be needed to compile the firmware since some intermediate code is generated by PyMite.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2364 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-09 22:36:15 +00:00
peabody124
0e7661539e OP-238 AHRS Comms: Bring down clock rate of comms to AHRS to 2.25 MHz. Decrease
to only transmitting one object per transmission too to keep size down.
Also move to using the driver structure so the paramter is in a clear place.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2333 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-05 10:34:42 +00:00
peabody124
343b4095a3 Flight/WMM: Get rid of date structure and keep it on stack. Also don't need
error message for embedded stuff.

Note: this was only tested on PC although I'm fairly confident about it.
Please let me know about any errors.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2285 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-24 21:57:15 +00:00
peabody124
b8476bea20 WMM: Memory reduction, variables computes from flash constants on fly. This
will run slower but greatly reduce the memory footprint (360 floats less).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2284 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-24 21:57:12 +00:00
peabody124
1142b1fb1e PiOS/USB_HID: No longer clear buffer after getting a NAK. This was required
before because if transmission got NAK then sending would stop.  Now the next
time data is added to the buffer a new send will be attempted.

fifoBuf: in clearData just set the read pointer to the write pointer.  This is
safer for multiple people accessing it assuming the reader will be clearing it.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2279 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-24 17:16:04 +00:00
peabody124
f30aa1d719 AHRS Comms: Send FirmwareIAP object to AHRS so that it can be remotely
rebooted.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2214 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-10 21:03:29 +00:00
pip
912ba59cf9 You now supply a buffer address and buffer size when initializing the fifo buffer.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2171 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-28 10:59:24 +00:00
dschin
b2a538375c Changes in files supporting AHRS for new initialization methods.
Changes in ahrs.c for new initialization and to fix issues with outdoor algorithm.  The changes in ahrs.c are pretty messy, but committed mostly to get the code to Peabody for more extensive restructuring of ahrs.c.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2150 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-24 01:27:43 +00:00
peabody124
300a3bc8ad OP-203 PIOS_USART: Get TX buffer using fifo_buffer
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2142 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-23 17:13:46 +00:00
pip
9b22bb07e6 Fixed a bad bug in the fifo_getData functions.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2044 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-31 04:58:34 +00:00