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

1384 Commits

Author SHA1 Message Date
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
edouard
732b65cdaa OP-38 Output settings now done, to be validated on real HW and tested by more users. "Test" checkboxes not active yet.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1233 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 22:32:57 +00:00
ephy
14a93b4e61 GCS: Quiet down some compiler warnings.
There are now 0 build issues in Linux when I use "QMAKE_CXXFLAGS+=-Wno-ignored-qualifiers -Wno-unused-parameter -Wno-unused-variable" (including the "") as additional arguments to qmake in Qt Creator.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1232 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 19:14:34 +00:00
zedamota
ea309623a6 OP37/GCS MapLib - Fixed a bug reported by PeterG Again
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1231 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 17:07:18 +00:00
zedamota
10736204be OP37/GCS MapLib - Fixed a bug reported by PeterG, and deleted Nokia from the credits again (still haven't received the free phone :))
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1230 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 14:47:48 +00:00
sambas
d9d42ff068 gpswidget outputs now something to the gui
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1229 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 09:33:12 +00:00
edouard
516815807c OP-38 Progress on the servo output settings: not functional yet, but the GUI layout is done. Comments welcome, let me know if this is not clear please...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1228 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 08:56:03 +00:00
sambas
72871f5c19 nmeaparser: cleaned things up, someone make me sample how out relay values to the gui, like lat and lon values
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1227 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 07:58:05 +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
dankers
895271a518 Finish reverting SVN dirs. Change Thread name in new GPSDisplay plugin away from the default Qt example to avoid conflicts.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1225 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-06 19:54:08 +00:00
sambas
e346b7f1bb Reworked nmeaparser to separate class
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1222 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-06 10:18:28 +00:00
sambas
fe7467397e stdint for gps widget
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1221 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-06 07:43:25 +00:00
sambas
83ddb7e4dd Ugly gps code for GCS, Lat,lon,alt,SVs currently parsed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1220 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-06 07:02:26 +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
edouard
bd9e43ee51 PFD can now, as an option, use OpenGL for rendering. Two text caching modes are possible, please test and report your experience.
Lots of other smaller improvements which should make the PFD way better in terms of overall performance. Again, please share your feedback!
Tested on Linux only, btw, I apologize in advance for any issue on Windows - I hope there is none.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1216 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 22:12:19 +00:00
peabody124
8c68c2a315 For some reason Mac needs QThread explicitly included - apparently this worked on Windows.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1215 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 20:29:22 +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
dankers
f4abfd12f0 Update to the GPS display gadget from Cranphin. Very nice work, not tested on Mac or Linux yet, works great on Windows.
Please test on Mac & Linux and report.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1213 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 19:19:41 +00:00
dankers
eb00be6a14 OP-112 Put map icons in to the share directory. This is a first step to making them selectable. This is a must as the fixed wing people will want to see a plane rather than a quad, likewise for the heli guys.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1212 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 17:50:09 +00:00
erhard
ded496310e Initial revision of Import/Export Plugin
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1211 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 17:25:27 +00:00
erhard
89dba4002d Changed to Unix-Format.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1210 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 17:22:24 +00:00
erhard
2bd5f71444 64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support64Bit Linux Support
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1209 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-05 17:19:06 +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
edouard
f1faea0483 OP-38 Config gadget: channel assignement is now read/saved. Ch Invert not implemented yet.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1206 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-04 14:50:44 +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
4b25cde2fa Add Build directory to the ignore list
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1204 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-04 09:38:01 +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
dankers
9f48968133 Add Build.win32 to global ignore list while I remember as I know I am likely to commit it at some point because I'm a retard.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1201 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-03 20:42:40 +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
zedamota
a58a6ce269 OP37/GCS MapLib Added offline map creator
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1199 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-02 23:14:08 +00:00
zedamota
03800c418a OP37/GCS MapLib Added offline map creator
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1198 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-02 23:10:28 +00:00
dankers
fa12f2c0b5 Missed one...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1197 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-02 18:11:18 +00:00
dankers
f297855dc0 Aha, updated Jose's header adding tool so it stops adding a Nokia copyright to things that contain zero Nokia code!
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1196 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-02 18:09:22 +00:00
zedamota
e4b3ee700a OP37/GCS Small change
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1195 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-02 18:07:17 +00:00
dankers
1ba0862ba2 Update copyright header in OPMaplib, no idea why Nokia was mentioned, this was written from scratch for the OP project by Jose, with zero help from Nokia :-)
I assume headers were copied from elsewhere in the plugin loader source from very early on in the project. 

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1194 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-02 18:03:25 +00:00
corvus
1a019b5836 OP-101: re-work of UAVTalk + HiTL threading code.
Telemetry and HiTL now run in the same global high priority thread.
Threads are managed by a new class ThreadManager in icore as suggested by PeterG


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1193 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-02 12:28:36 +00:00
dankers
07d168e8ab Changed a single icon in the GCS menus to match the OP blue colour scheme.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1192 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-02 10:20:56 +00:00
pip
5f14fb350a Enabled Show/Hide UAV and HOME icons. Added 'Set Home Location' option (test only).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1191 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-01 14:54:50 +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
dankers
c4a986ae1a Various bits that I have been working on here and there, mainly artwork and sounds.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1188 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-31 13:21:15 +00:00
peabody124
76b4944482 I think this fixes the windows HID problems
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1187 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-31 03:11:38 +00:00