Commit Graph

287 Commits

Author SHA1 Message Date
Simon Wilks 0a89ab7075 Send rc channel ordering and channel attributes from FMU to IO 2013-01-05 22:13:12 +01:00
Andrew Tridgell 318609bf59 fixed PWM_SERVO_GET
this was using the wrong channel
2013-01-06 06:31:37 +11:00
Andrew Tridgell 0134186420 fixup rate 2013-01-06 06:31:00 +11:00
Andrew Tridgell 219ab05a70 added PWM_SERVO_SET_UPDATE_RATE ioctl
this allows apps to set the PWM update rate. APM needs this to honor
the user configurable PWM rate setting for copters.
2013-01-06 06:29:28 +11:00
px4dev 69cdab9afc Fix a typo that caused PWM_SERVO_GET ioctls to fail on the FMU PWM outputs. 2013-01-04 23:41:21 -08:00
Lorenz Meier 803352e722 Fixed stupid copy/paste typo 2013-01-01 13:39:00 +01:00
Lorenz Meier 4eb7df6ff5 Introduced battery_status uORB topic, changed sensors app to publish to it, extended px4io driver to publish to it. Both do only so if the battery voltage is reasonably high, at 3.3V 2013-01-01 13:30:24 +01:00
px4dev bd2f6b58e6 Configure ADC GPIOs on IO 2012-12-31 19:40:41 -08:00
px4dev b167912b1b Enable the temperature sensor channel for F2/F4 devices. 2012-12-31 18:31:37 -08:00
px4dev bc432b1feb Cleanup and add support for multiple channels. 2012-12-31 17:06:30 -08:00
Julian Oes 805c08815e The multirotor mixer return 0 instead of the number of channels, my Hex is flying now (not reliably now, random flips 2012-12-31 16:12:55 -08:00
px4dev 22f5a1dc94 First cut at a simple® ADC driver built on our driver framework. 2012-12-31 01:30:57 -08:00
Lorenz Meier abe1b9759a Merged IO mixing branch 2012-12-30 10:49:27 +01:00
px4dev f6ea42ab5e Fix px4io signal test command to force FMU armed state. 2012-12-30 01:28:07 -08:00
px4dev fd016abd46 Implement the remaining pieces of mixer upload to PX4IO. 2012-12-30 01:17:19 -08:00
Lorenz Meier 142556b442 merged 2012-12-30 10:03:05 +01:00
px4dev 35c82ff2fc Make mixer ioctls load from a memory buffer rather than a file. This is prep for uploading the memory buffer to IO to be processed there. 2012-12-29 00:01:04 -08:00
px4dev f0da789626 Remove the unused complex-multirotor setup ioctl, since it's not implemented anywhere. 2012-12-28 16:44:17 -08:00
Lorenz Meier 38a1076a33 Cleaned up attitude control in HIL, implemented very simple guided / stabilized mode with just attitude stabilization 2012-12-28 13:12:27 +01:00
Lorenz Meier 45a4bcb6ef Merged relay activation 2012-12-27 19:06:09 +01:00
Lorenz Meier 7526dd46a2 Added header for common priority bands 2012-12-27 19:01:00 +01:00
Lorenz Meier 9102b25bce Merge branch 'master' of github.com:PX4/Firmware into fixedwing_outdoor 2012-12-24 01:14:55 +01:00
px4dev 95b3828e41 Merge branch '#102-pwm-output-correctness' 2012-12-23 11:38:16 -08:00
px4dev 6b3f36020c Merge pull request #94 from PX4/DSM-decoder-fix
Untangle the DSM decoder from the input source priority logic, clean up input handling some more.
2012-12-23 11:31:31 -08:00
px4dev a8451a2d18 Update apps/drivers/mpu6000/mpu6000.cpp
Don't call ::close on ORB publication handles.
2012-12-23 11:24:54 -08:00
Lorenz Meier 720a1140b2 Merged NuttX 2012-12-23 20:23:30 +01:00
Lorenz Meier 6d34211630 Merge branch 'gyros_parallel' into fixedwing_outdoor 2012-12-22 00:57:50 +01:00
Lorenz Meier a2aa9dd8fd Made MPU-6000 gyro optional 2012-12-22 00:56:37 +01:00
Lorenz Meier 4cf2266b79 Robustified actuator output topic, added number of mixed outputs 2012-12-22 00:47:52 +01:00
px4dev 5b92c51777 Initial implementation of application access to the PX4IO relays. 2012-12-20 21:31:02 -08:00
px4dev 73763353d0 Merge branch 'master' into DSM-decoder-fix 2012-12-19 22:24:00 -08:00
Lorenz Meier 4676b71d8a Cleanup in ADC driver, re-add all inputs that are present 2012-12-19 14:19:11 +01:00
Lorenz Meier bc3b66043f Cleaned up HIL on FMU / IO combo 2012-12-19 11:34:51 +01:00
Lorenz Meier 4c2862f6c0 Merged PWM fixes 2012-12-18 12:32:19 +01:00
px4dev 76895af6eb Fix several aspects of the PWM output driver; enable auto-reload, use named constants for various control bits, and use a more polite mechanism at disarm time to avoid runt pulses.
This may address an issue we've seen where we get occasional malformed PWM output pulses, possibly due to a race between compare updates and the timer.
2012-12-18 00:35:28 -08:00
px4dev 8d716dea45 Teach 'fake' to set the arming state as well.
Whitespace.
2012-12-18 00:33:33 -08:00
px4dev b8044d9786 use <err.h> more consistently in the fmu driver. 2012-12-18 00:29:22 -08:00
px4dev 6d0bea0298 Fix the PWM servo ioctl base so it's not overlapping the GPIOs 2012-12-18 00:27:12 -08:00
Lorenz Meier 1fc0a6546e Merged IO feature branch 2012-12-13 11:12:34 +01:00
Lorenz Meier 03076a72ca Added required additional fields: If system is ok to launch (required for LED indicator), if system is ok to override fully by RC (required for multirotors which should not support this), desired PWM output rate in Hz (again required for some multirotors). 2012-12-13 10:23:02 +01:00
Lorenz Meier 26faab64e5 Merge branch 'master' of github.com:PX4/Firmware into fixedwing_outdoor 2012-12-09 19:19:59 +01:00
Lorenz Meier 82cbac70ee Fixed calibration check 2012-12-07 17:07:42 +01:00
Lorenz Meier 1ebb3b4ada Merged DSM fixes 2012-12-05 19:55:33 +01:00
px4dev 6e328b4d7a Add a 'monitor' verb to the px4io command so we can watch inputs to IO (it could get smarter). 2012-12-03 23:19:12 -08:00
px4dev ad6c60c77c Merge pull request #90 from PX4/#89-BlinkM-driver
BlinkM driver
2012-12-01 22:59:36 -08:00
px4dev 55e2e18885 Merge pull request #73 from PX4/io_arming
Made sure IO and FMU obey the lockdown flag when arming motors
2012-12-01 22:55:33 -08:00
px4dev 269bd9f403 Force the fade speed to something sensible. Deal better with failed probes. 2012-12-01 19:36:02 -08:00
px4dev 2a8ef50df4 A driver and shell command for the BlinkM I2C LED controller. 2012-12-01 19:29:36 -08:00
Lorenz Meier 121a9fc490 Merge branch '#61-px4io-spektrum-decoder' into fixedwing_outdoor 2012-12-01 10:51:25 +01:00
Lorenz Meier de88732e8e Prevented unhealthy RC input from propagating through the system 2012-12-01 10:49:52 +01:00
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