Commit Graph

468 Commits

Author SHA1 Message Date
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