Andrew Tridgell
3402d07651
HAL_PX4: fixed a race condition on i2c init
...
we could call init on two devices with the same name, which caused
init_ok to be false. This could cause the SMBus battery to fail to
initialise
Thanks to Michael duBreuil for finding this!
2017-10-26 18:21:56 +11:00
Lucas De Marchi
f6b1099896
AP_HAL: move in tap esc implementation
...
This can be shared with Linux.
2017-09-21 07:59:20 -07:00
Peter Barker
8d208ea514
AP_HAL_PX4: make in_main_thread const and override
2017-09-19 09:40:11 +10:00
VikingDai
9f0e8a64d5
Update HAL_PX4_Class.cpp
...
"ttys5" used both for console and common usart ,it should be initialized by AP_SerialManager ;
2017-09-08 10:33:40 +10:00
Andrew Tridgell
d09b549144
HAL_PX4: allow uart5 to be used for non-nsh on FMUv2/FMUv3
2017-08-28 17:57:28 +10:00
Peter Barker
48c4e48225
AP_HAL_PX4: send statustext for RC input decoding type
2017-08-15 22:04:00 +01:00
Miguel Arroyo
fc155eac7e
AP_HAL_PX4: Adds UARTF as commandline option
2017-08-15 14:31:51 +01:00
José Roberto de Souza
9ee007f924
AP_HAL_PX4: Map PX4_I2C_BUS_EXPANSION1
2017-08-04 12:47:01 -07:00
José Roberto de Souza
e674d6ee20
AP_HAL_PX4: aeorfc: Move GPS to UART7
...
The UART3 also have the I2C bus 2 functions so moving GPS to UART7 to
have one additional I2C.
To keep GPS working is also necessary update the FPGA RTL to version
0xC1 or higher.
2017-08-04 12:47:01 -07:00
Lucas De Marchi
5ea1784838
global: remove AP_HAL::in_timerprocess()
...
This is not used and in the only places it would make sense would be
internally to the scheduler so remove it.
2017-08-03 20:25:14 -07:00
Lucas De Marchi
9e66938f68
AP_HAL_PX4: Scheduler: replace use of in_timerprocess()
...
This function actually checks if we are not in the main thread rather
than if we are in the timer thread.
Add a new function that does what it's supposed to do.
2017-08-03 20:25:01 -07:00
Randy Mackay
687ec98e5d
AP_HAL_PX4: set default servo update rate only when changed
...
This removes the chance a small switch occurring whenever this function is called
2017-07-26 13:28:07 +09:00
Andrew Tridgell
5b43698e25
HAL_PX4: added rcout set_detault_rate()
2017-07-24 14:07:28 +10:00
Kevin Lopez Alvarez
16a96b0643
HAL_PX4: Adjust SPI params for ppro
...
Add SPI prescalers for 180 MHz and decrease LIS3MDL SPI speed
2017-07-24 13:48:20 +10:00
Kevin Lopez Alvarez
88958b2dbf
HAL_PX4: add ppro support
2017-07-24 13:47:06 +10:00
Kevin Lopez Alvarez
d6d1a3e08c
AP_HAL_PX4: initial FMUv4pro support
2017-07-24 13:45:37 +10:00
Siddharth Bharat Purohit
66a94f7a10
HAL_PX4: use correct datatype for time conversion
2017-07-13 18:23:00 -07:00
Eugene Shamaev
36655310b3
AP_HAL_PX4: support for several CAN interfaces and drivers, filtering support
2017-07-03 11:44:32 +01:00
Andrew Tridgell
a88693c487
HAL_PX4: support RSSI from receiver protocols
2017-07-03 11:22:21 +10:00
Andrew Tridgell
b8f628da83
HAL_PX4: fixed bug in last_sent
...
thanks to Francisco
2017-06-21 11:40:12 +10:00
Andrew Tridgell
17893958bf
HAL_PX4: cope with brushed motors in read_last_sent()
...
we need the value before scaling is applied, so slew rates can work
2017-06-21 10:55:24 +10:00
Andrew Tridgell
11396919c8
HAL_PX4: changed BRUSHED16kHz to BRUSHED
2017-06-17 17:37:45 +10:00
Andrew Tridgell
96627bc4e5
HAL_PX4: allow any pulse freq in brushed mode
2017-06-17 17:37:45 +10:00
Peter Barker
7ce353e652
AP_HAL_PX4: use HAL_SEMAPHORE_BLOCK_FOREVER macro
2017-05-08 10:23:03 +09:00
Andrew Tridgell
b72532164b
AP_HAL_PX4: rename macros to avoid conflicts
...
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
37166301c9
HAL_PX4: use sensor_config_error()
2017-05-03 11:37:02 +10:00
Peter Barker
3ff4cd8c07
AP_HAL_PX4: use HAL_SEMAPHORE_BLOCK_FOREVER
2017-05-01 15:05:51 +01:00
Andrew Tridgell
9bdb6838e6
HAL_PX4: cope with nested cork/push
2017-05-01 14:32:18 +10:00
Francisco Ferreira
7dca7933fa
AP_HAL_PX4: fix UAVCAN armed state to depend on safety switch
2017-04-27 14:04:56 +01:00
Francisco Ferreira
965eda69f3
AP_HAL_PX4: remove left-overs of legacy UAVCAN support
2017-04-27 13:32:43 +01:00
Andrew Tridgell
ca4cde9770
HAL_PX4: fixed safety switch light pattern
...
this was broken by the recent CAN merge. My fault for not checking it
carefully. We have to publish the armed state so the fmu driver on
pixracer can update the light
2017-04-27 13:32:43 +01:00
Andrew Tridgell
3415dfb46c
HAL_PX4: implement split transfers for I2C
2017-04-18 18:15:04 +10:00
Eugene Shamaev
0c4a68314b
AP_HAL_PX4: removal of legacy UAVCAN support
2017-04-17 17:27:18 +10:00
Pierre Kancir
a2eeab4db7
AP_HAL_PX4: example fix travis warning
...
missing function declaration
implicit cast
some style fix
2017-04-13 19:56:16 +01:00
Eugene Shamaev
55a0bd081f
AP_HAL_PX4: ESC scaling
2017-04-10 22:38:12 +01:00
Eugene Shamaev
7caeaf4be6
AP_HAL_PX4: RCOutput support for UAVCAN
2017-04-10 22:38:12 +01:00
Eugene Shamaev
865392f034
AP_HAL_PX4: CAN bus driver
2017-04-10 22:38:12 +01:00
Andrew Tridgell
dbfdfa2261
HAL_PX4: fixed a bug in setup of alt rates for upper channels
...
this affected vehicles with high rates on upper channels, such as hexa
and octa quadplanes. The bug caused the rates set on the upper channels
to also be set on the primary channels, which means the low channels
containing aileron, elevator etc ran at 400Hz instead of 50Hz, resulting
in potential damage to the servos
2017-04-07 20:32:19 +10:00
Andrew Tridgell
a8b12dcf3c
HAL_PX4: never wait on a semaphore in interrupt context
...
this shouldn't ever happen, but better to check
2017-04-07 18:16:14 +10:00
Peter Barker
724be3878c
AP_HAL_PX4: correct output of system-id on px4-v3
2017-04-03 14:14:59 +10:00
Andrew Tridgell
02976168cc
HAL_PX4: fixed RC rate when BRD_PWM_COUNT=0
...
if BRD_PWM_COUNT is zero then alt_fd is -1, and we were not setting
servo output rate
2017-04-03 10:05:30 +09:00
Lucas De Marchi
7c246847de
AP_HAL_PX4: replace board ifdef with feature ifdef
2017-03-24 12:06:19 +11:00
Lucas De Marchi
2e4e4365d0
AP_InertialSensor: enable fast sampling for aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
7c1f255258
AP_HAL_PX4: add pin to monitor battery
2017-03-24 12:06:19 +11:00
Lucas De Marchi
91dabbe418
AP_HAL_PX4: implement method to ajust periodic callback
...
Just setting up the periodic callback sampling time on initialization
may not work well for sensors that need to request for a sample with a
bus transaction, sleep and then read the new data. That's because the
function will be kept calling at a periodic rate, while the time in
which we can read the value is not really that sampling time, but rather
the time in which sensor was last read + the time spent in the function
before sending a new sample request.
Instead of creating a new type of thread to handle this case, just
implement the minimal and easy case of updating the period for this
callback, that can only be called from inside the callback function.
2017-03-24 12:06:19 +11:00
Lucas De Marchi
2349909033
AP_BoardConfig: start mtd driver
2017-03-24 12:06:19 +11:00
Lucas De Marchi
fad583b259
AP_HAL_PX4: RCOoutput_Tap: map to [ RPMSTOPPED, RPMMAX ] range
...
When it's not armed we get _esc_pwm_min from the AP_Motors library,
which would cause motors to start spinning. Map it to start from
RPMSTOPPED so it doesn't spin when it's not armed.
2017-03-24 12:06:19 +11:00
Lucas De Marchi
5e26940070
AP_HAL_PX4: disable safety switch for aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
327de91b5c
AP_HAL_Px4: use RCOutput_Tap for aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
75977cd890
AP_HAL_PX4: implement motor output for aerofc
...
This uses tap ESCs, as found on the PX4 project, translated to our
internal APIs. It doesn't have the feedback from ESCs yet.
2017-03-24 12:06:19 +11:00