Lorenz Meier
5fbee23945
Added flag to disable RC evaluation onboard of IO (raw values still forwarded)
2013-08-21 11:17:29 +02:00
Lorenz Meier
061be7f7fe
Merged master
2013-08-17 20:30:52 +02:00
Jean Cyr
3f800e5861
Make it obvious that file * isn't used here
2013-08-17 10:29:35 -04:00
Jean Cyr
0301e2d145
Flesh out PX4IO documentation comments and delete unnecessary class var
2013-08-16 20:09:22 -04:00
Lorenz Meier
52d15ac7b1
Merged public master
2013-08-16 16:22:38 +02:00
Jean Cyr
0b93555043
Tell mavlink about bind results
2013-08-11 21:16:55 -04:00
Jean Cyr
35ec651cee
Remove unused IOCTLs
2013-08-11 18:07:25 -04:00
Jean Cyr
1d408b80ad
Support DSM bind via QGroundControl
2013-08-11 17:19:54 -04:00
Lorenz Meier
083cc60acb
Increased logging to 200 Hz in F330 startup for v2, allowed to set up to 333 Hz update rate in IO driver for v2 link
2013-08-11 18:42:20 +02:00
Lorenz Meier
42b4961781
Reduced excessive IO stack size (had 4k, is using 0.7k, has now 2k)
2013-08-11 16:54:24 +02:00
Jean Cyr
36679fbb39
Some DSM satellites are fussier about bind pulse timing
...
These values work better
2013-08-10 11:22:08 -04:00
Andrew Tridgell
c7d8535151
px4io: don't try the px4io serial interface on FMUv1
...
this caused px4io start to fail on FMUv1
2013-08-02 12:45:41 +02:00
Lorenz Meier
dd3033fa6f
Symbol cleanup for servo vs. battery voltage
2013-07-26 15:16:48 +02:00
px4dev
5679a1b2b1
Fix handling of register read operation errors.
2013-07-17 09:19:17 -07:00
Lorenz Meier
e86e2a0938
Add additional file name options
2013-07-17 07:57:02 +02:00
Lorenz Meier
ce8e2fd726
Fixed compile error due to bad merge
2013-07-16 09:00:21 +02:00
px4dev
dca9019f75
Merge branch 'master' of https://github.com/PX4/Firmware into fmuv2_bringup
2013-07-14 13:04:44 -07:00
px4dev
f8f6a43fea
Use common, board-type-agnostic code to allocate the PX4IO interface.
2013-07-14 11:50:35 -07:00
px4dev
6c7f1e883e
Direct-access device functions return errors directly.
...
Move to using ::init rather than ::probe in keeping with device changes.
2013-07-14 11:44:46 -07:00
px4dev
4f0ae1cdea
Build the px4io interfaces on top of the Device direct-access API.
2013-07-13 21:00:27 -07:00
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
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
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
0589346ce6
Abort the px4io worker task if subscribing to the required ORB topics fails.
2013-07-06 00:00:10 -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
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
90c458cb61
Checkpoint: interface abstraction for px4io driver
2013-06-25 23:08:34 -07: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
Lorenz Meier
58084685b2
Hotfix: Changed alarms back to what they originally were designed for: Traps to later see if condition was once violated. Currente status can be read through the status flags
2013-05-16 09:12:13 +02:00
Andrew Tridgell
fa816d0fd6
arming: added PWM_SERVO_SET_ARM_OK and PWM_SERVO_CLEAR_ARM_OK
...
these new ioctls allow for the flight code to tell the IO board that
arming can proceed
2013-05-16 08:39:24 +02:00
Lorenz Meier
79f9b61aff
Fixed led patterns to be up to the latest specs
2013-05-12 20:05:20 +02:00
Lorenz Meier
26efba2ff3
New blink patterns for safety switch, removed GPS lock indicator
2013-05-09 17:38:12 +02:00
Andrew Tridgell
d7e04a3619
px4io: fixed voltage/current output and add discharged_mah calculation
...
this integrates the current over time to calculate discharged_mah, and
allows the scaling of the current and the bias to be set with the
px4io command
2013-05-04 19:18:55 +10:00
Andrew Tridgell
421253e6db
px4io: allow set of output rates above 400 and below 50
...
let the IO board decide if the rate is reasonable, and limit it there
this fixes the rates on ArduCopter, which try for 490
2013-05-04 19:17:54 +10:00
Lorenz Meier
f57439b90e
Moved all drivers to new world, PX4IO completely in new world
2013-04-28 01:30:14 +02:00
Lorenz Meier
e6ed8268ee
Moved position_estimator_mc, px4io driver and sdlog app to new style build
2013-04-27 12:59:47 +02:00