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

51 Commits

Author SHA1 Message Date
peabody124
2fee1781ec OP-239 OP-210 HomeLocation: This was causing resets on the board due to not
enough memory.  Increase task memory a little.  I'm not sure that it's possible
to make the WMM memory usage less.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2372 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-10 18:45:16 +00:00
peabody124
24c4e92b12 OP-176 FreeRTOS task priorities a bit more sensible
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2357 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-09 20:49:33 +00:00
vassilis
b851c11f53 Flight/Stack sizes: Reduced task stack sizes to free-up memory in preparation of the scripting release. If the firmware is unstable there might be a possible stack overflow, test carefully!
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2350 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-09 00:03:19 +00:00
vassilis
407e660c97 Flight/TaskMonitor: Create TaskMonitor library, used to monitor the remaining task size of all running tasks.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2349 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-08 23:43:34 +00:00
andrew
bdb2982ca5 Added alarm processing for GPS module.
Error when GPS disconnected
  OK when >=7 satellites and PDOP <3.5
  Warning when only 3Dfix
  Critical otherwise

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2297 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-27 19:59:43 +00:00
peabody124
34bd4b7524 OP-198 Flight/GPS: Remove dependency on buffer.c, also made the detection of start and
end characters occur while sentence coming in instead of reprocessing whole
sentence for each character

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2041 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-30 18:15:52 +00:00
sambas
3f62776253 OP-97 flight/GPS: Few more fixes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2028 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-28 14:58:39 +00:00
sambas
365a2a121a OP-97 flight/GPS: Few fixes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2025 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-28 13:50:34 +00:00
sambas
3e462b1434 OP-97 flight/GPS: Disable speed threshold command for those who knows it's needed, check gpsTask->DISABLE_GPS_TRESHOLD
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2014 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-27 15:51:33 +00:00
sambas
f1ba558fa1 Flight/GPS: Some updates
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2011 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-27 10:39:38 +00:00
peabody124
6d0df704a7 Flight/Modules: Corrected code to use tabs
find ./flight/OpenPilot/Modules/ \! \( -name '*~' -a -prune \) -type f    |
xargs -I{} bash -c 'echo {}; dos2unix {}; gnuindent -npro -kr -i8 -ts8 -sob -ss
-ncs -cp1 -il0 -hnl -l150 {};'

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1776 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-27 07:28:34 +00:00
peabody124
8dbc382e5b Ground/CoordinateConversions: Shows correct location now. I just typed in a 3.14 constants and forgot to change to M_PI.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1520 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 05:58:43 +00:00
stac
ecac1fb79d nmea: parse GSV sentences and populate GPSSatellites object
This creates a new UAVObject called GPSSatellites to hold
information about which satellites the GPS receiver can see
and the quality of their signals.

NMEA GSV sentences are now parsed.  The full set of GSV data
may be split across multiple GSV sentences, each containing
info for at most 4 satellites.  Once an entire set of GSV
records has been collected, the GPSSatellites UAVObject is
updated.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1453 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 01:46:14 +00:00
stac
2ead641136 nmea: minor bug fixes and robustness improvements
Remove asserts on bad data, only assert on coding errors.
Remove unnecessary inline qualifier to reduce code size.
Handle more lat/lon precisions in conversion to fixed-point.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1452 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 01:46:11 +00:00
peabody124
5f9289f0c0 Flight: Keep getting WMM memory usage down
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1438 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 21:05:38 +00:00
peabody124
16361dea12 AHRS: Making AHRS populate the NED/Vel fields of PositionActual. May rename object to PositionVelocityActual. Also created a GPSTime object which is populated from the GPRMC command. Also added a GPZDA parsing command, but by default OP GPS doesn't send this command. Made the computation of the world magnetic model use the current time to set the magnetic vector. Note: currently if you set your home location and save it to SD, this will not recompute the vector over time. I'm not sure how sensitive this is.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1435 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 19:59:25 +00:00
stac
24a4c6b791 gps: Update GPSPosition instead of PositionActual
GPS module now updates GPSPosition UAVObject
rather than the PositionActual object.  The
GPSPosition object is intended to be consumed
only by the AHRS.  The AHRS will use this (and
other inputs) to compute a filtered version of
the position in the PositionActual object.

