1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-12 20:08:48 +01:00
Commit Graph

1004 Commits

Author SHA1 Message Date
peabody124
b853c392f3 Flight: Was only returning half of the serial number (thanks for catching that Pip)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1476 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-31 02:33:47 +00:00
peabody124
12657440c3 OP-132 AHRS: Added an indoor flight mode and also add an ad-hoc quality heuristic to the GPS signal to increase the measurement variance from GPS when fix quality is poor or when in indoor flight mode. In addition corrected the indentation to conform to the tab/space convention forum discussion.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1474 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-31 02:11:09 +00:00
pip
7813414f29 added casting to prevent int overflows when calculating the watchdog delay
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1467 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-30 16:48:33 +00:00
pip
ba5f1b37ee changed pios watchdog from 8-bit to 16-bit ms capability, plus moved the .h file from the .c folder into the inc folder
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1466 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-30 16:29:36 +00:00
andrew
65dc5e9b04 Yaw stabilisation for the simple algorithm was calculating the error and not taking into account that 350º error is the same as -10º error.
The resultant error could range from -360º -> +360º
Since this is only used for Helicopters / multi rotors, and the aircraft can rotate in any direction, I added the modulo logic so that it is now from -180º -> +180º this should now take quickest path to correct the error.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1464 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-30 01:20:43 +00:00
andrew
3c6d9d6976 manual control was mapping tx input as -180º -> 180º for AttitudeDesired.Yaw.
The Wiki (http://wiki.openpilot.org/Unit_Standards) states this should be 0 - 360º
Made the code match the wiki.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1463 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-30 01:16:00 +00:00
cwabbott
f55e9cf819 Fixed a slight problem with the .metadata folder, the flight project wasn't pointing to the correct folder again.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1462 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 23:16:19 +00:00
dankers
7a1353506e Just added my plugins dir to what was already there, no guarantees to fix things!
Might just make them worse!


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1460 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 22:15:38 +00:00
stac
78befcba73 conversions: fix return code for ECEF2LLA
As pointed out by osnwt in the forum, the
criteria for success of this function was
wrong.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1456 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 14:51:07 +00:00
peabody124
f202884ce8 AHRS: Numerous changes. Added CPU load monitoring for AHRS as well as some friendly debugging output options. Also added a new CalibrationMode setting to AHRS (Echo) to speed up sensor calibration. Cleaned up the 6 point calibration interface to make it more friendly, but I think Edouard will clobber it with something nice and sexy :).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1455 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 06:38:30 +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
stac
679f59f19d uavobjectparser: fix alignment of field init in generated code
Change from spaces to <TAB> to match the formatting in
the template.  No functional changes, just whitespace.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1451 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 01:46:09 +00:00
peabody124
8128c3bbfa OP-118 AHRS: Added 6 point calibration routine to AHRS config widget. To use it, click "Cal Mode", then place the AHRS on each of 6 sides of a cube then click save position. Finally click compute to push the updated scale abd bias terms to the AHRS. Also fixed a bug in UAVObjectField that would not allow you to setDouble for extra fields.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1449 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-28 18:48:51 +00:00
andrew
3530428982 Fixed the bounding of servo outputs for the case when max < min
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1444 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-28 05:11:19 +00:00
peabody124
00cad250ea Adding gpstime.h for flight.
Seriously - I'm sorry I missed all these files.  I suck.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1443 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-28 00:58:04 +00:00
peabody124
ced0a4b952 AHRS: Fixed silly bug that made the default mag variance be zero - explains "hopping around" default behavior. Still should run calibration though.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1439 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 21:05:41 +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
zedamota
2142467751 OP-21/Flight Bootloader - Added more Led status modes. Fixed downloading for bigger packet format.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1436 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 20:03:51 +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
a19c225697 ahrscomms: reduce retries and retry delay
The number of retries and delay between retries was
increased in a previous commit.  This doesn't appear
to be necessary so I'm reverting the increases.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1432 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 02:15:02 +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
stac
47df1faa8d ahrs: whitespace adjustments
No functional changes.  Whitespace/tab fixups only.
Use TRUE/FALSE instead of 1/0.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1430 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 02:14:58 +00:00
stac
670452307d ahrs: remove unnecessary memset() of rx message buffer
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1429 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 02:14:56 +00:00
stac
0a7088c24a ahrs: fix type on flags, remove redundant code
No need to have boolean flags being floats.
Some of the attitude message was being populated twice.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1428 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 02:14:54 +00:00
peabody124
a0b21bef45 Flight: Got read only check working for UAVObjects and modified the ManualControl Module to use it. Edouard - please check over this.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1427 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 00:15:48 +00:00
peabody124
a8df6e2c4d OP-128 Flight Documentation: Added description to all the UAVObject (now mandatory) and changed the parser to populate this information into the autogenerated files. Also added a function to test if an object is read only for flight.
Since there are a lot of autogenerated changes the important ones are:

  flight/OpenPilot/UAVObjects/inc/uavobjecttemplate.h - added description and define to make the ObjectReadOnly query
  flight/OpenPilot/UAVObjects/uavobjecttemplate.c

  flight/OpenPilot/UAVObjects/uavobjectmanager.c - added the UAVObjReadOnly query

  ground/src/libs/uavobjgenerator/uavobjectparser.cpp - added parsing of description field

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1425 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 00:15:42 +00:00
zedamota
7f76b7f5a0 OP-21/Flight Bootloader - Fixed an error introduced on last rev.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1417 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-26 16:26:51 +00:00
peabody124
c07e1416b7 AHRS: Serial output option for AHRS and corresponding serial logger.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1414 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-26 06:25:11 +00:00
andrew
2361af19fb First attempt at ccpm mixing for single rotor helicopter.
This has throttle and pitch curves implemented and can be configured for many swashplate configurations.

This has flown a 450 clone (with training wheels) and the ccpm worked well.

Still need to neaten up some stuff and work out how to implement yaw stabilisation in manual mode.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1412 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-26 06:00:57 +00:00
zedamota
d71ade8227 OP-21/Flight Bootloader - Now if USB not connected it jumps directly to FW. If connected it will wait 5 seconds for command, then jumps. Also changed led flashing to PWM and created a timer for the delays.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1409 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-25 22:31:14 +00:00
peabody124
8dd81443be OP-122 Flight: Same changes regarding 62 byte limit applied to the receiving code on the device.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1405 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-25 05:32:56 +00:00
peabody124
dd491160c5 OP-121 OP-122 Flight: Improved the Blocking/Nonblocking behavior for USB to be correct. I'd like a mutex still around the transmission buffer but don't want to slow down the interrupt.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1404 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-25 05:32:54 +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
andrew
b467b419e6 OP-103, UAVObject update.
Adding settings for configuring CCPM mixing for Helicopters to ActuatorSettings and SystemSettings UAVObjects.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1402 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-25 00:55:15 +00:00
zedamota
6da48dcc1a OP-21/Flight Bootloader Changed packet size to 64byte
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1398 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-24 18:26:44 +00:00
zedamota
f91ae974a7 OP-21/Bootloader Small change. Now turns off interrupts before jumping to code.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1393 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 21:30:09 +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
beac0c0ea9 AHRS: Get the signs for the simple algorithm correct
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1385 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 04:12:14 +00:00
peabody124
e94d3d3846 AHRS/Flight: Allow selecting simple algorithm as well as INSGPS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1384 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 03:51:08 +00:00
peabody124
bd8fffe4d0 AHRS/Flight: Renamed AttitudeSettings to AhrsSettings to make it more intuitive. Added the ability to change the algorithm from GCS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1383 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 03:39:13 +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
2596f43511 OP-120 AHRS: Moved conversion of quaternion to RPY over from AHRS to OP to minimize transfer and computational load on AHRS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1381 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 02:35:39 +00:00
peabody124
0d11493337 Flight: Added mixer settings for elevon. Also added bound checking on servo outputs which becomes important when multiple things are mixed and you want to use the full range.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1380 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 01:54:58 +00:00
cwabbott
19f6db79be Added ManualControl to the win32 and posix makefiles. Also fixed a compiler error about "No newline at end of file."
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1379 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 00:52:56 +00:00
zedamota
002c746076 OP-21/Bootloader deleted old one, commited new one. Partly functional, but slow due to current packet size.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1378 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 19:51:55 +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
zedamota
6adc834d9b OP-21/Flight Prep work for the USB HID bootloader
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1375 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 18:57:29 +00:00
zedamota
2daa229a2d OP-21/Flight Prep work for the USB HID bootloader
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1374 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 18:56:00 +00:00
zedamota
b0d1d0dd09 OP-21/Flight Prep work for the USB HID bootloader
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1373 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 18:54:57 +00:00
peabody124
60332efec0 OP-118 AHRS: Missed the auto generated files for the default values. Also no idea why last patch changed navigationsettings - either make uavobjects does differently on different platforms or someone forgot to run make uavobjects.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1372 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 17:02:12 +00:00
peabody124
0862d64b8c OP-118 AHRS: Made default calibration values friendly for people. Also fixed bug that would repeatedly trigger calibration when it was requested.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1371 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 16:43:00 +00:00
sambas
7859a130e8 Fixed bug that caused Object Browser to crash
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1369 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 08:59:18 +00:00
pip
78868216ca Fixed UART-1 structure definition error (pios_usart_cfg pios_usart_serial_cfg)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1368 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 08:59:00 +00:00
cwabbott
e27adf700b Fix posix and win32 makefiles for recent UAVObject changes.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1367 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 00:59:12 +00:00
peabody124
5662d85c4e OP-120 AHRS: Tightened up the communication protocol so it runs more quickly. Looks ok in gdb but GCS not crashing right now (rendering error) so I can't test it properly.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1366 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 00:21:54 +00:00
corvus
9bb085b7fc Documentation: Added Flowchart for HiTL mode
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1365 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 23:05:12 +00:00
peabody124
8897c441fa OP-118 AHRS: Added AHRSCalibration object and messages associated with that to AHRS. Also made AHRS run calibration only when requested. We will create a GCS plugin that runs through computing the calibration settings. To compute the variances on the AHRS set the measure variances to true, wait ten seconds, then set it to false to read it back.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1363 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 21:46:02 +00:00
patrick
564a68e825 PipBee: Updating project files to fix compile errors. Routine just toggles each LED successively. There is a known error when enabling the PIOS_COM_Init(); or more specifically PIOS_USART_Init(); which blocks at some point when called. This may be due to the pios_board.c defines which I will check later today.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1361 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 20:01:37 +00:00
pip
227b389e99 Attempt 2 - trying to get LEDs to flash
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1359 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 18:14:18 +00:00
pip
519ce846ee Just trying to get a simple 'Hello World' program going (LED flashing)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1358 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 17:14:34 +00:00
stac
b36d251bd9 ahrs: remove debug code in attitude handler
Debug code was previously using the q4 element
in the attitude message to encode a cycle counter
to measure performance on the AHRS.  This is no
longer valid.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1357 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:23:14 +00:00
stac
26e257d340 spi: slow down OP <-> AHRS spi link
Issues have been reported with CRC errors
on the SPI link between the OP and AHRS
boards.  Slowing the link down eliminates
the errors in my testing.

