Andrew Tridgell
154bf51279
HAL_PX4: minor tidy up of if statement
2014-11-14 13:51:16 +11:00
Holger Steinhaus
9e9c62d245
HAL_PX4: work-around for periodic enable_ch() calls
2014-11-14 13:51:16 +11:00
Holger Steinhaus
e5549c90a1
HAL_PX4: do not overwrite disabled channels with zeros
...
Fixes #1321
2014-11-14 13:51:16 +11:00
Andrew Tridgell
e22c8b27a9
HAL_PX4: if there are no enabled channels don't send to PX4IO
...
this makes it possible to disable PWM output to IO to test override
2014-11-07 10:39:07 +11:00
Andrew Tridgell
7e3b8a30f5
HAL_PX4: use px4io generated values for servo output readback
...
this makes it easier to observe the behaviour of IO failsafe
2014-11-05 21:54:53 +11:00
Andrew Tridgell
10b0ca7ea8
HAL_PX4: reduce the number of times we split up UART reads and writes
2014-10-09 12:29:25 +11:00
Randy Mackay
ffcd259b4e
HAL_PX4: implement force_safety_on
2014-09-18 09:58:46 +09:00
Andrew Tridgell
74525cad89
HAL_PX4: fixed dirty_mask calculation in FRAM storage
...
this could lead to a number of bytes on 512 byte boundaries not being
written when changed in ram, so they would revert on next boot
2014-09-11 18:58:54 +10:00
Andrew Tridgell
48247b6adc
HAL_PX4: minimise usage of hrt_absolute_time()
2014-08-20 09:10:24 +10:00
Andrew Tridgell
1241da466b
HAL_PX4: added millis64() and micros64()
2014-08-20 08:01:06 +10:00
Andrew Tridgell
0a20d0db60
HAL_PX4: prevent read past end of buffer
2014-08-19 10:08:17 +10:00
Andrew Tridgell
41f7ad42d4
HAL_PX4: fixed example build
2014-08-13 21:48:35 +10:00
Andrew Tridgell
c864f3eed5
HAL_PX4: enable full storage size on PX4
2014-08-13 18:46:45 +10:00
Andrew Tridgell
d40d0f6aec
AP_HAL: removed old storage type read/write functions
...
not needed any more
2014-08-13 18:46:44 +10:00
Andrew Tridgell
d1a75874a1
HAL_PX4: don't report power status change if in first 5 seconds
2014-08-09 22:50:14 +10:00
Andrew Tridgell
02dec5634f
AP_HAL: fixed example builds
2014-07-25 17:52:01 +10:00
Andrew Tridgell
b2bc098aee
HAL_PX4: avoid some float conversion warnings
2014-07-08 20:27:19 +10:00
Andrew Tridgell
849c4905fb
HAL_PX4: print overtime message on stuck task
...
this should make it easier to narrow down stuck task bugs
2014-07-03 09:11:24 +10:00
Andrew Tridgell
fa4eb5475a
HAL_PX4: implement analog input stop pins
...
this allows multiple sonars to cooperate without interference
2014-06-02 08:35:41 +10:00
Andrew Tridgell
37c50d9587
HAL_PX4: fixed use of FMU servo pins as digital inputs
...
these pins can be PWM output or digital input or digital output
2014-05-25 22:03:44 +10:00
Andrew Tridgell
a7d6a26bec
HAL_PX4: fixed auto-flow control
...
the 6 bytes written to break the radio out of bootloader broke
auto flowcontrol detection
2014-05-19 22:02:39 +10:00
Andrew Tridgell
320834a5e7
HAL_PX4: read from FRAM in 128 byte chunks (2nd try)
...
this time without the amazingly silly bug
2014-05-02 22:12:45 +10:00
Andrew Tridgell
db6b96caa0
Revert "HAL_PX4: read from FRAM in 128 byte chunks"
...
This reverts commit a92366c455
.
This commit may be associated with FRAM corruption on Pixhawk. Revert
until we understand why
2014-05-02 21:52:26 +10:00
Andrew Tridgell
a92366c455
HAL_PX4: read from FRAM in 128 byte chunks
...
this fixes FRAM read on Roberts Pixhawk. We don't know why yet.
2014-05-02 12:24:54 +10:00
Andrew Tridgell
5cd145a307
AP_HAL: added set_failsafe_pwm() API
...
this allows the PWM values for FMU firmware failure to be setup
2014-04-21 08:36:52 +10:00
Andrew Tridgell
6eee2421cc
AP_HAL: removed RCInput valid_channels() and added new_input() and num_channels()
...
the valid_channels() method was inconsistently implemented between
boards, and served two quite different purposes. It is clearer as two
functions
2014-03-25 14:39:41 +11:00
Andrew Tridgell
2a9a89e020
HAL_PX4: fixes for merged upstream PX4Firmware
2014-03-25 10:30:00 +11:00
Andrew Tridgell
d36989f6a1
AP_HAL: fixed example build
2014-03-19 12:14:06 +09:00
Andrew Tridgell
5f85e7af6a
HAL_PX4: switch to new serial port for 2nd GPS
2014-03-04 20:34:44 +11:00
Andrew Tridgell
bf2dd141e9
HAL_PX4: support uartE for 2nd GPS
2014-02-26 08:18:11 +11:00
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