Commit Graph

3340 Commits

Author SHA1 Message Date
px4dev 17f9c7d15c Crank up the test speed for 'px4io iftest 1' 2013-07-06 12:28:01 -07:00
Simon Wilks 86adaeb3e8 More cleanups 2013-07-06 15:02:34 +02:00
px4dev 87a4f1507a Move the common definitions for the PX4IO serial protocol into the shared header. 2013-07-06 00:16:37 -07:00
px4dev 0589346ce6 Abort the px4io worker task if subscribing to the required ORB topics fails. 2013-07-06 00:00:10 -07:00
px4dev a4b0e3ecbe Add retry-on-error for non-protocol errors.
Add more performance counters; run test #1 faster.
2013-07-05 22:54:44 -07:00
px4dev 3c8c596ac7 Enable handling for short-packet reception on FMU using the line-idle interrupt from the UART. Enable short packets at both ends. 2013-07-05 20:37:05 -07:00
px4dev 87c3d1a8c1 More link performance counters. 2013-07-05 19:03:08 -07:00
px4dev 46a4a44321 Be more consistent with the packet format definition.
Free perf counters in ~PX4IO_serial
2013-07-05 18:36:00 -07:00
Jean Cyr 3f9f2018e2 Support binding DSM2 and DSMX satellite receivers
The px4io bind command allows you to put a DSM satellite receiver into
bind mode. Since this feature requires that
the dsm VCC line (red wire) be cut and routed through relay one, it is
not enabled by default in order not to
affect those not using a DSM satellite receiver or wising to use relay
one for other purposes.

NOTE: Binding DSM2 satellites in 11-bit mode is not supported due to
potential bug in some DSM2 receiver streams
when in 11-bit mode. Furthermore the px4io software folds 11 bit data
down to 10 bits so there is no resolution
advantage to to 11-bit mode.

To enable the feature the RC_RL1_DSM_VCC parameter must be set to a non
zero value from the console, or using
QGroundControl:

param set RC_RL1_DSM_VCC 1

From the console you can initiate DSM bind mode with:

uorb start
param set RC_RL1_DSM_VCC 1
px4io start
px4io bind dsm2

For binding a DSMX satellite to a DSMX transmitter you would instead
use:

px4io bind dsmx

Your receiver module should start a rapid flash and you can follow the
normal binding sequence of your
transmitter.

Note: The value of parameter RC_RL1_DSM_VCC defaults to 0, so none of
this will have any effect on an unmodified
DSM receiver connection. For this feature to work, the power wire (red)
must be cut and each side connected to a
terminal on relay1 of the px4io board.

This has been tested using Spektrum as well as Hobby King 'Orange' DSM
satellite receivers.

