Jean Cyr
39b3fc8d32
Don't leave RX in bind mode on console open fail
...
Don't leave RX in bind mode in the unlikely eventuality that console
open fails
2013-07-11 10:36:17 -04:00
Jean Cyr
897b541b12
General cleanup of /dev/px4io and /dev/px4fmu
...
- Use distinct common symbols for px4io and px4fmu device files, and use
instead of hardcoded filenames
- Use common symbols defining px4io bits consistently between px4fmu and
px4io builds.
2013-07-09 20:37:00 -04:00
Julian Oes
88389ea255
Merge branch 'master' into new_state_machine
...
compiling again
Conflicts:
src/modules/fixedwing_att_control/fixedwing_att_control_att.c
src/modules/fixedwing_att_control/fixedwing_att_control_rate.c
src/modules/fixedwing_pos_control/fixedwing_pos_control_main.c
src/modules/mavlink/orb_listener.c
src/modules/multirotor_att_control/multirotor_attitude_control.c
src/modules/multirotor_att_control/multirotor_rate_control.c
src/modules/systemlib/pid/pid.c
src/modules/systemlib/pid/pid.h
src/modules/uORB/objects_common.cpp
2013-07-08 10:31:32 +02:00
px4dev
b4029dd824
Pull v2 pieces up to build with the merge
2013-07-07 17:53:55 -07:00
Jean Cyr
20103f572f
Minor px4io optimization
...
Since this module creates the PX4IO object and that the IOCTL function
doesn't use the file descriptor parameter, there is no need to invoke
IOCTL via the filesystem since we can call it directly.
2013-07-07 20:19:27 -04:00
Jean Cyr
dab652faf6
Prevent RELAY1 control via IOCTL if DSM bind feature is enabled
2013-07-07 19:04:30 -04:00
Jean Cyr
35711280df
Merge remote-tracking branch 'upstream/master'
2013-07-07 14:29:30 -04:00
px4dev
8fa226c909
Tweak protocol register assignments and add new registers to accommodate differences in IOv2.
2013-07-06 23:59:35 -07:00
px4dev
a65a1237f0
Optimise the RC input fetch for <= 9ch transmitters; this eliminates one read per cycle from IO in the common case.
2013-07-06 12:29:14 -07:00
px4dev
17f9c7d15c
Crank up the test speed for 'px4io iftest 1'
2013-07-06 12:28:01 -07: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
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
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
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
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
px4dev
90c458cb61
Checkpoint: interface abstraction for px4io driver
2013-06-25 23:08:34 -07:00
Julian Oes
a6ba7e4485
Dropped superseded safety topic, added warning tones before arming
2013-06-25 13:15:38 +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
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
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
Lorenz Meier
c3a8f177b6
Software version check fixes
2013-06-12 12:58:17 +02:00
Lorenz Meier
eb76d116cc
Minor state machine improvements and fixes for IO safety / in-air restart handling
2013-06-12 12:30:42 +02:00
Julian Oes
7f90ebf537
Merge remote-tracking branch 'upstream/master' into new_state_machine
...
Conflicts:
src/examples/fixedwing_control/main.c
2013-06-12 12:24:52 +02:00
Lorenz Meier
1deced7629
Added safety status feedback, disallow arming of a rotary wing with engaged safety
2013-06-09 14:09:09 +02:00
Lorenz Meier
4e3f4b57e3
Hotfix: Allow the IO mixer loading to load larger mixers, fix up the px4io test command to allow a clean exit
2013-06-07 10:36:56 +02:00
Lorenz Meier
45fe45fefa
Better error handling for too large arguments
2013-06-04 13:32:57 +02:00
Lorenz Meier
5f2571dd01
Set unknown channels to zero, since centering them is a slightly dangerous guess
2013-05-29 18:29:41 +02:00
Lorenz Meier
f6570172da
Set default failsafe value to 0 of mixer
2013-05-29 17:07:26 +02:00
Lorenz Meier
2876bc72f9
Slightly reworked IO internal failsafe, added command to activate it (px4io failsafe), does not parse commandline arguments yet
2013-05-28 17:46:24 +02:00
Julian Oes
f5c157e74d
Merge remote-tracking branch 'upstream/master' into new_state_machine
...
Conflicts:
src/drivers/px4io/px4io.cpp
src/modules/commander/commander.c
src/modules/commander/state_machine_helper.c
2013-05-17 11:24:02 +02:00