This commit will cause temporary breakage of the
GPS functionality in the GCS until the PositionActual
object is properly updated by the AHRS.  Most of the
GCS should continue to use PositionActual.  The only
exception to this might be any tool for specifically
visualizing the raw GPS state.

GPS.c is now only responsible for receiving a
complete NMEA sentence from the COM interface.

NMEA parsing is now factored out into NMEA.[ch]
which is where GPSPosition is now updated based
on the complete NMEA sentences obtained from the
GPS.

Latitude and Longitude are now encoded in a
fixed-point notation in units of degrees x 10^-7
to prevent truncation of precision due to encoding
into a float.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1431 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 02:15:00 +00:00
peabody124
4ca10e92c7 OP-121 OP-122 Flight: Improved USB HID communication.
1. Added reenumeration function and call it on USB init (device will appear after reprogramming now)
  2. Moved buffer.c to general flight/Libraries location
  3. Removed the 62 byte transmission limitation by adding a transmission buffer
  4. Sped up USB communication by increasing endpoint polling frequency

Note, that the nonblocking and blocking USB send functions are not blocking entirely correcting.  The blocking calls the nonblocking, and the nonblocking blocks until the last chunk has started tranmission if it's a big transmission.  The buffering I added would generalize to non-blocking nicely, but would require using the EP1(IN) callback to handle most of the tranmission.  This creates a lot of issues if one function is pushing data onto the buffer and the interrupt is sending.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1403 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-25 05:32:52 +00:00
peabody124
2db294caf7 OP-125 Flight: Changed GPS stack size to a bit closer to what the internal model needs to get rid of out of memory warning, but it could still use 1k less if it pulled all the constants from flash when needed and computed the time difference when called. Also changed ManualControl so it checks the active control values to determine the warning, so if GCS is controlling the warning light goes out.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1387 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 06:03:19 +00:00
peabody124
b32184d1ec OP-119 Flight: Converted HomeLocation object to use cm for the home base instead of floating point.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1382 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 02:49:53 +00:00
peabody124
2e705e6836 OP-116 AHRS: Made data going to the AHRS in NED format. Once the final estimate object is created I'll repeat the same calculation to populate it, although we want to avoid going back to LLA format on the OP because the CPU requirements are excessive.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1376 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 19:01:36 +00:00
stac
a960d6e1b1 GPS: fix typo desimal->decimal throughout
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1352 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:12 +00:00
peabody124
bb79ba66fa OP-119 AHRS: Converted the big data structures for the WMM calculation to be allocated on the stack, which forced a dependency on FreeRTOS :-( but keeps things on the heap. Also changed the HomeLocation object to include a Set field. When this is false, OP will try and update it whenever it gets a 3D fix. If it is saved to disk with this field as true, then it won't need to get a lock to send the magnetic flux vector to the AHRS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1346 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 08:35:44 +00:00
peabody124
4b0a0236d8 OP-119 AHRS: Increased GPS stack size to allow WWM to not overwrite other memory. In addition converted all the calls to use pointers so I will switch to using pvPortMalloc vPortFree to get it off the stack entirely. Now correctly computing flux for me and running.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1345 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 08:35:41 +00:00
peabody124
2031cfe4d0 OP-119 AHRS: Added error counters for the messages as well as changed an error on AHRS echo back for the HomeLocation message.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1344 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-20 22:52:13 +00:00
peabody124
86766ecc14 OP-119 AHRS: Removed WMM computation for now because it was triggering a reset (probably not watchdog) which is weird - it worked on AHRS. Maybe running out of memory? Also added the break on comm error in ahrs_comms to resync with it. I think the message to send the home location is also not working right now. Fixed chip reset.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1340 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-20 14:48:02 +00:00
peabody124
ef0b307353 [OP-119] Flight/AHRS: Created a HomeLocation object which is updated when the GPS gets an initial 3D fix and populated with the information to convert from LLA from the GPS to NED reference frame. Also added a message for passing the MagneticNorth vector to the AHRS and removed that computation from AHRS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1337 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-19 20:38:27 +00:00
peabody124
d928676f5e More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1121 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-16 19:53:35 +00:00
peabody124
1cd81e211f Added Doxygen comments for OpenPilot modules
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1101 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-16 01:02:34 +00:00
sambas
9003cd8eca OP-97 flight/GPS: GeoidSeparation added, need to think that precision problem
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1056 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-10 07:27:07 +00:00
stac
771a56ca9d com/usart: generalize com driver API
- Created a pluggable COM layer
- Converted COM + USART init into static initializers
  rather than typedefs
- Generalized the USB HID COM API to match the USART
  API.
- Changed USART and COM layers to be data driven rather
  than #ifdef'ing/switching on the specifics of each port

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@760 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-13 04:24:26 +00:00
vassilis
eaa9d97939 Flight/GPS Renamed GPSObject to PositionActual and implemented field for GPS status (NoGPS, NoFix, Fix2D and Fix3D)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@734 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-10 01:28:06 +00:00
FredericG
8a7eba0675 List of modules in Makefile - Automatic init of included modules
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@716 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-05 15:17:31 +00:00
stac
e2721136ae GPS: fix buffer overrun in nmeaProcess()
nmeaProcess was attempting to null-terminate the
NMEA sentence but was not considering that the
preceeding loop may have looped beyond the end
of the packet buffer.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@709 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-03 13:58:18 +00:00
sambas
c53aa219d5 OP-25 Flight/GPS: Speed from knots to m/s
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@691 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-30 18:09:37 +00:00
sambas
4f4391708e OP-25 Flight/GPS: Heading and GroundSpeed used, speed in knots?
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@687 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-30 06:31:58 +00:00
sambas
ebff9f3638 OP-25 Flight/GPS: New GPS fields in use
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@665 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-25 05:32:43 +00:00
sambas
ec40618664 OP-25 Flight/GPS: Optimized GPS, buffer overflow fixed, RMC sentence handler
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@660 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-24 19:49:37 +00:00
sambas
b7601c9765 OP-25 Flight/GPS: changes for OPGPS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@639 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-18 12:49:47 +00:00
sambas
b8b5bffe4d OP-25 Flight/GPS: using strsep instead of strtok_r (thanks for the hint PeterG). Prepared for GPGSA.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@535 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-21 09:56:23 +00:00
sambas
923ee3ccaf OP-25: gpsinfo removed, cleaned things up.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@522 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-18 07:37:55 +00:00
vassilis
40beb15129 OP-4 Flight/System Created CPU utilization measurement and created object to report system information (load, heap and time)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@519 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-18 02:13:59 +00:00
sambas
6c4cd936e5 OP-25: GPS Objects working. You need to raise configTOTAL_HEAP_SIZE in FreeRTOSConfig.h if all tasks enabled.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@514 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-17 08:49:19 +00:00
vassilis
5889849060 OP-4 Flight/Telemetry Various bug fixes while testing telemetry (working but not fully tested)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@500 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-15 02:15:46 +00:00
sambas
23aa2ea1cd OP-25: lat, lon and alt to float, lat and lon to desimal degrees format
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@435 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-07 08:02:44 +00:00
vassilis
b00ab0e2ee Flight/UAVObject: Added support for periodic queue events (in addition to callbacks), removed unused functions in GPS module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@425 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-05 00:59:51 +00:00
sambas
066f42a2c5 OP-25: simplified gps structure
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@404 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-28 14:36:18 +00:00
sambas
3656caccbb Checksum check for nmea sentences
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@399 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-27 13:13:39 +00:00
sambas
9490bcdb93 OP-25: GPS tested and working, using TrimbleGPS 5Hz, 5 lat/lon desimals
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@386 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-25 19:36:52 +00:00
sambas
dad62c3316 Reworked the nmea sentence parser, most values still in string form
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@356 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-21 11:32:53 +00:00