Andrew Tridgell
830afefcef
AP_HAL: fixed example build
2014-02-15 06:40:29 +11:00
Andrew Tridgell
bea0a46410
AP_HAL: added servorail_voltage and power_status_flags() API on AnalogIn
2014-02-15 05:00:09 +11:00
Andrew Tridgell
7c1b9b344f
AP_HAL: added get_flow_control() API
2014-02-14 21:51:00 +11:00
Andrew Tridgell
1849db7074
AP_HAL: added board_voltage AnalogIn method
...
this makes it easier to get the board voltage from any library,
without having to allocate another analog channel object
2014-02-14 21:25:38 +11:00
Andrew Tridgell
4e2e685d7a
HAL_PX4: better fix for IFLOW on all ports
...
the tcsetattr() call fails to apply the baudrate if the port has no
RTS pin and we ask for IFLOW. So just make a separate call.
2014-02-12 17:47:23 +11:00
Andrew Tridgell
b2cdd39a99
HAL_PX4: don't enable IFLOW on ports without flow control
...
this should have been harmless, but breaks the GPS on Pixhawk. This
disables it until we work out why.
2014-02-12 17:32:07 +11:00
Andrew Tridgell
c93794999e
HAL_PX4: remove an old conditional define
2014-02-11 15:58:25 +11:00
Andrew Tridgell
439a075b30
AP_HAL: added force_safety_off rcoutput function
...
this forces the safety switch off, enabling PWM on the IO board
2014-02-11 15:58:25 +11:00
Andrew Tridgell
c5c1d1358a
HAL_PX4: added automatic hardware flow control detection
...
this allows us to detect if hardware flow control is not available and
automatically disable it
2014-02-11 12:11:26 +11:00
Andrew Tridgell
3e637ac5d9
AP_HAL: added enable_flow_control() option in AP_HAL
2014-02-10 12:54:50 +11:00
Andrew Tridgell
99b41f110f
HAL_PX4: enable the FMU PWM pins to be used as GPIO when needed
2014-01-20 17:06:28 +11:00
Andrew Tridgell
87cc95dd7f
AP_HAL: removed unused enable_mask and disable_mask functions
2014-01-16 17:16:17 +11:00
Andrew Tridgell
e1f06c532a
HAL_PX4: more checking of IO results in eeprom driver
2014-01-16 13:11:14 +11:00
Andrew Tridgell
3ae6f03761
HAL_PX4: be less verbose about disarmed PWM setup
2014-01-16 13:11:13 +11:00
Andrew Tridgell
db1d438e97
HAL_PX4: implement set_safety_pwm() API
...
used to set PWM on motors when disarmed
2014-01-15 22:25:50 +11:00
Andrew Tridgell
64fbadcc21
HAL_PX4: use eeprom on PX4 FMUv1 as well
...
this means we no longer store params on SD at all
2014-01-15 19:33:13 +11:00
Andrew Tridgell
376ab30366
HAL_PX4: disable rename of old parameter file for now
...
be nice to release candidate users
2014-01-14 22:00:56 +11:00
Andrew Tridgell
626086063e
HAL_PX4: added a signature to FRAM
...
this makes for more reliable update
2014-01-14 15:06:51 +11:00
Andrew Tridgell
b88bb0751c
HAL_PX4: added support for MTD (FRAM) parameters
...
this allows us to store parameters and waypoints in FRAM, and
auto-upgrade from microSD
2014-01-14 12:46:26 +11:00
Andrew Tridgell
e78e35f3bd
HAL_PX4: try to use uppercase names on NuttX microSD card
2014-01-14 12:46:26 +11:00
Andrew Tridgell
63586e3e23
HAL_PX4: fixed build for new PX4Firmware
2014-01-13 13:54:51 +11:00
Andrew Tridgell
89676be825
HAL_PX4: fixed RCInput race condition
...
the number of channels could be zero with thread switch at the wrong
time
2013-12-31 22:25:16 +11:00
Andrew Tridgell
a2997704eb
HAL_PX4: removed code which drops throttle to 900 on loss of RC
...
rely on vehicle code checking for last data coming in
2013-12-31 10:58:49 +11:00
Andrew Tridgell
ea649e036b
AP_HAL: added HAL_CPU_CLASS define for selecting algorithms
...
this will make it easier to select the appropiate level of algorithm
for a CPU
2013-12-31 10:28:37 +11:00
Andrew Tridgell
a95868e124
HAL_PX4: even larger tx buffer size for faster log transfer
2013-12-28 16:01:48 +11:00
Andrew Tridgell
22bdee8727
HAL_PX4: implement available_memory()
2013-12-28 16:01:28 +11:00
Andrew Tridgell
ff7004fcc5
HAL_PX4: use larger buffers on USB
2013-12-28 14:25:54 +11:00
Andrew Tridgell
e321ad65f4
AP_HAL: fixed example build
2013-12-17 11:51:37 +11:00
Andrew Tridgell
f433796435
HAL_PX4: removed an unused variable
2013-12-11 10:22:34 +11:00
Andrew Tridgell
4b4f5ed1c0
HAL_PX4: support get_system_id() on PX4
2013-11-26 13:00:03 +11:00
Andrew Tridgell
0b25ff0a16
HAL_PX4: added uartD
2013-11-23 19:29:22 +11:00
Andrew Tridgell
24d1cf3bd6
HAL_PX4: don't check USB for data if not connected
2013-11-05 14:41:42 +11:00
Andrew Tridgell
8dc6b758f3
HAL_PX4: switch to delay_microseconds_semaphore() for UART timer
...
this may prevent some timing jitter on the GPS UARTs
2013-11-05 14:41:24 +11:00
Andrew Tridgell
5800c2a2c8
HAL_PX4: prevent excessive writes on startup from blocking
...
this could cause copter on PX4 to hang on startup
2013-10-28 16:12:44 +11:00
Andrew Tridgell
622f0dcc1d
HAL_PX4: prevent threads running before subsystems are initialised
...
this fixes a bug where the timer thread would hang waiting for the
console on startup. This caused the "hit enter" behaviour with recent
PX4 bugs, as AnalogIn tried to read from fd==0, which was a console
read
2013-10-26 18:12:35 +11:00
Andrew Tridgell
34cde1a640
HAL_PX4: implement set_system_clock()
2013-10-24 14:22:48 +11:00
Andrew Tridgell
1c091cbca5
HAL_PX4: fixed a scheduler bug that affects UART IO
...
we need to detect if we are in a timer task using a PID, not a
flag. This is the same type of bug I fixed last week, but now fixed
properly.
The bug could well be the "USB bug" that Craig has been chasing
2013-10-19 16:50:38 +11:00
Andrew Tridgell
d973730b88
HAL_PX4: use hrt timer and semaphores to improve timing
...
this gives much more accurate microsecond delays, while also ensuring
we yield the CPU when possible
2013-10-14 08:29:30 +11:00
Andrew Tridgell
e34cc6dd9a
HAL_PX4: added some UART debugging
...
this may help to track down USB issues
2013-10-13 12:43:25 +11:00
Andrew Tridgell
63bee0b2d8
HAL_PX4: disable checks for in_timerprocess
...
these are not valid in this form for the way the timer thread works on
PX4.
2013-10-11 16:06:35 +11:00
Andrew Tridgell
67db1cedaa
HAL_PX4: fixed delay_microseconds() on PX4
...
we could underflow and delay a very long time!
2013-10-08 17:31:15 +11:00
Andrew Tridgell
7cab8cb3bb
HAL_PX4: removed Console driver
2013-10-05 18:33:07 +10:00
Andrew Tridgell
ad30f8effa
HAL_PX4: try to reopen UARTs if safety switch is disarmed
...
this allows attaching to the USB port after power on
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-05 15:47:28 +10:00
Andrew Tridgell
a250c13c79
HAL_PX4: fixed build
2013-10-03 12:21:08 +10:00
Andrew Tridgell
942ae70651
HAL_PX4: updates for AP_HAL::MemberProc
2013-09-30 21:06:42 +10:00
Andrew Tridgell
7067569103
HAL_PX4: fixed end() on UARTs
2013-09-29 12:04:36 +10:00
Andrew Tridgell
7ec242146d
HAL_PX4: update for new scheduler API
2013-09-28 21:24:03 +10:00
Andrew Tridgell
40af9ab674
AP_HAL_PX4: updates for new API
2013-09-22 12:22:05 +10:00
Andrew Tridgell
05b426c1fc
HAL_PX4: use common printf implementation on UARTs
2013-09-21 14:23:52 +10:00
Andrew Tridgell
80e2a5cc32
AP_HAL_PX4: convert to new AP_HAL printf
2013-09-21 13:29:32 +10:00
Andrew Tridgell
a5b29f44d5
AP_HAL: added hal.gpio->usb_connected() function
...
this replaces the USB_MUX_PIN on APM2, and works on PX4 and FMUv2
2013-09-19 16:23:40 +10:00
Andrew Tridgell
2990359043
PX4: Implement accurate ratiometric voltage reading on Pixhawk
...
this uses the monitoring of the 5V rail to compensate for changes in
the 5V reference versus the 3.3V ADC reference. It reduces the noise
on ratiometric sensors by a factor of about 6x.
2013-09-13 10:48:57 +10:00
Andrew Tridgell
3a3cecf5ff
PX4: support getting servorail voltage from ORB
2013-09-12 16:28:06 +10:00
Andrew Tridgell
fb56feb6b2
HAL_PX4: support all analog input pins, with scaling
...
this allows voltage/current/Vcc sensing on FMUv2
2013-09-12 13:26:00 +10:00
Andrew Tridgell
fa107bdb58
PX4: moved UART handling to its own thread
...
this prevents slow writes to the SD card from interfering with MAVLink
or GPS serial communication
2013-09-04 13:15:27 +10:00
Andrew Tridgell
7082e0f8aa
AP_HAL: added hold_in_bootloader parameter to scheduler->reboot()
2013-09-04 11:58:13 +10:00
Andrew Tridgell
5e33bbd197
PX4: fixed sense of relay pins
2013-08-30 15:05:29 +10:00
Andrew Tridgell
83fbb29db1
HAL_PX4: fixed example build
2013-08-30 13:01:36 +10:00
Randy Mackay
07abfc59ac
AP_HAL_PX4: compile error fix
2013-08-30 13:01:35 +10:00
Randy Mackay
ac36a09747
AP_HAL: add toggle to GPIO
2013-08-30 13:01:34 +10:00
Andrew Tridgell
0527bae8cb
PX4: support PX4IO relay pins
...
this allows the pins to be used in the relay code
2013-08-30 13:01:34 +10:00
Andrew Tridgell
9b3c54fc39
PX4: ensure storage buffer is DMA aligned
...
this helps for boards which use DMA for FAT IO
2013-08-30 13:01:33 +10:00
Andrew Tridgell
2340bb6220
PX4: use a minimum transmit buffer for UARTs of 512 bytes
...
this avoids writes stalling on the GPS port. We can't afford this
memory on APM2, but we can on PX4, and it means that while the GPS is
blocking at startup it doesn't cause any scheduler slips
2013-08-30 13:01:33 +10:00
Andrew Tridgell
e5f19e314d
PX4: systemreset() now takes a boolean argument
...
this chooses whether to stay in the bootloader
2013-08-30 13:01:33 +10:00
Andrew Tridgell
4794d90bbb
HAL_PX4: support up to 16 analog channels
2013-08-30 13:01:32 +10:00
Andrew Tridgell
3bc035d83a
HAL_PX4: fixed GPIO build
...
don't use vehicle includes
2013-08-30 13:01:32 +10:00
Andrew Tridgell
0f677e3a10
HAL_PX4: fixed build on FMUv1
2013-08-30 13:01:32 +10:00
Andrew Tridgell
091b989b30
HAL_PX4: some GPIO functions are not available on FMUv2 yet
2013-08-30 13:01:32 +10:00
Julian Oes
56e94d70e9
PX4: Adaptations to latest build changes
2013-08-30 13:01:32 +10:00
Andrew Tridgell
83b13c3d88
HAL_PX4: fixed definition of relay and piezo pins
2013-07-11 13:50:23 +10:00
Andrew Tridgell
0916388ab5
HAL_PX4: retry opening UARTs up to 5 times
...
this seems to help a lot with the USB port on PX4
2013-07-11 13:50:23 +10:00
Marco Bauer
a3b216bce3
HAL_PX4: added GPIO driver
2013-07-11 13:50:22 +10:00
Andrew Tridgell
d7d87f827e
HAL_PX4: support voltage monitoring on multi-connector pin 5
2013-06-05 08:24:20 +10:00
Andrew Tridgell
2316c3bd11
AP_HAL: make storage->write_block() take a const pointer
2013-06-04 14:02:13 +10:00
Andrew Tridgell
e391c34d1e
AP_HAL_PX4: fixed indent-tabs-mode
2013-05-30 09:54:53 +10:00
Andrew Tridgell
2c149bac8e
HAL_PX4: added new arming ioctls
2013-05-16 16:43:38 +10:00
Andrew Tridgell
a5b20b4dfc
AP_HAL: removed scaling factor on analog sources
...
these are not use anymore, as voltage_average() is used instead
2013-05-13 15:29:42 +10:00
Andrew Tridgell
589b8cdb58
AP_HAL: added voltage_average_ratiometric() call to AnalogIn
...
this is for ratiometric sensors such as the 3DR airspeed sensor and
the Maxbotix analog sonar
2013-05-13 15:12:43 +10:00
Andrew Tridgell
172faeea26
HAL_PX4: moved rc.APM to new ROMFS directory
2013-05-10 06:16:54 +10:00
Andrew Tridgell
b3e21c6add
HAL_PX4: include visibility.h
...
needed for new nuttx structure
2013-05-10 06:16:53 +10:00
Andrew Tridgell
9cd0af1132
HAL_PX4: make PX4 snprintf support %S format
...
just maps it to %s for normal printf
2013-05-08 16:17:06 +10:00
Andrew Tridgell
9bc48c9894
HAL_PX4: fixed build with new AnalogIn API
...
pin settle times not actually implemented on PX4 yet
2013-05-03 10:09:02 +10:00
Andrew Tridgell
ccd38e58a1
HAL_PX4: fixed the scaling on the analog pins
2013-05-02 21:40:15 +10:00
Randy Mackay
bbbd90c430
AP_HAL: rename RCInput's valid() fn to valid_channels
2013-04-29 15:05:53 +09:00
Andrew Tridgell
ec1678db83
HAL_PX4: setup for 12 output channels
...
moved telemetry port to /dev/ttyS2 to free PWM outputs on FMU
2013-04-25 20:10:53 +10:00
Andrew Tridgell
709615159a
HAL_PX4: support 12 output channels with PX4IO
...
first 8 on IO board, next 4 on FMU outputs
2013-04-25 20:10:53 +10:00
Andrew Tridgell
af7381e9e0
AP_HAL: added register_io_process()
...
this is used to register a low priority IO task. Used for file IO in
DataFlash_File.cpp
2013-04-17 21:33:50 +10:00
Andrew Tridgell
d01d754ba8
HAL_PX4: if we have lost RC input then set channel 3 to 900
...
this allows failsafe to kick in
2013-04-15 10:52:32 +10:00
Andrew Tridgell
6ddb99a50b
HAL_PX4: create APM/boot.log on SD card
...
useful for debugging
2013-03-21 15:05:21 +11:00
Andrew Tridgell
cc932973d6
HAL_PX4: remove the need for the fmu_only flag file
2013-03-21 15:05:21 +11:00
Andrew Tridgell
8766e86091
HAL_PX4: fixed blocking bulk writes to UARTs
...
this fixes a problem with uBlox initialisation on PX4
2013-03-20 15:41:52 +11:00
Andrew Tridgell
14911eff6c
HAL_PX4: added a (disabled) trick for handling blocking ttyACM0
...
this doesn't work yet, but is worth having for debugging
2013-03-20 11:20:43 +11:00
Andrew Tridgell
93fc9c48e5
HAL_PX4: fixed startup bug in fmu_only mode
2013-03-19 07:57:13 +11:00
Andrew Tridgell
ac69a531d3
HAL_PX4: workaround problem with APM file on SD card
...
this works around file redirection bug from earlier firmwares
2013-03-18 13:12:17 +11:00
Andrew Tridgell
6a1aad30f1
HAL_PX4: auto-create APM directory on SD card
2013-03-16 19:47:09 +11:00
Andrew Tridgell
b1c27407a2
AP_HAL: added voltage_average() interface to AnalogIn
...
returns voltage in Volts, using averaged reading over samples.
Where possible this should be auto-scaled against a known reference
voltage
2013-03-03 16:16:01 +11:00
Pat Hickey
e0457f21de
AP_HAL_PX4: fix off-by-one error in RCOutput channel sending
2013-02-23 15:04:17 -08:00
Andrew Tridgell
c373429a6e
HAL_PX4: fixed a buffer handling bug
...
BUF_SPACE() was badly buggy, which could lead to memory corruption
2013-02-20 18:15:56 +11:00
Andrew Tridgell
160e5fa311
HAL_PX4: show a message if we fail to upgrade PX4IO firmware
2013-02-20 18:15:23 +11:00
Andrew Tridgell
02c5c3ec4a
HAL_PX4: changed scheduler priorities
...
put sensor priority above main sketch, to prevent occasional blocking
for sensor data
2013-02-20 11:30:54 +11:00