If we speed this link back up in the future,
further investigation will be required to
diagnose the source of the CRC errors.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1356 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:20 +00:00
stac
635df28c34 GPSPosition: Add new UAVObject for GPSPosition
This object is not yet populated or used.  This
will soon hold the raw position data from the GPS
receiver.  PositionActual will be converted to
hold the computed position from the AHRS.

Contents of this object are still subject to change.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1355 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:18 +00:00
stac
7f85143bd2 OPModule: updated GPSPosition object
Updated GPSPosition module to reflect the planned use
of a fixed a fixed point encoding for lat/lon.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1354 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:16 +00:00
stac
f388deef34 hmc5843: standardize line endings
This file had mixed line endings.  Now they're all the same.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1353 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:14 +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
stac
7b2111e512 baroaltitude: rename AltitudeActual to BaroAltitude
This is to align the object names to matches the UAVObject
architecture doc.  No functional changes.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1351 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:10 +00:00
stac
47c36b3da0 i2c: fix error in FSM for restarted reads
The transition from the ADDR state to the read state
was broken for non-final reads.  The FSM diagram was
also wrong for this transition.

Since reads are always the last transaction in a sequence
in our current usage, this doesn't actually fix any known
bugs.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1350 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:06 +00:00
stac
98822bff98 i2c: force bus free on warm starts
Since the i2c bus is bidirectional, there are certain
states (eg. part way through a read) where the slave
device is in control of driving the SDA line.

On a cold start (power on), the slave devices are all
quiescent and will not drive the bus.  However, on a warm
start (eg. watchdog or jtag restart), it is possible that as
the CPU boots, the slave device may be holding the SDA line
low.  This is a bus busy condition and will prevent the I2C
bus master in the CPU from being able to seize the bus during
init.

The fix for this is to clock the i2c bus sufficiently to ensure
that the the slave device finishes its transaction and releases
the bus.

