px4dev
ea8872f545
Merge branch 'sbus' of https://github.com/PX4/Firmware into #61-px4io-spektrum-decoder
2012-12-01 00:50:39 -08:00
px4dev
2ac0cac11f
Build fix - need <termios.h>
2012-11-30 21:50:19 -08:00
Lorenz Meier
31c5425e50
Merge remote-tracking branch 'origin/#61-px4io-spektrum-decoder' into sbus
2012-11-30 10:42:36 +01:00
Lorenz Meier
d16d66f990
Enabled UART3, added JTAG make target for IO, removed potentially problematic usleep
2012-11-30 10:42:27 +01:00
px4dev
9fa794a8fa
Rework the PX4IO software architecture:
...
- Use a separate thread for handing R/C inputs and outputs.
- Remove all PX4IO R/C receiver configuration; it's all automatic now.
- Rework the main loop, dedicate it to PX4FMU communications after startup.
- Fix several issues in the px4io driver that would cause a crash if PX4IO was not responding.
2012-11-30 00:02:47 -08:00
Lorenz Meier
401c54bdd3
Merge branch '#78-px4io-firmware-updater' of github.com:PX4/Firmware into sbus
2012-11-29 09:54:23 +01:00
px4dev
d0efd1a419
Fix the DSM (spektrum) protocol decoder, and add some format auto-detection to it.
2012-11-29 00:35:21 -08:00
px4dev
92e1d5eb78
Possible fix for #78 - increase the wait timeout for discard when flashing PX4IO. It's not clear this solves the issue, but I can't reproduce it with this added.
2012-11-28 20:12:36 -08:00
Lorenz Meier
e5177b383b
Merge branch 'master' into fixedwing_outdoor
2012-11-27 17:27:55 +01:00
Lorenz Meier
15236d1ff2
Hotfix: calibration status returns sanity checks with better granularity
2012-11-27 17:26:04 +01:00
Lorenz Meier
90b94b5050
Ported all mixers to actuator_controls_effective topic, mixers do not output the limited result yet
2012-11-27 11:53:50 +01:00
Lorenz Meier
11b0242f55
Not arming FMU in HIL mode
2012-11-26 17:50:14 +01:00
Lorenz Meier
4298f68fcd
IO does not arm in HIL mode
2012-11-26 17:43:07 +01:00
Lorenz Meier
b1bc5e0e46
Improved drivers, allowed parallel use of multiple gyros
2012-11-23 22:52:37 +01:00
px4dev
adb04f632f
Local changes to match upstream changes.
2012-11-22 20:35:08 -08:00
Julian Oes
33e750602a
Merge remote-tracking branch 'upstream/master' into io
...
Fixed Conflicts:
apps/multirotor_att_control/multirotor_att_control_main.c
rc loss failsafe throttle tested
2012-11-15 11:55:55 -08:00
Lorenz Meier
df5e4d1904
Improved self-test logic
2012-11-15 17:19:21 +01:00
Lorenz Meier
5020a0a063
Addes sensor self test commands
2012-11-15 15:13:27 +01:00
Lorenz Meier
f803540415
Added preflight_check app which checks core system sensors, so far only mag
2012-11-15 13:21:00 +01:00
Lorenz Meier
3eb36bbd21
Fix led assignment for FMU
2012-11-14 15:17:49 +01:00
Lorenz Meier
722af669fe
Better integrate calibration check
2012-11-14 15:17:30 +01:00
Julian Oes
b7c6a11e67
Merge remote-tracking branch 'upstream/master' into io
2012-11-13 14:20:31 -08:00
Julian Oes
359cc4bb86
Merge remote-tracking branch 'upstream/master' into io
2012-11-13 14:18:59 -08:00
Lorenz Meier
d15e6ae73a
Merge branch 'master' of github.com:PX4/Firmware
2012-11-13 10:58:24 +01:00
Lorenz Meier
050698bedc
Added missing channel count in px4io driver
2012-11-13 10:03:39 +01:00
Lorenz Meier
e52c7e3c4b
Merge branch 'master' of github.com:PX4/Firmware
2012-11-12 21:08:57 +01:00
Lorenz Meier
e9942e4af7
minor HIL related tweaks
2012-11-12 21:08:51 +01:00
Lorenz Meier
2c12802f25
Fixed HIL compile warnings
2012-11-12 10:59:35 +01:00
Lorenz Meier
596d20e2a3
Increased stack sizes, 1K is not enough when calling printf() from within app
2012-11-10 18:32:20 +01:00
Lorenz Meier
41629e0ddb
Operational mixing and outputs in hil
2012-11-10 18:14:25 +01:00
Lorenz Meier
b43f692d3a
Correctly handling 8+ outputs, currently only first 8 supported
2012-11-10 17:07:17 +01:00
Lorenz Meier
e8eb887515
Added hil command to emulate PWM outputs
2012-11-10 16:52:06 +01:00
Lorenz Meier
e99a684fd8
Removed debug ioctl output
2012-11-10 16:51:17 +01:00
Julian Oes
2b5f551838
Revert "Revert "Another take on Spektrum/DSM frame decoding, based on more careful examination of the relevant docs.""
...
This reverts commit 38b20f2a1a
.
2012-11-07 14:56:03 -08:00
Julian Oes
38b20f2a1a
Revert "Another take on Spektrum/DSM frame decoding, based on more careful examination of the relevant docs."
...
This reverts commit ff3a014971
.
2012-11-07 14:46:28 -08:00
Julian Oes
9f92c6df67
Merge branch 'master' of https://github.com/PX4/Firmware
2012-11-07 10:24:49 -08:00
px4dev
ff3a014971
Another take on Spektrum/DSM frame decoding, based on more careful examination of the relevant docs.
2012-11-07 02:47:01 -08:00
Julian Oes
e0e96c005a
Corrected two small bugs considering arming and disarming
2012-11-06 18:57:42 -08:00
Lorenz Meier
e7f2c053c2
Quickly separated low-level raw RC from mapped / scaled RC, supports FMU PPM and IO PPM / Spektrum now
2012-11-05 16:04:45 +01:00
px4dev
39659e57f8
Add prototypical support for Spektrum satellite remotes to PX4IO.
2012-11-05 00:55:45 -08:00
px4dev
06e17eae5d
Fix off-by-one reading PWM output values. Minor robustness tweaks.
2012-11-04 16:44:06 -08:00
px4dev
487597b385
Checkpoint; messages from FMU now make it to IO intact; fix HRT init timing, process more bytes from the serial port, add some simple packet counting.
2012-11-03 01:14:25 -07:00
px4dev
b0da90b6db
When starting the px4io driver, check that data is being received from the PX4IO board.
2012-11-03 01:14:25 -07:00
px4dev
f11cf48bb9
Attach the interrupt before powering on the HRT timer.
2012-11-03 01:14:25 -07:00
px4dev
5af84e3b11
Check for transmit errors.
2012-11-03 01:14:24 -07:00
px4dev
ea539031da
Cleanup and refactor of the PX4IO firmware and board support. Builds, not tested yet.
2012-11-03 01:14:24 -07:00
Lorenz Meier
5e1416178a
Merged
2012-11-01 08:14:31 +01:00
Lorenz Meier
18dbdf0a54
Report mag status to system, sanity-check calibration
2012-11-01 08:11:55 +01:00
px4dev
34a3b260f3
Move the last of the board-specific code for PX4FMU out of the NuttX tree. Now it's just configuration.
2012-10-31 00:37:15 -07:00
px4dev
b685d46dbf
Clean out remains of the old EEPROM driver.
2012-10-30 20:51:45 -07:00
px4dev
270a5d351f
Warning fixes.
2012-10-29 21:47:37 -07:00
px4dev
9a85801cb0
Doxyheader fixes
2012-10-29 18:01:31 -07:00
Lorenz Meier
574eb96a2e
Calibration improvement
2012-10-29 16:41:53 +01:00
px4dev
98791bc674
Remove reboot() API, replace with a prototype for up_systemreset() which is portable.
2012-10-27 22:42:43 -07:00
px4dev
9184753f17
Remove an annoying message.
2012-10-27 11:38:14 -07:00
px4dev
0272fc49aa
Build fix due to missing include.
2012-10-27 11:37:11 -07:00
px4dev
6cec7f131e
Minor board.h changes.
2012-10-27 11:34:20 -07:00
px4dev
5135e5308b
Hoist the GPIO driver out and integrate it with the px4fmu driver. Move these pieces into the drivers tree.
2012-10-27 01:39:10 -07:00
px4dev
1065118ebc
Separate config from implementation for the STM32 pwm servo driver.
2012-10-24 00:55:37 -07:00
px4dev
2fc1032069
Major formatting/whitespace cleanup
2012-10-23 23:51:13 -07:00
px4dev
34f99c7dca
Hoist the ADC and CAN board-specific pieces.
2012-10-23 23:51:13 -07:00
px4dev
db044b64cd
Hoist the oard-specific USB pieces.
2012-10-23 23:51:13 -07:00
px4dev
7b4118a5e7
Hoist SPI functions.
2012-10-23 23:51:13 -07:00
px4dev
eaf91f05bd
Fix a filename
2012-10-23 23:51:13 -07:00
px4dev
3d79b9a0b0
Tease the PWM driver out and fix some build issues after cleaning up behind the cpuload pieces.
2012-10-23 23:51:13 -07:00
px4dev
c3fe915b44
Checkpoint - moving things out of the NuttX configs/*/src directories
2012-10-23 23:51:12 -07:00
px4dev
0afeeb5dd8
Move the PX4IO driver into the drivers folder.
2012-10-22 21:39:55 -07:00
Lorenz Meier
3932bad137
Merge branch 'master' of github.com:PX4/Firmware into calibration
2012-10-22 12:14:40 +02:00
Lorenz Meier
df8148033a
Cleaned up calibration, added text messages ring buffer
2012-10-22 08:14:43 +02:00
px4dev
5b9c469770
Function type fix
2012-10-21 19:12:32 -07:00
px4dev
5925d146bc
Move the tone_alarm driver out of the NuttX configs area and add it as an stm32-specific driver in the PX4 apps space.
...
Add a new tone_alarm command that can be used to start/stop alarm tones from the shell.
2012-10-21 17:51:21 -07:00
Lorenz Meier
096bf2dc93
Checkpoint: Working, but non-verified full mag calibration
2012-10-21 15:36:29 +02:00
Lorenz Meier
28171fb596
Merge branch 'master' of github.com:PX4/Firmware into calibration
2012-10-21 11:24:51 +02:00
px4dev
bfbd17a2fa
Make it possible to run fmu and px4io simultaneously with full control over both sets of possible PWM outputs. First started wins.
2012-10-20 16:53:52 -07:00
Lorenz Meier
97726fa679
Calibration WIP, not compiling
2012-10-17 08:02:50 +02:00
Lorenz Meier
642f3426a7
Added mag calibration routine, fixed minor typos without runtime effects
2012-10-15 08:52:17 +02:00
Lorenz Meier
bd3f3b1031
Sensor rate and throttle inversion fixes
2012-10-09 16:26:29 +02:00
px4dev
22537447db
Adjust to changes in the work queue API.
2012-09-14 22:59:42 -07:00
Lorenz Meier
c25cef299f
Fixed to mag measurement and filter
2012-09-07 16:56:47 +02:00
Lorenz Meier
db6ec2d7d2
Various minor fixes and improvements across system
2012-09-05 18:05:11 +02:00
Lorenz Meier
84e11a0cac
Fixed correct RC loss detection, AR.Drone is now shutting down motors after 1 s of RC loss. Added debug topic.
2012-09-05 11:37:17 +02:00
Lorenz Meier
eb01cd6fd3
Changed a critical section to double precision calculation. It may not be necessary, but lets not risk precision unless we have properly analyzed what numerical precision is required.
2012-09-03 22:29:51 +02:00
px4dev
00ba1d629b
Redo the math in the ms5611 driver to a) avoid re-computing scaling factors for every pressure measurement, b) be perhaps more readable and follow the data sheet more closely, and c) support calibration of the MSL pressure.
2012-09-01 16:26:12 -07:00
Lorenz Meier
cf62c892f9
Added temperature measurement, added led system command
2012-09-01 19:56:42 +02:00
Lorenz Meier
39fd8b9cda
Fixed minor compile warnings (just warnings, no effect on execution) in BMA180
2012-08-31 14:38:55 +02:00
Lorenz Meier
4ba8036d80
minor typo in comment
2012-08-31 14:06:34 +02:00
Lorenz Meier
5f131e8c11
Checkpoint: Operational BMA180 driver
2012-08-31 14:02:23 +02:00
px4dev
63485b91b2
Kick the BMA180 driver mostly into shape. Still not reading data correctly.
2012-08-30 22:33:20 -07:00
px4dev
116306ae3e
units in comments
2012-08-30 22:32:54 -07:00
px4dev
1e80bd544b
Make the buffer ring work.
...
Avoid reading from the misaligned structure more than once.
Discard some redundant whitespace / prototype.
2012-08-30 22:32:42 -07:00
px4dev
45885f15dc
Fix the readout transfer size.
2012-08-29 23:25:14 -07:00
px4dev
da3cd24352
Be a bit more careful with which bits we stuff into the l3gd20 registers.
2012-08-29 23:16:38 -07:00
px4dev
d0898cb947
Something approximating a driver for the L3GD20
2012-08-29 22:55:15 -07:00
px4dev
d0f10a3550
driver work in progress
2012-08-29 21:40:48 -07:00
Lorenz Meier
d8210a8e2f
Implemented missing IOCTLs to set MPU scalings
2012-08-28 11:30:45 +02:00
Lorenz Meier
2d2548e714
Final parameter interface cleanup - removed last bit of old cruft, fixed a bug on parameter update notification, cleaned up API slightly in naming
2012-08-27 22:57:20 +02:00
Lorenz Meier
967c0869a9
Cleaned up MPU driver slightly
2012-08-27 09:48:16 +02:00
Lorenz Meier
248bb11d93
removed stop() from I2C driver startup routines, work in progress on MPU scaling
2012-08-27 09:08:34 +02:00
Lorenz Meier
2963dc679a
Driver debugging (scaling, ranges, endianess) MPU-6000 needs more love
2012-08-26 23:48:16 +02:00
Lorenz Meier
56e66a80cd
Printing fixes
2012-08-26 15:01:08 +02:00
Lorenz Meier
dfa5cc52d5
MS5611 test is now printing floats. Note that the issue with the scheduled reads of the sensor started BEFORE this change and is thus unrelated.
2012-08-26 14:52:44 +02:00
Lorenz Meier
207b077d8a
Cleaned up scaling / offset handling for mag and gyro / acc
2012-08-26 14:51:33 +02:00
Lorenz Meier
6026595d83
Fixed axis assignment and raw value outputs. Scaling and offsets to be done
2012-08-26 13:51:18 +02:00
px4dev
efda95101f
Streamline mag and baro topic advertisement now that handles are global.
...
Use perf counters for error counting in mag/baro drivers.
2012-08-25 19:27:12 -07:00
px4dev
35009cd332
clean up an error message
2012-08-25 19:09:23 -07:00
px4dev
26244c43f2
make the I2C and SPI device signons distinct
2012-08-25 18:26:21 -07:00
px4dev
5c6b6038a7
turn off debug output from the mpu6000 driver
2012-08-25 18:25:56 -07:00
px4dev
e51b23d309
Now that it's safe to perform SPI transfers from interrupt context, re-enable the mpu6000 auto-poller.
2012-08-25 13:15:23 -07:00
px4dev
e5e2d7216c
Make it non-fatal to perform SPI transfers from interrupt context.
2012-08-25 13:15:23 -07:00
px4dev
23d8b69e3d
Sensor drivers should run all the time, not just when their device is open.
...
Disable this for the mpu6000 driver though, as it's currently busted in that regard.
2012-08-25 11:52:44 -07:00
px4dev
0dc0a0539d
Increase the retry count while probing for I2C sensors. This will also unwedge stuck sensors.
2012-08-25 10:53:14 -07:00
px4dev
4456ca8827
Sensor IOCTL reorganization. Common sensor operations are now shared across sensor drivers.
...
Revamp hmc5883, ms5611 and mpu6000 driver startup and test code.
2012-08-25 00:12:11 -07:00
px4dev
f901a35bd4
Remove erroneous sensor read timing checks.
2012-08-24 08:55:30 -07:00
px4dev
d55dd67d77
Remove spurious I2C clock frequency resets.
2012-08-24 08:18:18 -07:00
Lorenz Meier
d12c09cc86
improvements / debugging on I2C drivers
2012-08-24 14:58:14 +02:00
px4dev
f28a757f92
We need to init the gyro subdevice, or there is no device node. Oops.
2012-08-23 20:32:13 -07:00
Lorenz Meier
295e9da1ba
Added required scalings, added gyro to MPU6000 test, changed sensors app to read from new drivers
2012-08-24 02:16:26 +02:00
px4dev
a0b9c056d7
Add a bus reset on I2C error. Also add a mechanism for automated retries of operations.
2012-08-22 22:25:10 -07:00
Lorenz Meier
5f259e41d5
Sensor readout, testing and driver adjustments
2012-08-22 16:20:05 +02:00
px4dev
88f0080a0f
Fix an architectural issue with the ORB that prevented publication from interrupt context.
...
ORB topic advertisements are now global handles that can be used in any context. It is still possible to open a topic node as a publisher, but it's not the default. As a consequence, the type of the handle returned from orb_advertise has changed; all other API remains the same.
2012-08-21 23:44:22 -07:00
px4dev
8c22e2a092
Whitespace
2012-08-21 22:30:04 -07:00
px4dev
5f77561ed4
Fix output scaling for the hmc5883 driver. Add data checking, and fix an issue where the ORB topic could not be published due to being advertised in the wrong context.
2012-08-21 22:05:42 -07:00
px4dev
63831fa908
Fix an issue where the baro ORB topic was advertised from the wrong context and thus could not be published to.
2012-08-21 22:04:38 -07:00
px4dev
228fbb975a
New-style driver for the HMC5883 on I2C.
2012-08-21 01:09:03 -07:00
Lorenz Meier
1530aeccae
Working towards full sensor flexibility
2012-08-16 11:21:59 +02:00
px4dev
34118c72ef
mechanical style fixups
2012-08-14 08:47:04 -07:00
px4dev
735f8ffa3d
Config tweaks to enable the new-style ms5611 driver.
2012-08-14 00:07:19 -07:00
px4dev
f1f843099b
Nuke a dead file.
2012-08-13 23:51:46 -07:00
px4dev
3c5bb3f57c
New-style driver for the MPU6000.
2012-08-13 23:51:24 -07:00
px4dev
edfdb8f47e
force 8-bit SPI transactions for device::SPI drivers.
2012-08-13 23:50:55 -07:00
px4dev
65aec69705
Syntax change to improve readability; output scalers are now labelled O: instead of looking like control scalers.
...
Make mixer terminology more consistent; mixer inputs are 'controls'.
2012-08-11 11:27:07 -07:00
px4dev
67e0f8b179
Rework the mixer architecture based on discussions about arbitrary geometry mixing and plugins.
...
Now the mixer is a C++ library that can be fairly easily bolted into an output driver to provide mixing services.
Teach the FMU driver how to use it as an example. More testing is still required.
2012-08-10 00:30:40 -07:00
px4dev
9804447a66
More work on the mixer architecture.
...
Solve the multiple publishers issue with 'control groups', one group per controller. Mixer inputs now specify both group and control offset within the group.
Avoid using %f when loading/saving mixers; use scaled integers instead.
2012-08-05 14:13:34 -07:00
px4dev
9804776a0c
Checkpoint: more work in progress on mixer load/save
2012-08-05 14:13:33 -07:00
px4dev
145a6c4c49
Work in progress; standard mixer API and utility
2012-08-05 14:13:33 -07:00
Lorenz Meier
139cd09176
Faster sensor bus resets on timeouts, massively reworked fixed wing app, tested
2012-08-05 15:56:24 +02:00
px4dev
8a365179ea
Fresh import of the PX4 firmware sources.
2012-08-04 15:12:36 -07:00