Both px4fmu and px4io images are updated.
2013-07-05 20:51:29 -04:00
px4dev 6c5a15da9b Eliminate the TD DMA callback; we don't need to know that it's completed.
Fix abort behaviour on timeouts, now we don't wedge after the first one.
2013-07-05 17:39:28 -07:00
px4dev 50cae347b4 Check packet CRCs and count errors; don't reject packets yet. 2013-07-05 17:13:54 -07:00
px4dev 5a8f874166 Add an 8-bit CRC to each transmitted packet. 2013-07-05 16:56:47 -07:00
px4dev 313231566c Encode the packet type and result in the unused high bits of the word count. 2013-07-05 16:41:27 -07:00
px4dev e55a37697d Always send and expect a reply for every message. 2013-07-05 16:34:44 -07:00
px4dev d83323d4a2 Use the NuttX built-in crc32, it works fine. 2013-07-05 16:18:55 -07:00
px4dev 52096f017f Switch to the 'normal' way of doing register accessors.
Be more aggressive en/disabling DMA in the UART, since ST say you should.
2013-07-04 23:17:16 -07:00
px4dev c21237667b iov2 pin definition cleanup sweep 2013-07-04 23:16:13 -07:00
px4dev 2e001aad04 Add PX4IOv2 support to the uploader. 2013-07-04 12:50:59 -07:00
px4dev f2079ae7ff Add DMA error handling.
Add serial error handling.
Add short-packet-reception handling (this may allow us to send/receive shorter packets… needs testing).
2013-07-04 11:21:25 -07:00
Simon Wilks 49aca1ae5b Add in missing files. 2013-07-04 08:50:34 +02:00
px4dev 7255c02c20 Add a test hook for the PX4IO interface. Wire up some simple tests for the serial interface.
Signal quality looks good at 1.5Mbps. Transmit timing is ~450µs per packet, ~20µs packet-to-packet delay spinning in a loop transmitting.
2013-07-03 23:41:40 -07:00
Simon Wilks 6d2f14e125 Refactoring of the hott telemetry driver and added functionality to read from a HoTT sensor. 2013-07-04 08:33:19 +02:00
px4dev 03a15bfdc5 Fix argument parsing in the rgbled command. 2013-07-03 22:23:01 -07:00
px4dev be6ad7af3b Rework the FMU<->IO connection to use a simple fixed-size DMA packet; this should let us reduce overall latency and bump the bitrate up.
Will still require some tuning.
2013-07-03 00:08:12 -07:00
Lorenz Meier 3eb115c821 Merge pull request #7 from skelly/l3gd20h_support
Enabled MS5611, nsh on USB by default.
2013-07-02 11:06:53 -07:00
marco 209dc7100e mkclctrl 8/11Bit support, uOrb Topic added, ESC Topic to Sdlog2 added 2013-07-02 19:46:15 +02:00
px4dev d1562f926f More implementation for the serial side on IO; fix a couple of bugs on the FMU side.
Still needs serial init and some more testing/config on the FMU side, but closer to being ready to test.
2013-06-28 23:39:35 -07:00
Simon Wilks dadd8703b4 Initial non-tested code for reading from the ESC. 2013-06-28 08:42:05 +02:00
px4dev 90c458cb61 Checkpoint: interface abstraction for px4io driver 2013-06-25 23:08:34 -07:00
Sam Kelly b1f3a5c92b Enabled MS5611 by default on FMUv2. 2013-06-25 14:01:27 -07:00
Julian Oes a6ba7e4485 Dropped superseded safety topic, added warning tones before arming 2013-06-25 13:15:38 +02:00
Julian Oes 2096da2d4d Don't interrupt a playing tune unless its a repeated one 2013-06-25 13:11:15 +02:00
Julian Oes 9b6c9358ed First try for an ESC calibration tool 2013-06-20 01:13:49 +02:00
Julian Oes 23858a6726 Added functionality to enable PWM output for stupid ESCs even when safety is not off, arming button functionality remains as is 2013-06-19 22:59:40 +02:00
Julian Oes 202792294a Merge remote-tracking branch 'upstream/io_fixes' into new_state_machine
Conflicts:
	src/drivers/px4io/px4io.cpp
	src/modules/commander/commander.c
	src/modules/commander/state_machine_helper.c
	src/modules/commander/state_machine_helper.h
	src/modules/px4iofirmware/mixer.cpp
	src/modules/uORB/topics/actuator_controls.h
	src/modules/uORB/topics/vehicle_status.h
2013-06-18 15:35:26 +02:00
Julian Oes b5f4f1ee80 Adressed performance concern and fixed a copy paste bug 2013-06-18 10:00:42 +02:00
Julian Oes cc452834c0 First try to prevent motors from stopping when armed 2013-06-18 00:30:10 +02:00
Julian Oes 7bb78a4f9b Merge remote-tracking branch 'drton/sdlog2' into new_state_machine
Conflicts:
	src/modules/sdlog2/sdlog2.c
2013-06-17 14:45:20 +02:00
Lorenz Meier 92e0687022 Merge branch 'master' of github.com:PX4/Firmware into integration 2013-06-17 08:44:07 +02:00
px4dev b2ff8b5e1a Turn off logging 2013-06-16 23:02:46 -07:00
px4dev 3163d7ac09 Set the serial port speed before trying to talk to IO 2013-06-16 22:41:08 -07:00
Lorenz Meier f1419d4f5f Merge pull request #307 from sjwilks/ets-airspeed-fix
Fix the usage help and lots of formatting fixes.
2013-06-16 12:29:37 -07:00
Simon Wilks 24cb66c833 And yet more formatting cleanups 2013-06-16 21:17:07 +02:00
Simon Wilks 7a99de9d30 More formatting cleanups 2013-06-16 21:07:42 +02:00
Simon Wilks 1fc3c8f723 Fix usage help and cleanup formatting 2013-06-16 20:52:15 +02:00
Simon Wilks dadac932da Report airspeed over HoTT telemetry 2013-06-16 20:44:11 +02:00
Julian Oes 65d36c44af Prevent flips at high throttle
Conflicts:
	src/drivers/ardrone_interface/ardrone_motor_control.c
2013-06-15 19:53:25 +02:00
Julian Oes 5b21362e1f Arming with IO working now 2013-06-14 16:04:23 +02:00
Julian Oes 90f5e30f2a Introduced new actuator_safety topic 2013-06-14 13:53:26 +02:00
Sam Kelly 53f29a25b6 Added l3gd20h detection 2013-06-13 12:51:50 -07:00