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

575 Commits

Author SHA1 Message Date
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