Once the slave has released the bus, the bus master can properly
initialize and assert a STOP condition on the bus.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1349 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:02 +00:00
peabody124
ba4dc14cea OP-124 Flight: Added fields to the AHRSStatus to track failures of each of the SPI message types.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1347 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 09:21:39 +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
FredericG
fd986f3437 OP-90 Configuring the ET OSD without eLogger. The module can now read a opaque config-file from the SD-card card and send it to the OSD
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1336 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-19 17:32:18 +00:00
peabody124
3c4def13cc AHRS: Added message to pass GPS information into AHRS from OP. This is then converted
into NED reference frame and used in the INSGPS algorithm, although currently this
information isn't propagated back to OP.  Data structures related to the GPS position
into the algorithm and the position estimate out will likely be in flux.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1334 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-19 05:18:34 +00:00
peabody124
8bcff21184 Flight: Made the actuator module perform a get after set to allow configuration module to override servo position.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1329 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 20:47:36 +00:00
FredericG
0b9079e277 ET OSD: removed existing debug and config code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1327 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 19:15:43 +00:00
peabody124
cfd20922cd AHRS: Added the filtered data to the attitude raw object. Even though this seems like an oxymoron it's still raw to the EKF algorithm, and nice to see the real values after filtering to make sure nothing weird is going on. However, if people don't like this I'm open to suggestions/patches. I'd maybe suggest the whole attituderaw object be converted to ahrsraw anyway since it's more like that (eg. none of the values are actually attitude estimates).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1325 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 14:54:24 +00:00
peabody124
fda6fc8371 Merge branch 'mac_support'
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1324 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 14:29:53 +00:00
peabody124
450cf07a89 AHRS: Keeping magnetometer I2C address consistent with change to I2C driver.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1323 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 13:54:15 +00:00
FredericG
b46bc68e96 "addr" field of I2C transaction struct now takes real I2C address, and not address that is pre-shifted to accommodate the R/W bit
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1321 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 10:04:55 +00:00
FredericG
be2f5bbf70 ET OSD: Adapt to new I2C API
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1316 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 09:31:54 +00:00
peabody124
4cba4929c2 AHRS: Fixed another bug in decimation code - I stupidly used Matlab 1 based indexing. Adjusted timing of AHRS so it can process all the data and doesn't miss updates. Finally adjust all inputs to INS to have correct sign and orientation (I think). This is X is forward, Y is right, and Z is down which is mentioned in the forum as our standard and fits the algorithm. The magnetic sensor driver should be modified to return in this order (currently reads X,Y,Z registers which maps to left, back, up) but maybe since it's a board dependent orientation it's better where it is.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1315 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 05:47:44 +00:00
dschin
9ae9c87574 Six point sensor cal for accels and/or mags
Uploaded here for now - belongs in GCS probably.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1310 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-17 19:02:07 +00:00
peabody124
64bcebb87a AHRS: Fixed bug in the downsampling code (used a += a + blah, dumb). Also added initialization of the magnetic flux based on fixed GPS settings (I hope you're near Houston). I will add the GPS communication shortly.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1307 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-17 05:32:07 +00:00
dschin
ae18a8e89c Added general functions for coordinate conversions
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1306 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-17 00:09:32 +00:00
dschin
4f31bfbef7 Fixes for the project files. Hopefully they don't break someone else.
Eclipse Workspace:
- Made project in Eclipse workspace point to trunk/flight
- Re imported launch configurations from previous version

OpenOCD
- added "ft2232_device_desc "Dual RS232-HS"" back to jtag cfg files because windows didn't like it w/o it.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1305 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-16 23:40:27 +00:00
peabody124
f74268b5e5 Cleanup and documentation.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1304 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-16 16:58:24 +00:00
peabody124
a23f3c66f4 Behaving reasonably, added calibration code which runs by default on startup and take 6 seconds - this will be called from GCS in future and saved to SD card.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1303 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-16 16:58:22 +00:00
peabody124
e0d63103ec Added a testing function for INS - currently doesn't stabilize for fixed inputs. Fixed two bugs I found in INSGPS (R[10] instead of R[9] initialized and Nav.Pos[2] was set to wrong X element).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1302 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-16 16:58:20 +00:00
peabody124
d2e234b53a Adding the code from Dr. Dale to the AHRS. Currently diverges though, but not on the PC.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1301 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-16 16:58:18 +00:00
peabody124
ddbd4f8c80 Simple attitude calculation based on gravity and magnetic vector
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1298 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-15 06:03:44 +00:00
peabody124
3f408ad655 AHRS: Changing AHRS to use a DMA double buffering scheme with continuous samping for the analog data, then a simple fixed point FIR/decimate function. Currently all the oversampling parameters are hard coded as definitions, but will be updated to be configurable via settings.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1297 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-15 04:09:01 +00:00
peabody124
cc2441d41b Adding ADC downsampling code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1296 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-15 04:08:57 +00:00
peabody124
ed70cb4794 [AHRS] Missed a setting for the ADC configuration.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1292 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-15 01:12:00 +00:00
stac
3125ecfc4e AHRSComms: altitude sensor data is now sent to AHRS
Altitude/pressure sensor data is sent to the AHRS whenever
the AltitudeActual object is updated.

Altitude, Pressure and Temperature are sent as floats.
Same as in the UAVObject that goes to the GCS.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1291 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-15 01:02:13 +00:00
peabody124
d4c5dba234 [PIOS] The ADC mappings are strange because of the way the DMA engine works. Basically data is packed 16 bits ADC2 then 16 bits ADC1 channels, so the accels are pins [4 2 0] currently. Also there is inconsistency between the names of the pins in the config file which uses 1 based indexing and the index for PIOS_ADC_PinGet which is zero based and has to account for this interleaving. Probably should adjust config file to be zero based and then to make those pin numbers map to the function call. The actual order they appear is arbitrary as the ADC engine can scan in whatever order.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1290 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-15 00:53:30 +00:00
stac
c3e509c2cb attituderaw: Replace HeadingActual with AttitudeRaw
AttitudeRaw now includes:
 - magnetometers XYZ (in mG)
 - gyros XYZ (raw ADC samples)
 - accelerometers XYZ (raw ADC samples)
 - placeholder for gyro temp sensors (read as zero for now)

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1289 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-14 23:42:14 +00:00
stac
5d635d4233 uavobjects: regenerate existing uavobjects
No functional change, uavobjects were not regenerated since last
change to the object generator.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1288 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-14 23:42:07 +00:00
vassilis
a075eafb98 FlightArchitecture: Updated description of Stabilization module (air/ground speed handled by guidance module)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1285 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-14 14:19:33 +00:00
vassilis
9cd76fbe46 FlightArchitecture: Added Climbrate and Airspeed fields in Position objects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1284 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-14 14:04:28 +00:00
vassilis
697b3510fb Flight: First release of module architecture and dataflow diagram (still work in progress)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1283 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-14 03:02:21 +00:00
peabody124
a084d21804 Merge branch 'watchdog'
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1281 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-13 05:18:17 +00:00
cwabbott
c1cf1ec71b PiOS/Win32: Most stable version of port.c so far. Changed Makefile.win32 to use mingw32-gcc to avoid conflicts.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1278 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-12 14:32:52 +00:00
dschin
487b61473e git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1268 ebee16cc-31ac-478f-84a7-5cbb03baadba 2010-08-11 16:18:24 +00:00
cwabbott
1125311083 Fix Eclipse project files.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1252 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-09 18:24:26 +00:00
cwabbott
f041569bfe fixed a small problem in port.c, also added some debug statements.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1246 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-08 18:38:03 +00:00
stac
f74c6ffdd5 i2c: rewrite i2c layer
The STM32 I2C block has a number of errata associated with it.
These errata are primarily related to timing sensitivities between
the peripheral and the interrupt handler.  In particular, the
correct generation of the stop bit relies on the I2C IRQ running
immediately and not being held off for any reason.

NOTE: The I2C interrupts must be the highest priority IRQs in the
      system to ensure correct operation.

I2C protocol is now implemented as a formal state machine.
See: stm32_i2c_fsm.{dot,jpg} for FSM description.

I2C init is now expressed by const initializers in pios_board.c
for both OP and AHRS boards.

I2C device drivers (ie. bmp085/hmc5843) now pass in const arrays
of an unlimited number of bus transfers to be done atomically.
The I2C adapter driver now handles all bus-level locking across the
list of transactions.  Generation of start/restart/stop conditions
are handled automatically over the list of transactions.

Timeouts have been removed from the API for now.  May be added
back later.

This driver has run error free on both the OP and AHRS boards for
up to 48hrs but it still sometimes fails earlier than that on the OP
board.  There is another possible set of improvements to the driver
that could employ the DMA engine for transfers of >= 2bytes.  This
change would reduce the timing sensitivities between the peripheral
and the driver but unfortunately, both the SPI and I2C interfaces
share the DMA1 engine.  That means only one of these two peripherals
can use the DMA engine and right now, SPI between OP and AHRS is
already using it.

Failures are currently fatal and will lock up the CPU.  This allows
useful information to be obtained in the failure cases.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1241 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-08 04:15:08 +00:00
stac
b6c1f43145 i2c: Change API to allow passing const config data
Mark the I2C_InitStruct parameter as const so that we can pass
const data as the initializer.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1240 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-08 04:14:58 +00:00
stac
f66e2cbd86 battery: fix doxygen header info
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1239 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-08 04:14:56 +00:00
stac
9050b9d26a ahrs_fsm: minor style fixups
No functional changes.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1238 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-08 04:14:55 +00:00
stac
a320a3e4d4 build: Turn modules back on
The modules were disabled for some reason in r1172.
This just turns them back on for the real targets.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1237 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-08 04:14:53 +00:00
stac
d7856b3d0a gdb: Do not automatically reset target in gdb init file
The gdb init files would previously reset the target immediately
when gdb started up.  This is sometimes an unpleasant side-effect
of running gdb.

In order to connect to the target, use the new "connect" function.
To reset the target use "mon reset".

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1236 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-08 04:14:52 +00:00
zedamota
a688b95eb6 Flight firmware-Start of the new bootloader
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1235 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-08 00:14:22 +00:00
dankers
297985c2a0 Move old bootloader to bootloader.old
This should be removed at some point but can wait till we have a working bootloader.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1234 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 23:55:28 +00:00
cwabbott
6f553efe45 debug_printf() for PiOS.win32. There are still many issues :(.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1226 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 02:30:35 +00:00
peabody124
0fdfbb2ffb Deleting old USB code that I meant to delete a while ago. Also changed names of some functions to OP. Finally fixed the USB taking over PIOS telemetry. Detects the USB cable and that the configuration has been taken by the USB bus.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1217 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 23:43:52 +00:00
peabody124
0eac218572 Small update to make ManualControl get the command after setting it. That way if the flight system isn't meant to overwrite it (i.e. flying via GCS) it uses the right value. I think this should actually be the default behavior of UAVObject set... awaiting feedback from Vassilis.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1214 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 19:56:36 +00:00
pip
611aee73ad Removed I2C support from PipBee as it's not used. Added 4 LED definitions.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1208 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-04 17:35:48 +00:00
pip
0331f05e9a Added extra LED's .. now up to 4 LED's .. (PipBee has 4 controllable LED's)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1207 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-04 17:32:42 +00:00
cwabbott
d910b8f756 slight changes to get PiOS.win32 to compile
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1205 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-04 14:21:58 +00:00
dankers
1a0f2e81e8 Foundations for PipBee modem code.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1203 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-04 09:37:09 +00:00
cwabbott
c2508bbb9e PiOS for win32
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1200 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-03 19:29:14 +00:00
dankers
a3c1bbfc95 Remove no longer needed SDCard Files
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1190 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-01 14:00:09 +00:00
sambas
7f6336d324 OP-22 Flight/PiOS: Spektrum reworked, input is mapped to old aux in receiver connector, works nicely with calibration plugin. Also bind works, just needs config flag to bind on powerup
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1189 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-01 10:34:07 +00:00
peabody124
47da7326e7 Damn thought I'd commited this
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1176 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-29 13:50:24 +00:00
peabody124
23ed7c8435 Removing the device_desc line since it seems to advertise differenetly across platforms and openocd doesn't require it. Please revert this change if it starts block other OS but I don't think it will
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1175 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-28 21:29:27 +00:00
peabody124
7e6afe5a75 Updated HID code to do packet processing in OS indepdent layer. Should now work on all platforms. Please test and get back to me. Maximum object size of 62 bytes currently.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1174 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-28 18:55:04 +00:00
corvus
02a78f0470 moved Vassilis stabilization module as of r1153 into Stabilization/simple
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1173 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-28 15:03:55 +00:00
corvus
9ad9ffd466 moved new stabilization code into experimental subdirectory
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1172 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-28 15:00:51 +00:00
corvus
c8486d08e4 Fixed some bugs in OpenPilot Core.
- syntax error in pios_board_posix.c introduced with Doxygen comment blocks
- platform dependant code had been added to openpilot.c instead of pios_board.c
- redundant header inclusion (stm32... already included by PiOS)


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1171 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-28 14:34:48 +00:00
dankers
32e6d53b23 Small comment issue that was causing build to fail
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1170 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-28 11:28:18 +00:00
edouard
9145a4b1a6 Doxygen work: created "OpenPilot System" group for system libraries and core files. Changed a typo on the Osd Doxygen. Let me know if you're OK with this approach.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1169 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-28 07:28:21 +00:00
peabody124
6f63c10dca Removing more debugging comments
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1168 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 23:48:12 +00:00
peabody124
3144e3157c Added back checks on USB cable so falls back to serial telemetry if not plugged in
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1167 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 23:11:28 +00:00
peabody124
27bcd20882 HID working on Mac for telemetry. Need to tweak GCS code for Win/Linux
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1166 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 20:50:20 +00:00
peabody124
dac82b3c17 Getting closer for HID. Now a well behaved HID device. Just need to update GCS plugin for new data format and make PJRC wrappre work properly on Mac
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1165 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 19:09:55 +00:00
peabody124
27d429fe18 Got better HID report design with valid data length embedded in report
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1164 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 17:41:56 +00:00
FredericG
66e22b56ce Fix in bmp085 driver. Was not checking correctly if lock on I2C succeeded => caused an assert when used in combination with other I2C devices
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1163 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 09:52:45 +00:00
FredericG
efaa6c910b MKSerial: also report ground-speed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1162 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 09:49:47 +00:00
peabody124
eb41a84acf And this
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1161 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 08:09:43 +00:00
peabody124
7d7802593e Oops, sorry missed these files
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1160 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 08:08:50 +00:00
peabody124
fe616df48d Further tweaks. Will start trying to get reliable communication with larger report size tomorrow
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1159 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 07:56:50 +00:00
peabody124
840f7ff456 A version of the firmware that successfully Acks back and forth over HID. Still need to refine the PIOS interface and make GCS strip out the report ID data (if necessary). Also note: currently if you run too many modules the watchdog timer kicks in. I haven't determined if this is due to an interrupt binding up or what (and why it doesn't happen more often since I can't find any code that explicitly resets the WWDG).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1157 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 06:22:34 +00:00
peabody124
d89cd43cd1 Further tweaks to the HID update
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1156 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 05:28:04 +00:00
peabody124
c46dcea73a Pretty major update of the USB HID core. Removed a lot of old code related to custom drivers and BSL (which will be brought back under HID). Device enumerates but still not communicating. Hopefully nothing broken, lots changed.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1155 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-27 03:19:07 +00:00
corvus
2621d07574 Added UAVObjects: FlightSituationActual NavigationSettings NavigationDesired
- Added FlighSituation Module (development module for sensor fusion, mostly stub, possibly renamed later)
- Added Navigation Module (development module for navigating towards a point in space - DEVELOPMENT CODE, NOT STABLE YET (I am testing around with this)) 
- Changed Stabilization Module (uses local reference frame now. Stable except for code cleanup/review. Tested in simulator and outperforms old code.)



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1154 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-26 21:26:28 +00:00
dankers
dab978cf98 DOh! should have been part of last commit.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1151 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-23 04:35:10 +00:00
dankers
1fb8fc797c Floss-JTAG file for new Revision B of Floss-JTAG (Rowan JTAG).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1150 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-23 04:34:32 +00:00
dschin
e5c19a38c5 In the the \OpenPilot\flight\Project\OpenOCD directory there were two JTAG debugging config files:
1) floss-jtag.arhs.cfg
2) floss-jtag.openpilot.cfg
But the Eclipse project the "external tools configurations" for the OpenOCD Debug is looking for the "floss-jtag.cfg" file in the command line arguments. The added file "floss-jtag.cfg" is a simply a copy of "floss-jtag.openpilot.cfg". The .arhs.cfg doesn't play well by itself.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1129 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-17 22:43:26 +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
sambas
f5c24d169e flight/osd: Parse config into setupbits and parameter slots
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1115 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-16 15:24:29 +00:00
peabody124
99e94228a9 More doxygen updates
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1106 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-16 05:31:11 +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
peabody124
5c41f95a1e Updating OSX project file for new file locations
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1100 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-15 02:16:54 +00:00
peabody124
ebeffa4392 Linux compiler error fix
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1097 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-14 15:45:36 +00:00
peabody124
700af355d4 Moved platform dependent configurations to FreeRTOSConfig.h and set windows to run without preemption to reduce CPU usage
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1096 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-14 15:34:57 +00:00
corvus
aa53b57d55 Changed the Build directory for posix port from Build/ to Build.posix/
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1090 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-14 10:08:03 +00:00
corvus
48db68fe3c add some self made FreeRTOS scheduler documentation
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1088 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-13 18:55:26 +00:00
peabody124
53b90b9492 Updated to use sigwait as an alternative to signals for the timer. Also, added per task suspend/resume flags which should make sure things behave nicely
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1087 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-13 18:29:39 +00:00
corvus
fa57e42efa Deleted OpenPilot.posix branch. Integrated portability modifications into main tree
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1086 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-13 16:23:41 +00:00
corvus
65d0c93680 Added some comment lines for peabody124 to read ;)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1078 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-12 17:15:00 +00:00
peabody124
68be63bc50 Conditional signaling now works on linux
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1075 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 21:42:59 +00:00
peabody124
cd5c03b809 Ugh, cross platform development.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1073 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 20:46:22 +00:00
peabody124
0bc526a142 Got the tick handler working on linux so it doesnt jump onto the wrong thread
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1072 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 20:38:20 +00:00
peabody124
4c4d1ca420 Also added sched_yield().
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1071 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 20:27:03 +00:00
peabody124
9ff624bc0f I'm an idiot. I put ifndef __darwin__ when I meant ifdef. Works on linux now with minimal CPU.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1070 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 20:23:34 +00:00
corvus
ae4a52e0ed test cases for signal handling
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1069 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 16:43:41 +00:00
corvus
71589d2246 simple segfault reproduction
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1068 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 15:11:26 +00:00
corvus
0efc69055e fix in print function *ducks*
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1067 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 13:57:20 +00:00
corvus
1dd60b54f6 thread safe printf implementation now
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1066 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 13:20:22 +00:00
FredericG
5bb4fedc7f attitude seq field was removed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1065 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 12:25:43 +00:00
corvus
ece979a4e1 ported latest changes by Vassilis and Stac to Posix version
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1064 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 12:13:43 +00:00
peabody124
c6b495cdcc This version runs stably on all three platforms for me. Corvus, please feel free to revert these changes if you want or have a better solution. Also only Mac tested with GCS, the rest just sit there running nicely
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1063 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 02:23:11 +00:00
peabody124
dd598a75a4 This version runs stably on all three platforms for me. Corvus, please feel free to revert these changes if you want or have a better solution. Also only Mac tested with GCS, the rest just sit there running nicely
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1062 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 02:22:24 +00:00
vassilis
9f2a01a78a Flight/Servo Fix Servo driver buffer overflow, was messing up the I2C and altitude readings, now working fine. Servo index used to be 1-8 but the Servo driver was indexing a buffer out of bounds. Changed everything to use index 0-7 for servo outputs.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1061 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 01:54:43 +00:00
stac
3896baa908 usb hid: fix compiling with ALLOW_HID_TELEMETRY
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1060 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-10 14:56:27 +00:00
peabody124
bd197886e5 Added some include files for task.c and removed an asserting that is sometimes violated in the signal handler
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1059 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-10 14:07:28 +00:00
peabody124
083886615a Ok, so its run for a bit on my windows and mac computer, although I've seen a few glitches. Also, need the version of tasks.c in peabody124 which disables interrupts while in the nanosleep command. Unfortunately for windows I have to turn of all the cpu optimization code to make it reliable for now, so it eats cycles
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1057 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-10 07:31:58 +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
peabody124
db1dde5d8c Pretty major rewrite which can either run with thread monitoring (windows) or with conditional waits. Definitions in file set mode, but robust for all modes on OSX, now for windows testing
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1054 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-10 06:25:33 +00:00
peabody124
60fda40c42 Much more stable on windows now
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1048 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-08 16:24:34 +00:00
corvus
cb9afef32d Pios.posix - FreeRTOS port for cygwin - test-file to debug signal and mutex handling
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1047 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-08 10:28:50 +00:00
peabody124
c2cb17ffe7 Working on windows
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1046 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 20:43:05 +00:00
peabody124
bd13811255 A ridiculously simple version that just avoids almost all signal handling needs
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1045 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 18:36:05 +00:00
corvus
2ebe830624 reverting accidental commit
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1044 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 17:47:22 +00:00
corvus
5c7324a28b PiOS.posix - thread management - another variant to test on win32
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1043 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 17:45:12 +00:00
peabody124
5f174108b1 Initial work on pthread_cond based locking, minimizing signal handling (but trusting mutexes)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1042 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 17:43:12 +00:00
corvus
3370f75da1 PiOS.posix - more changes to increase cygwin runability
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1041 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 16:40:38 +00:00
corvus
f82783d77e PiOS.posix | more attempts to fix it on win32
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1040 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 14:43:36 +00:00
peabody124
5f6b3eb11a XCode project file for Mac development (for the Posix port)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1039 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 14:28:48 +00:00
corvus
034d66197b PiOS.posix: bug fix in new scheduler emergency handler
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1038 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 13:09:42 +00:00
corvus
447be5c0a0 PiOS.posix - new version of debugging enabled custom port.c
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1037 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 12:21:36 +00:00
corvus
64a8302f5a PiOS.posix scheduler - added port.c with debug output for testing
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1036 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 10:47:23 +00:00
corvus
0662269625 some fixed - might run on windows now
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1035 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 09:40:17 +00:00
peabody124
48596e838e Cleaned up some signal handling a bit, some handshaking at task switching. For some reason nanosleep occasionally causes problems. Something about it not being a cancellation point
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1034 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-06 23:25:34 +00:00
peabody124
6caf552753 My version that works on linux and mac, not windows
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1033 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-06 22:51:58 +00:00
corvus
ec48207755 PiOS posix scheduler - added simple docu about scheduler work
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1032 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-06 21:56:43 +00:00
corvus
7aa693ed3e PiOS posix port - threading - test implementation
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1031 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-06 21:55:22 +00:00
corvus
b13f8296dc POSIX port: some improvements as suggested by stac
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1024 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 21:44:09 +00:00
corvus
2e373c5dfc pios_com_udp: explicit type cast to prevent compiler warning
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1020 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 11:24:43 +00:00
corvus
455a99a3cf some changes to increase platform independence
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1017 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 09:27:53 +00:00
corvus
c7479b796b merged chages 995:1015 into posix branch
(See? That's why I hate branching - thank the gods that subversion has the "merge" command)


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1016 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 08:50:40 +00:00
stac
17bea4cb91 ahrscomms: connect the OP board to the AHRS board
The AHRS comms module now sync's with the AHRS and
exchanges interesting data periodically.  Whenever
the link to the AHRS is down, the AHRSComms alarm is
raised.

This is fairly basic for now but provides the last
piece of the infrastructure to move data back/forth
between the OP and the AHRS.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1014 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:49 +00:00
stac
05485e5b63 ahrs: tie main loop into SPI link FSM
- AHRS mainloop now runs flat out updating sensor data and
processing any messages sent from the OP board.
- Raw data is provided from the magnetometers
- Fake data is provided for attitude solution
- Correct data is provided for serial number queries

Note: There is a bug in the i2c code that very quickly leaves the
      magnetometer in a broken state and returning incorrect values.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1013 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:47 +00:00
stac
29a8f05ac9 mag sensor: put some bounds on the parameters
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1012 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:45 +00:00
stac
a3a2dbd634 spi: Add support for hardware CRC generation/checking
PIOS SPI devices may now make use of automatic CRC generation
and checking on block transfers.  Only supports CRC8 for now.

Since the SPI interface CRC calculation continues across message
boundaries (ie. not reset on every transfer), we must manually reset
the CRC registers for every transfer to allow the two sides of the
link to resynchronize.

Unfortunately, resetting the CRC registers requires disabling the
SPI peripheral which must now be done on every block transfer.

Note: The last byte of the tx buffer is never sent and is assumed to
      be a place holder for the tx CRC8.
Note: The last byte of the rx buffer is expected to hold the rx CRC8.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1011 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:42 +00:00
stac
c12b7e3fed spi: tx buffer is now const
Tx buffers should not be modified.  This allows passing const data
to the transfer function.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1010 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:40 +00:00
stac
548a32f18b attitude: Rename Attitude module to AHRSComms
The Attitude module will soon be handling updates for all UAVObjects
that require data from the AHRS.  To reflect this expansion of scope,
it has been renamed to AHRSComms.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1009 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:37 +00:00
stac
1425ab1786 ahrs status: Add AhrsStatus UAVObject
This object currently only holds the serial number of the attached
AHRS board.  This will be retrieved each time communications are
(re)established with the AHRS board.

This will eventually be extended to hold some statistics for OP to
AHRS comms.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1008 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:34 +00:00
stac
1bbc8381c0 heading: Add HeadingActual UAVobject
This object currently holds only the raw magnetometer readings and
an instantaneous heading calculation which are only really useful
for debugging.  The contents of this object will change often as
development progresses.

Note: The magnetometer values are often garbage due to a problem
with i2c software on the AHRS.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1007 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:31 +00:00
stac
0e6294ca27 spi: remove internal pull-up from input data lines
The input data lines between the OP and AHRS boards had internal
pull-ups enabled.  This seemed to be causing issues early on
during development of the inter-board comms.  Not sure if this
is still necessary but this is how the current code was tested.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1006 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:26 +00:00
stac
e3824a6d78 ahrs spi: Add AHRS SPI link management FSM
To the outside world, the AHRS can be in one of only a few
primary states:
 Not present - AHRS is absent or non-responsive via SPI
 Inactive - Only link-level status messages are processed
 Ready - Ready to receive the next application level message
 Busy - Application level message is being processed

Internal to the AHRS, there are many more states that need to be
managed.  This FSM provides the necessary decoupling between the
ISR (which is being driven by the SPI link) and the AHRS main
processing loop which must continue to run its filters independently
of the SPI messaging rate.

With this structure, SPI messages can be received at any time but
processed at only specific points within the filter chains.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1005 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:22 +00:00
stac
89a6d6d912 ahrs spi: Add definition of OP<->AHRS SPI protocol
This defines the SPI message format as well as a few
initial messages for moving data across the link.

The v0 messages are place holders for firmware download
in the bootloader.

The v1 messages are to be used by the main application.

Note: This is not the final protocol definition.
      Subject to change without notice.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1004 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:15 +00:00
stac
3eceef43d3 spi: Connect device specific DMA IRQ handlers
Mark the device specific DMA IRQ handlers as strongly linked
aliases for the genericly named interrupt vector symbol.

Here's how this works...
 * The address of the symbol DMA1_Channel2_IRQHandler is written
   into the DMA1/Channel2 interrupt vector by the linker script.
 * The startup_*.S file specifies Default_Handler() as a weakly
   linked alias for DMA1_Channel2_IRQHandler.
 * We now override the weakly linked alias with the strongly linked
   PIOS_SPI_sdcard_irq_handler().
 * This results in the address of PIOS_SPI_sdcard_irq_handler() being
   written to the vector table for the DMA1/Channel2 interrupt.
 * The PIOS_SPI_sdcard_irq_handler() function is now called whenever
   the DMA1/Channel2 interrupt fires.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1003 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:13 +00:00
stac
b084fc4be5 alarms: Add alarm for AHRS Communications
The AHRSComms alarm will be raised whenever the OP board
is not able to communicate with the AHRS board.

The navigation software on the OP board could use this
alarm to trigger its best attempt at an emergency landing.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1002 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:11 +00:00
stac
71e491e3c1 com: mark tx buffer as const throughout API
The com layer transmit functions should provide guarantees
that they will not modify the buffer that you're transmitting.
Declaring the parameter as a pointer to const keeps the underlying
implementations honest.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1001 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:08 +00:00
stac
1cc6981ee5 attitude: Remove seq field from uavobject
The sequence number field for the attitude solution is
likely unnecessary.  Removed.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1000 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:04 +00:00
stac
4f8d81343f spi: assert on invalid SPI device
TransferByte API is simplified to either assert or
return the rx byte.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@999 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:21:00 +00:00
stac
1169514bf9 sd card: fix SD R1 detection
SD R1 response format is defined as any byte with the MSb
cleared.  The code was testing for any byte that was not 0xFF
which can lead to misinterpreting a byte as the response.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@998 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:20:57 +00:00
stac
5c230e734d ahrs: Turn on -Werror for AHRS build
Disallow warnings of any kind in AHRS code.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@997 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-04 02:20:54 +00:00
corvus
edcf4f76f0 deleted patch file since it's no longer needed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@996 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-03 21:51:37 +00:00
corvus
e2176d3117 - renamed PiOS.x86 into PiOS.posix
- created temporary branch of OpenPilot (OpenPilot.posix) in order to test multi platform changes on hardware before committing to the main branch



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@995 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-03 21:50:13 +00:00
corvus
8cd1a494ab decrease FreeRTOS idle CPU on x86 load from 100 to 0.001 by adding call to nanosleep.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@992 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-03 09:36:01 +00:00
sambas
1a7a9aa250 flight/osd: config write retry routine, my original empty config array.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@986 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-02 18:49:42 +00:00
sambas
aa1ddca8bf flight/osd: ET osd write config work, dump format also same as write array. use with caution
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@985 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-02 14:54:04 +00:00
corvus
ad4008bc11 minIni removed from PiOS.x86
added x86 patch to subversion since JIRA is acting up



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@967 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-01 10:34:25 +00:00
dankers
0d38dfc745 Minini removed from PiOS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@966 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-01 08:57:40 +00:00
dankers
e47f755c30 Minini removed from OpenPilot
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@965 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-01 08:57:06 +00:00
dankers
84c944b4fe Old Documentation removal, legacy from very early in the project. This information should be on the Wiki.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@962 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-01 04:44:35 +00:00
peabody124
6715565727 Make CODE_SOURCERY switch affect rm command
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@909 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-27 19:44:39 +00:00
corvus
694f7e7feb OP-85
x86 port of PiOS - including pios_com -  UDP support



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@905 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-27 14:14:07 +00:00
FredericG
55f13788de FlightBatteryState Object : Made Voltage and Current fields float
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@895 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-26 10:59:11 +00:00
FredericG
8204143f9d MKSerial: Do not generate BatteryState as this is now generated by the battery-module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@894 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-26 10:31:27 +00:00
FredericG
302be3ee6f OSD: Send battery-current info to OSD. Consumed mAh is calculated by the OSD
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@893 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-26 10:27:10 +00:00
vassilis
c74eb2f0e9 OP-26 Flight/Stabilization First release of stabilization module. Tested using FlightGear, default tuning is for the HITL simulation. Works fairly well but a number of improvements can be made to aid tuning. The ManualControl settings must be first set as you would normally do for HITL simulation, flight mode is changed using the mode channel.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@887 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-25 02:28:16 +00:00
FredericG
6ef11148b5 First version of battery module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@882 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-24 11:10:43 +00:00
FredericG
6c40edccf2 ET OSD: WIP: dumping of config-blob to serial port
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@852 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-21 20:02:03 +00:00
FredericG
3bc938d45e lowered I2C timoout whne using RTOS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@842 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-21 09:19:02 +00:00
FredericG
d7390a07a5 MKSerial: use AUX port
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@840 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-20 18:08:41 +00:00
FredericG
c8f818a809 Do not configure the servo outputs when ENABLE_AUX_UART
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@839 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-20 18:02:26 +00:00
FredericG
fba5164634 Enable AUX UART with ENABLE_AUX_UART in Makefile
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@838 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-20 18:01:21 +00:00
FredericG
5d9a718430 Made pios_com_num_devices const
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@837 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-20 17:59:48 +00:00
FredericG
e5c795e42b Remapped UART_AUX from PA9/10 (RX inputs) to PB6/7 (Servo output)
Rationale: (http://forums.openpilot.org/topic/800-rev-761-mkserial-adapt-to-com-usartx-pios-com-x/page__view__findpost__p__2203_)
  

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@836 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-20 17:48:59 +00:00
FredericG
eac1d8a06b No need to include telemetry.h in openpilot.c
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@835 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-20 17:43:00 +00:00
FredericG
524201d3b6 MKSerial: Complete PositionActual Obj
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@818 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-19 11:04:49 +00:00
FredericG
ceadcf49a0 OSD: Also use PositionActual object
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@817 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-19 11:02:43 +00:00
stac
20fa15c24a spi: fix block transfers
SPI block transfers were broken in commit r759.  Block
transfers are primarily used by the SD card interface so
this also broke accesses to the SD card.

SD card accesses should be fixed now.  Verified by writing
config objects in the GCS and confirming that they survived
a reboot of the OP board.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@808 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-18 04:28:32 +00:00
dankers
69d2c1b546 Add flightbatterystate to the GCS, ran uavobjgenerator on all XML files. .cpp and .h included for GCS now, uncommented out these files from the uavobjects.pro.
Moving sounds folder to shared. Some sounds will be uploaded later.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@792 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-17 10:06:51 +00:00
fredericg
369657d52e FlightBatteryState object changed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@786 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-16 13:41:10 +00:00
fredericg
23b2771602 OP makefile, traces under dos did not work well
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@785 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-16 13:38:49 +00:00
FredericG
e3815bf8b8 OSD: start displaying real data WIP
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@765 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-14 16:50:01 +00:00
vassilis
106bdca20e Flight/Actuator Go to failsafe actuator outputs when a command is not received
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@763 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-14 02:00:16 +00:00
fredericg
0731747d84 new object: FlightBatteryState
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@762 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-13 17:21:31 +00:00
fredericg
4e15413fc9 MkSerial, adapt to COM_USARTX => PIOS_COM_X
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@761 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-13 11:18:42 +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
stac
8d015a57d0 pios spi: support both master and slave configs
Added support for SPI slave configurations to the pios SPI layer.

Converted the board specific configuration for the PIOS SPI layer to
use const static initializers rather than #defines (see pios_board.c).

SPI interface between the OP board and the AHRS is now operational at
a basic level, capable of moving simple single byte messages between
boards.  Multi-byte, CRC protected messages will be added on top of this.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@759 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-13 04:23:44 +00:00
stac
02e0017cbb stm32 lib: declare read-only parameters as const
Many of the STM32 library functions take a pointer to an
initialization structure.  In nearly every case, this struct
is a read-only (ie. const) parameter.

It is advantageous (and good coding practice) to actually declare
read-only data as const so that the compiler can place the const data
in the .rodata section which resides in flash and doesn't consume any
RAM.  This has the added bonus advantage that it is impossible for the
running application to corrupt the read-only data.

In order to allow passing pointers to const data into the library
functions, it is essential that the function prototypes also declare
their associated read-only parameters as const.  This commit adds
the const attribute to those parameters that are actually read-only.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@758 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-13 04:23:15 +00:00
stac
aebc358e46 usart: use macro definitions for bit positions
No functionality changed.  Clean up only.

Changed a few of the (1 << x) constructs to use existing macro
definitions to improve code readability.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@757 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-13 04:22:57 +00:00
stac
8b5e1e8aea init cleanup: use irq stack during early init
No functionality changed.  Clean up only.

Make early init code (Reset_Handler) use the existing irq stack
rather than the hard-coded one.

Remove (now) unused references to the hard-coded stack.

Removed the link-time check for a minimal task stack in RAM since
FreeRTOS allocates user stacks from the heap which is already reserved
in the .bss section (as symbol xHeap).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@756 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-13 04:22:47 +00:00
stac
90f9e6d309 openocd: support OP and AHRS at the same time
Split the floss-jtag.cfg file into separate versions
for OP and AHRS.

Push AHRS onto non-default ports for gdb, tcl and
telnet.

Update the AHRS gdb setup script to point at the new
gdb port.

Add (commented out) example sytax to support distinguishing
between multiple floss-jtag boards that don't have serial
numbers.  Uses the usb bus address of each device as the
selector.  See this patch posted to the openocd mailing list
for how to add this functionality to openocd:
  http://lists.berlios.de/pipermail/openocd-development/2010-June/015785.html

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@755 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-13 04:22:30 +00:00
FredericG
f8b793e54d ET OSD, WIP. Encoding of voltage and GPS data is now known
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@750 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-12 17:44:24 +00:00
fredericg
39aaf0868a MkSerial: Adapt to GpsPosition => ActualPosition
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@744 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-11 15:54:13 +00:00
vassilis
b6160c8a9b Flight/Telemetry Avoid bunching of periodic updates by spreading them.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@739 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-11 02: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
5472d531e7 Starting OSD module for ET OSD Std
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@732 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-09 20:43:43 +00:00
fredericg
e550243c13 Removed unwanted quotes in build-output when building under windows/dos
before
  "**** Compiling C :" ../PiOS/STM32F10x/pios_sys.c "->" Build/pios_sys.o
after
  **** Compiling C : ../PiOS/STM32F10x/pios_sys.c -> Build/pios_sys.o

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@731 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-09 16:38:10 +00:00
FredericG
2895925bd2 Small fixes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@726 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-07 19:56:42 +00:00
fredericg
426b4344b0 Detect if connected to NaviCtrl or FlightCtrl and use appropriate messages - untested
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@725 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-07 14:50:48 +00:00
fredericg
2e6e2537f5 Fix: including of Example Module did not work any more
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@724 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-07 11:12:58 +00:00
fredericg
ef73edfd0d Detect of quotes are needed and use quotes in echo-commands while generating InitMods.c
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@723 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-06 16:21:21 +00:00
FredericG
db629cebc5 Some cleanup
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@717 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-05 15:32:57 +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
FredericG
7476aa61b9 Fixes: TO did not work / values need to be signed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@712 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-03 19:57:58 +00:00
fredericg
f8f2c3b5d2 Timeout detection in WaitForMsg
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@711 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-03 16:31:48 +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
stac
a03b948fb5 gdb: add gdb init + hooks for AHRS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@708 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-03 13:58:16 +00:00
fredericg
6577dce1d5 Report attitude obj
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@707 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-03 11:32:02 +00:00
fredericg
59250845ea MKSerial: composing messages
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@703 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-02 19:44:57 +00:00
FredericG
4d227cd8b6 MKSerial: print attitude
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@702 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-06-02 06:57:41 +00:00
fredericg
a2beb49257 Changed PIOS_DEBUG_Panic()
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@694 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-31 16:22:58 +00:00
fredericg
17f6646f6e Simplified the way test-applications can be built
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@693 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-31 16:22:10 +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
fredericg
0fc8240b12 Display incoming messages - untested
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@688 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-30 13:28:53 +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
vassilis
6414887dcc Flight/ManualControl Added support for reversing inputs
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@685 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-30 01:58:15 +00:00
vassilis
c22804e90a Flight/UAVObjects Modify update rate and acked flag of periodic objects, added new gpsobject fields
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@684 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-30 01:56:43 +00:00
fredericg
dc2e7a041a Moved MKSerial to Modules/MK dir
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@672 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-27 10:30:39 +00:00
stac
140a51932f spi: fix cut/paste error for AHRS SPI setup
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@669 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-27 01:37:43 +00:00
stac
918250868b irq_stack: correct one word overlap of _irq_stack_top
The previous fix in r652 was _almost_ right.  There was
still a one word (4-byte) overlap between _irq_stack_top
and the start of the data segment.

_irq_stack_end + _irq_stack_size leaves the '.' pointer at
the word immediatly after the stack.  This commit corrects
this error and places _irq_stack_top on the last word
_inside_ the reserved space for the irq stack.

[Before]
  $ ./tools/arm-2009q3/bin/arm-none-eabi-nm -n ./build/openpilot/OpenPilot.elf
  ...
  20000000 A SRAM_BASE
  20000000 B _irq_stack_end
  20000400 d LED_GPIO_PORT   <--- overlap
  20000400 B _irq_stack_top  <--- overlap
  20000400 D _sdata
  20000408 d ADC_GPIO_PORT
  ...

[After]
  $ ./tools/arm-2009q3/bin/arm-none-eabi-nm -n ./build/openpilot/OpenPilot.elf
  ...
  20000000 A SRAM_BASE
  20000000 B _irq_stack_end
  200003fc B _irq_stack_top
  20000400 d LED_GPIO_PORT
  20000400 D _sdata
  20000408 d ADC_GPIO_PORT
  ...

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@668 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-27 01:37:40 +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
f7f1b37c62 OP-25 Flight/GPS: More object fields for GPS module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@664 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-25 05:14:52 +00:00
vassilis
9be49ca54d Flight/Attitude Minor change in field names and task priority
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@662 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-25 00:49:46 +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
stac
d678720855 i2c: i2c errors no longer mapped to event channel
Both EVents and ERrors were mistakenly being mapped to the
EVent IRQ channel.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@659 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-24 16:33:49 +00:00
stac
874239154a Turn on -Werror on openpilot firmware build
This commit fixes all existing warnings.

All basic compiler warnings will now be treated as errors.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@658 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-24 16:33:46 +00:00
stac
6b2760da1a USB HID: basic COM functionality over USB HID
This fixes the COM interface over USB HID to the point where
it can establish and maintain solid communications with the UAVObject
Browser in the GCS.

Tested only on Linux.  The USB HID interface is still disabled for now
until it is tested successfully by a wider group.

Edit telemetry.c and set ALLOW_HID_TELEMETRY to 1 to enable telemetry
over the USB HID interface and report your results in the forum.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@656 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-24 16:33:40 +00:00
stac
69de42db49 Add AHRS attitude module and driver skeletons
- New Attitude module for AHRS (skeleton)
 - New AttitudeSettings UAVobject
 - New AttitudeActual UAVobject
 - Regenerated UAVobjects
 - Added new UAVobjects to OpenPilot and GCS builds
 - New PiOS driver for OpenPilot AHRS (stubs only)

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@655 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-24 16:33:36 +00:00
stac
e892dcb033 bmp085: create semaphore prior to configuring irq
Since the EXTI and NVIC init routines automatically enable the IRQ when it
is configured, it is possible for the EOC interrupt to fire immediately
upon configuring the IRQ.

Since the handler for the EOC interrupt (EXTI15_10_IRQHandler) does a
xSemaphoreGiveFromISR, it is important to have the semaphore initialized
prior to enabling the interrupt.

Also, added missing include for altitude module.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@654 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-24 16:33:30 +00:00
stac
cc6348934f bmp085: Add missing include for altitude module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@653 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-24 16:33:29 +00:00
stac
41da33c920 irq_stack: provide a proper IRQ stack for FreeRTOS
The MSP (IRQ stack) was trampling across the data segment.  This was
especially disastrous in the USB interrupts since they allocate and
fill buffers on the stack.

The root of this trampling was that no RAM was being reserved for the
MSP and a hard-coded value of (0x20000400) was used as the initial MSP
base address.  This resulted in the first 1K bytes of the .data segment
overlapping with the IRQ stack.  As can be expected, all sorts of badness
resulted when interrupts were firing and trampling over variables.

This change reserves the first _isr_stack_size bytes at the beginning of
RAM for the MSP.  If an ISR call chain runs off of the end of the MSP,
a Hard Fault will be generated as the (now invalid) sp is accessed.

There are two stack pointers in the Cortex-M3 CPU.  These are MSP (Main
Stack Pointer) and PSP (Process Stack Pointer).

Which stack is in use at any given time is determined by the following table:

   Mode      CONTROL[ASPSEL]    Stack
   ----      ---------------    -----
   Thread    0                  MSP
   Thread    1                  PSP
   Handler   x                  MSP

Out of reset, the CPU is in Thread mode using the MSP.  The initial value
of the MSP is automatically loaded from address 0 (lowest word in boot
region -- typically FLASH) immediately prior to jumping to the reset vector.

When running at interrupt level, the Cortex-M3 always uses the MSP and the
ASPSEL bit is forced to zero.

FreeRTOS allocates a separate stack for each task upon task creation.  These
task stacks are allocated from the heap.  FreeRTOS sets the active stack to
the PSP whenever running in a task context (both in privileged mode and user
mode).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@652 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-24 16:33:26 +00:00
FredericG
0723ff8b75 Started new module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@650 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-23 19:01:07 +00:00
sambas
d7b3a158d6 OP-22 Flight/PiOS: Spektrum bind function tested and working.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@649 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-23 11:19:28 +00:00
FredericG
6f0401b0d9 insignificant changes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@648 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-22 06:38:05 +00:00
FredericG
09981b39c2 A few small fixes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@647 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-22 06:30:42 +00:00
vassilis
f143628e80 Flight/Altitude Update altitude object with new metafields, modified update rates in XML and flight s/w
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@645 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-20 01:21:44 +00:00
vassilis
e3556a3f31 OP-48 Flight/UAVObjects Add access mode field in the metadata. This field can be used to disable local UAVObject updates in the flight or GCS software. It is transparent to any modules and plug-ins, the access control is done by the UAVObjectManager. This functionality is needed for the HITL simulation since certain objects that are normally updated by the flight software (e.g. AttitudeActual, Airspeed etc) will now need to be updated by the GCS. The modules reading those objects do not need to know if the object is updated by the GCS or by the flight software, when HITL is enabled it is transparent to the modules.
NOTE: Delete any metaobjects that you may have saved in the SD card (delete all .obj files). 


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@643 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-20 00:58:40 +00:00
stac
d02a3325d9 altitude: Add altitude module which reads BMP085
This module reads from the BMP085 pressure sensor.  It periodically
updates the pressure (kPa) and temperature (C) as well as the
calculated altitude (m).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@640 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-19 04:55:56 +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
0e81831399 OP-25 Flight/GPS: port speed corrected for OPGPS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@638 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-18 11:42:57 +00:00
stac
514d46f5b6 freertos: fix RTOS API calls from interrupt level
FreeRTOS has a strict requirement that even interrupt-safe API calls (ie.
those ending in "FromISR") can only be called from ISRs that are at lesser
or equal priorities to configMAX_SYSCALL_INTERRUPT_PRIORITY.  See the
"configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY"
section at:
  http://www.freertos.org/a00110.html

The interrupt numbers used on the Cortex-M3 CPU has a somewhat backward
representation of the interrupt numbers so 255 = lowest priority and
0 = highest priority.

The calculation is further complicated by the STM32 implementation only using
the upper 4 bits of the priority value.  Only 0x00, 0x10, 0x20, ..., 0xE0, 0xF0
represent useful interrupt priorities.

FreeRTOS requires that MAX_SYSCALL and KERNEL interrupt priorities are expressed
as raw unshifted 8-bit values to be programmed directly into the BASEPRI register.

The priority values passed to the NVIC initialization, however, are expected
to be 4-bit values and are shifted up by 4 within NVIC_Init() for you.

The end result is that we need this arrangement:

[highest priority]
   NVIC_0 (Non-maskable-interrupt)
   NVIC_1
   NVIC_2
[Must NOT call FreeRTOS APIs above here]
   configMAX_SYSCALL_INTERRUPT_PRIORITY (now at 48 = 0x30 = NVIC_3)
   PIOS_IRQ_PRIO_HIGHEST (cur. NVIC_4)
   PIOS_IRQ_PRIO_HIGH    (cur. NVIC_5)
   PIOS_IRQ_PRIO_MID     (cur. NVIC_8)
   PIOS_IRQ_PRIO_LOW     (cur. NVIC_12)
   configKERNEL_INTERRUPT_PRIORITY (240 = 0xF0 = NVIC_15)
[lowest priority]

The previous config had configMAX_SYSCALL_INTERRUPT_PRIORITY set at
191 (0xBF) which is effectively NVIC_11.  This was allowing all of
the MID, HIGH and HIGHEST interrupt handlers to preempt the OS in
its critical sections.  Since some of these ISRs were calling
FreeRTOS APIs, this would result in corrupting internal data structures
within the OS.

It should be ok to move the configKERNEL_INTERRUPT_PRIORITY to a higher
priority as long as it is less than configMAX_SYSCALL_INTERRUPT_PRIORITY.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@637 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-18 04:50:38 +00:00
stac
f6de7ff54f gdb: Add pre/post hooks to fix stepi
This fixes the gdb stepi command to allow the M3 core to make
forward progress even when interrupts are pending.  M3 Core interrupts
are masked/unmasked in pre and post command hooks.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@636 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-18 04:50:36 +00:00
vassilis
6b6740109e OP-32 Flight Initial release of Actuator (ServoOut) and ManualControl (ServoIn) modules, still work in progress (not fully tested).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@632 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-17 01:58:38 +00:00
FredericG
3f79770f7f More debug state info
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@631 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-16 18:07:41 +00:00
sambas
66fa56a1da OP-22 Flight/PiOS: Spektrum simple decoder works, getting seven working channels with my DX7 tx
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@630 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-16 10:04:07 +00:00
sambas
76cd72915d OP-22 Flight/PiOS: first tests done with spektrum satellite, I can read binded receiver serial stream
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@629 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-16 08:35:38 +00:00
stac
56f1e8b547 uavobjects: Move generated python classes
Moved the generated python classes from the flight directory to the
ground directory since they are only used on the host, not the
embedded targets.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@628 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-16 03:05:10 +00:00
sambas
26aecf720d OP-22 Flight/PiOS: Spektrum satellite protocol started
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@626 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-15 18:22:03 +00:00
gussy
5991a93739 Added GPIO functions for accelerometer full-scale selection.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@625 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-15 15:27:52 +00:00
gussy
73b5e29e02 Finalised and verified PIOS_HMC5843 library.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@624 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-15 12:50:05 +00:00
stac
e05f4cf068 uavobjects: Added support for generating python classes
The uavobjectgenerator can now generate python classes for each
UAVObject definition.  This is useful for writing simple test
applications in python that can exercise the UAVObject handling
code on the embedded boards.

This is a work in progress so the structure of the generated
classes is likely to change.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@623 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-14 04:32:30 +00:00
stac
0e3a5550ba gdb: Add pre/post hooks to fix step, next, finish
The gdb commands step, next and finish on the M3 core would
never make forward progress since there is almost always an
interrupt pending.  This is a known problem on the M3, and is
fixed by adding pre and post command hooks which mask and unmask
all ISRs on the M3 core.

Step, next and finish now work as expected, but care should be
taken when using these commands across any part of the code that
actually _needs_ the interrupts in order to make forward progress.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@622 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-14 04:32:17 +00:00
gussy
f9256b22d0 AHRS basic sensor test code revision.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@619 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-13 09:40:00 +00:00
gussy
22fbd8e4bd ADC Updates.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@618 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-12 12:09:35 +00:00
gussy
ff73ab5a80 More updates to cross-target compatibility.
Added PIOS_I2C into AHRS code.
Added PIOS_HMC5843 Module.




git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@617 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-12 08:18:49 +00:00
gussy
fe9aa9e38f Small USART scalability fix.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@616 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-12 01:56:00 +00:00
gussy
8f3c2dbafb Changes to PiOS to be compatible with the AHRS.
Updates to AHRS code.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@615 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-11 13:36:13 +00:00
sambas
1bb32e78f1 Flight/telemetry: Missed one 38400 relates stuff
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@614 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-08 16:47:12 +00:00
sambas
9922df3524 Added 38400 for my XBEE
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@613 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-08 16:22:41 +00:00
vassilis
6dfd8caffb OP-4 Flight/Telemetry Add connection timeout detection
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@608 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-08 04:11:03 +00:00
vassilis
a31215293d Flight\Telemetry Implement telemetry settings object, added functions for changing the baud rate in PiOS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@607 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-08 02:44:26 +00:00
vassilis
a337de22c7 OP-4 Flight/Telemetry Flush telemetry queues while connection is not yet established (to remove stale data)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@605 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-08 00:22:07 +00:00
stac
0826af11e5 Add startup script for gdb for openpilot board
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@597 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-07 01:44:57 +00:00
gussy
7544aab7fe Comment out testing task.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@595 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-05 17:24:39 +00:00
stac
42c4c9b343 Lower priority of HIDTest task
Commit @583 uncomments the HIDTest task creation.  HIDTest task is configured to run at
priority 4 (== tskIDLE_PRIORITY + 4) which is higher priority than the "System" task at
priority 3 (== tskIDLE_PRIORITY + 3).

The HIDTest task never blocks so it prevents the system task (and any other task of priority
less than 4) from ever running.

This commit does not fix the root problem of HIDTest never blocking, but rather lowers
its priority to be equal to the system task so that they share the CPU.  This is a
temporary workaround.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@586 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-05 03:19:47 +00:00
gussy
a574f56961 HID Loopback test now working. GCS code now needs to be brought up to speed.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@583 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-04 19:56:06 +00:00
gussy
0aba12fe1f Loopback test of HID working. Still a WIP but committing what I have to show progress.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@582 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-04 18:54:43 +00:00
vassilis
7ca10bf5d7 OP-4 Flight/ObjectPersistance Implemented saving/loading of individual objects from the SD card
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@580 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-04 02:11:16 +00:00
vassilis
e10a16f1c3 OP-4 Flight/Telemetry Implemented telemetry connection manager
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@578 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-04 01:29:04 +00:00
FredericG
0c65a90a9d Write counter-value to memory in Task2
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@577 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-03 18:31:34 +00:00
FredericG
58514baa49 Fixed test
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@576 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-03 18:18:43 +00:00
fredericg
8cdd056d84 Start using 2 I2C devices from 2 different threads - Untested
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@566 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-01 14:57:26 +00:00
FredericG
192134967d Lock I2C before usage as it should
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@565 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-01 14:54:35 +00:00
fredericg
3281b1a128 OP-27 Use RTOS in LockDevice() and UnlockDevice()
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@564 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-01 14:49:51 +00:00
FredericG
724e82712b Added vApplicationStackOverflowHook()
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@563 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-01 14:45:10 +00:00
FredericG
916f6163fd Configurable address
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@562 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-30 06:40:13 +00:00
vassilis
0999c1ce58 Flight/Objects Metaobjects are now also stored in CF and retrieved on power-up. At this time settings and meta objects are automatically loaded on startup if they have been saved in the CF card (to test use Save button in the object browser), if a file is not found in the CF card then the defaults specified in the XML file will be used.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@561 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-30 02:28:16 +00:00
vassilis
99b67388bf Flight/UAVObjects Added support for default field values (used to initialize settings with defaults)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@558 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-28 01:54:24 +00:00
vassilis
8c11a03129 Flight/Alarms Implemented Alarms library, now checking for stack overflow, out of memory, event and other errors (see the SystemAlarms object). All modules will be reporting their alarms using this library.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@554 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-27 01:55:28 +00:00
vassilis
613b17f970 OP-4 Flight/Telemetry Implement CRC in telemetry protocol
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@549 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-25 21:20:13 +00:00
vassilis
aaef72955e OP-4 Flight/Telemetry Make objectTransaction() fully reentrant
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@547 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-25 18:34:03 +00:00
vassilis
7b99c3d7f0 Flight/System Restructure start-up code, now all initialization in done after the RTOS is started
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@541 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-25 02:21:03 +00:00
vassilis
4f0377194d Flight/PiOS Remove use of semaphores in COM/USB ISR (not used and not working also causing random crashes)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@540 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-25 02:17:25 +00:00
vassilis
ecb83a52d3 OP-4 Flight/Telemetry Bug fixes and improved response when telemetry is fully loaded
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@539 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-24 04:05:39 +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
vassilis
f999028753 Flight/UAVObjects Added support for named arrays (i.e. each array element can have a name - needed for alarms)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@531 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-21 02:49:11 +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
sambas
0ec2156f4a OP-25: More fields for GPS Objects, preparing gpsinfo remove
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@521 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-18 07:14:00 +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
vassilis
ef36a79e12 Flight Updated gpsobject XML file (made it a single instance - less protocol overhead)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@517 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-17 22:28:19 +00:00
vassilis
89a6dd30d1 OP-4 Flight/Telemetry Create new objects to report statistics of the telemetry link (plus a few bug fixes, heap size was also increased)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@515 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-17 22:16:20 +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
sambas
670ac85e79 OP-25: GPS object update
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@513 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-17 08:12:05 +00:00
sambas
03a012c347 OP-25: Initial GPS Object
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@512 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-17 07:38:28 +00:00
vassilis
bc472102b4 OP-4 Flight/Telemetry More bug fixes after testing telemetry
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@506 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-16 01:56:08 +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
402b4e8e24 Telemetry and HID work, ugly hacks atm. Endianess needs checking. HID transmit doesn't work at all. Serialport works both ways
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@472 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-10 16:22:08 +00:00
vassilis
bf792a8058 Flight/SystemMod: Creation of the system module, for now it only responds to a request to load/save the settings objects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@468 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-10 05:06:19 +00:00
vassilis
cb0d447043 Flight/UAVObject: Update metadata types
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@466 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-10 01:35:51 +00:00
vassilis
f4c4b1371a Flight/Settings: Remove old settings implementation (replaced with binary settings as UAVObjects)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@465 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-10 01:35:13 +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
vassilis
e2871a24e7 Flight/UAVObjects: Test harness and bug fixes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@423 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-04 02:11:51 +00:00
vassilis
8ca3279aa6 OP-33 Flight/ExampleModule: Created three example modules that can be used as templates for actual modules
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@420 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-02 03:26:02 +00:00
vassilis
b51c29c2f9 OP-54: Flight/UAVObjects updated templates for enum field types
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@418 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-04-01 02:03:40 +00:00
pete
f1694527cc Working on the PPM functionality. Getting there but it is still not 100% correct.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@411 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-30 04:48:15 +00:00
vassilis
2c9ffd0195 Flight/UAVObjects: Added an example settings object and included example objects in the makefie
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@408 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-28 22:23:57 +00:00
vassilis
9d7d297446 Flight/UAVObjects: Implemented loading and saving of objects from the file system and added support for settings objects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@405 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-28 20:39:47 +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
vassilis
a64cdc64ea Updates on UAVObjects required by the object generator
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@396 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-27 03:19:56 +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
37a0ce845c Solved bad USART port init
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@383 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-25 10:52:38 +00:00
gussy
41fd921b14 Updated BMP085 test code.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@375 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-23 04:01:11 +00:00
gussy
bad62d3af3 Moved things around.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@372 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-22 02:51:52 +00:00
gussy
362163d48b Added dependency checking, just in case.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@371 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-22 02:09:56 +00:00
gussy
6826706cb7 Moved external interrupts into it's own API.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@370 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-22 02:07:06 +00:00
gussy
62f4e2c636 Add PIOS_EXTI.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@367 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-21 20:23:20 +00:00
vassilis
20f29b40e4 Replace malloc with FreeRTOS built-in functions
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@358 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-21 14:19:38 +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
gussy
a03952fb5d Small updates and clean up.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@355 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-21 00:49:48 +00:00
dankers
58e4dd4757 Use usb-layout in floss-jtag - use OpenOCD 4
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@354 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-20 22:02:35 +00:00
dankers
9b90cafb52 JTAG config files, also new floss-jtag for testing using the usb-layout
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@353 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-20 21:55:29 +00:00
dankers
ce99cc9ae9 Olimex config for Vassilis
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@352 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-20 20:12:36 +00:00
sambas
22698313fc OP-25: preliminary GPS module, needs some cleaning. I'll start testing when I get HW ready.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@351 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-20 15:45:15 +00:00
pete
a3486477eb Added PPM defines and created pios_ppm.c
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@325 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-17 04:00:13 +00:00
fredericg
2dbbe2ffc5 Added line to compile BMP085 testcode
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@321 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-15 12:04:41 +00:00