Commit Graph

48 Commits

Author SHA1 Message Date
Don Gagne 92adbe9216 Fix compiler warnings 2014-06-29 17:47:24 -07:00
Lorenz Meier 1b491005d1 Minor cleanups on handling, make wrong reg accesses non-fatal for the transfer 2014-05-16 10:43:50 +02:00
Lorenz Meier b903fc1ed3 px4io: Improve the documentation of the protocol header, NO FUNCTIONAL CHANGES 2014-05-16 09:50:10 +02:00
Lorenz Meier 97fb361ea9 Set an RC status flag so that we can read out the RC status in parallel to the RC data 2014-05-14 08:00:00 +02:00
Andrew Tridgell ac52111085 px4io: support PX4IO_P_SETUP_FORCE_SAFETY_OFF
this allows the FMU to force the safety off on the IO board. Useful in
two cases:

 1) vehicles where the safety switch is impractical or not useful
 (eg. HAB planes or internal combustion motors)

 2) doing ESC calibration on multi-copters
2014-04-28 11:45:20 +02:00
Lorenz Meier 9a0b2b7610 Make throttle failsafe depend on the failsafe threshold parameter. Make the parameter optional (no harm if not found). 2014-04-05 11:02:22 +02:00
Lorenz Meier c6d98a32f8 Proper failsafe handling onboard, including throttle failsafe condition if enabled 2014-04-05 10:27:43 +02:00
Lorenz Meier ff753b9e24 Merged master into lockdown_disable 2014-01-30 10:00:01 +01:00
Lorenz Meier cc68d11353 Add flag to indicate proper RC mapping 2014-01-26 15:26:19 +01:00
Lorenz Meier a737a2a406 RSSI and SBUS out config now handled as setup feature flags. 2014-01-26 13:22:26 +01:00
Lorenz Meier 57d38bc8ce Clean up RC related metadata, put everything into the RC data page. This ensures atomic reads, makes the reads more efficient and allows for some headroom for more RC flags. The IO driver side is updated as well, however, these flags are not published yet. 2014-01-26 00:17:26 +01:00
Lorenz Meier 8ffb9e29c6 Teach IO firmware that arming and lockdown are two different things, clean up arming check 2014-01-16 10:56:15 +01:00
Lorenz Meier cddbb0d23f Merged master 2013-12-27 21:12:51 +01:00
Lorenz Meier edffade8ce Added PPM frame length feedback in IO comms and status command - allows to warn users about badly formatted PPM frames 2013-12-25 15:11:48 +01:00
Lorenz Meier b84c9f962b Merged master 2013-12-21 19:07:24 +01:00
Lorenz Meier 9883a346a0 First stab at implementing better RSSI based connection status estimation, still needs some work and testing 2013-12-13 18:01:55 +01:00
Andrew Tridgell 5b7d1af5d8 Merged crccheck command 2013-12-13 11:22:14 +01:00
Andrew Tridgell 6016fbe55d Merged PX4IO crc checks and force update 2013-12-13 11:21:00 +01:00
Lorenz Meier 0ba507b640 Added support for a total of four control groups to the IO driver and IO firmware. This allows to run auxiliary payload. Cleaned up defines for RC input channel counts, this needs another sweep to then finally allow up to 16 mapped channels and up to 20-24 RAW RC channels 2013-12-08 11:25:45 +01:00
Julian Oes ea0aa49b54 pwm info provides more information, some fixes for setting rate/min/max/disarmed 2013-10-07 16:24:49 +02:00
Jean Cyr 89d3e1db28 Implement Spektrum DSM pairing in V2
- Bind control for V2
- Relays and accessory power not supported on V2 hardware
2013-09-18 20:04:22 -04:00
Lorenz Meier 309ea81460 Merged fmuv2_bringup 2013-08-21 15:19:19 +02:00
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 6c45d9cb5c Fixed in-air timout, bumped protocol version 2013-08-17 15:47:13 +02:00
Julian Oes 56575eb068 Merge remote-tracking branch 'px4/new_state_machine_drton' into fmuv2_bringup_new_state_machine_drton
Conflicts:
	src/drivers/blinkm/blinkm.cpp
	src/drivers/px4io/px4io.cpp
	src/modules/commander/state_machine_helper.c
	src/modules/px4iofirmware/protocol.h
	src/modules/px4iofirmware/registers.c
	src/modules/systemlib/systemlib.h
	src/systemcmds/reboot/reboot.c
2013-08-15 14:04:46 +02:00
Lorenz Meier dd3033fa6f Symbol cleanup for servo vs. battery voltage 2013-07-26 15:16:48 +02:00
Lorenz Meier bf2ff98856 Merged master 2013-07-15 15:02:45 +02:00
px4dev dca9019f75 Merge branch 'master' of https://github.com/PX4/Firmware into fmuv2_bringup 2013-07-14 13:04:44 -07: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 8fa226c909 Tweak protocol register assignments and add new registers to accommodate differences in IOv2. 2013-07-06 23:59:35 -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
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 43210413a9 More test work on the px4io side of the serial interface. 2013-07-04 23:17:55 -07:00
px4dev 90c458cb61 Checkpoint: interface abstraction for px4io driver 2013-06-25 23:08:34 -07: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 cc452834c0 First try to prevent motors from stopping when armed 2013-06-18 00:30:10 +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
Lorenz Meier 9444def5f8 Merge branch 'master' into fmuv2_bringup 2013-06-10 15:01:44 +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
px4dev 308ec6001a Add serial read-length handling. 2013-05-22 22:09:00 +02:00
px4dev 437d9e4180 Merge branch 'fmuv2_bringup' into fmuv2_bringup_io2 2013-05-22 21:39:30 +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 44015d6915 px4io: return raw ADC value for current
we don't know how to scale it as we have no info on what sensor is
attached. As we are returning a uint16_t it is better to let the FMU
sort it out or we'll just lose precision.
2013-05-04 19:18:47 +10:00
px4dev e67022f874 Serial interface for IOv2 2013-04-28 18:14:46 -07:00
Lorenz Meier f57439b90e Moved all drivers to new world, PX4IO completely in new world 2013-04-28 01:30:14 +02:00