Peter Barker
d9f393f42e
AP_RSSI: convert to HAL attach_interrupt
...
AP_RSSI: add error reporting for attaching of interrupts
AP_RSSI: use detach_interrupt method
2018-08-21 20:34:01 +09:00
Peter Barker
f2b8c9e501
RC_Channel: improve debug when failing to initialise RC channel
2018-08-21 20:34:01 +09:00
Peter Barker
2209e4a697
AP_HAL_ChibiOS: new HAL functor-based methods
...
AP_HAL_ChibiOS: adjust for irq-type enumeration change
AP_HAL_ChibiOS: implement attach-AP_HAL::Proc to interrupt interface
2018-08-21 20:34:01 +09:00
Peter Barker
d366842d15
AP_WheelEncoder: move to using HAL's attach_interrupt methods
...
AP_WheelEncoder: add error reporting for attaching of interrupts
AP_WheelEncoder: use detach_interrupt method
AP_WheelEncoder: correct initialisation of wheelencoder instances
AP_WheelEncoder: make update_phase_and_error_count non-static
AP_WheelEncoder: use (uint8_t)-1 in place of 255
2018-08-21 20:34:01 +09:00
Peter Barker
20027bad17
AP_RPM: attach_interrupt now takes a functor
...
AP_RPM: move PX4 IRQ handling into AP_HAL_PX4
AP_RPM: correct RPM sensor initialisation
The initialisation code used the type from the wrong configuration
parameters (if the first rpm sensor wasn't configured then the sensing
for the second sensor would use the type from the first).
The packing of drivers[...] was done in a non-sparse manner - i.e. if a
sensor wasn't detected then it would not take up space in the array.
The PX4 PWM backend relies on the instance number (offset in the drivers
array) corresponding to the parameters, so making this sparse is
required.
The main detection block fills in drivers based on the number of
instances detected so far, but the nullptr check checks based on the
number of detected backends. If the second instance wasn't configured we
wouldn't attempt to configure a third.
AP_RPM: add error reporting for attaching of interrupts
AP_RPM: use detach_interrupt method
AP_RPM: use (uint8_t)-1 in place of 255
2018-08-21 20:34:01 +09:00
Peter Barker
9b9ec4db40
AP_HAL_Empty: attach_interrupt now takes a functor
...
AP_HAL_Empty: add type-safety for interrupt types
2018-08-21 20:34:01 +09:00
Peter Barker
5180e025bb
AP_HAL_SITL: attach_interrupt now takes a functor
...
AP_HAL_SITL: add type-safety for interrupt types
2018-08-21 20:34:01 +09:00
Peter Barker
a7b79f7693
AP_HAL_VRBrain: attach_interrupt now takes a functor
...
AP_HAL_VRBRAIN: add type-safety for interrupt types
2018-08-21 20:34:01 +09:00
Peter Barker
8d5a9ead48
AP_HAL_Linux: attach_interrupt now takes a functor
...
AP_HAL_Linux: add type-safety for interrupt types
2018-08-21 20:34:01 +09:00
Peter Barker
4767666a2d
AP_HAL_PX4: implement attach_interrupt
2018-08-21 20:34:01 +09:00
Peter Barker
74263f8412
AP_HAL: add attach_interrupt that takes a functor, not a AP_HAL::Proc
...
AP_HAL: add type-safety for interrupt types
AP_HAL: remove interrupt-low and interrupt-high, and interrupt-none
It is possible that the radio needs very tight timings - do not force
the use of the functor interface
AP_HAL: add detach_interrupt method
2018-08-21 20:34:01 +09:00
Peter Barker
c846a13d12
AP_HAL: functor: add != override
2018-08-21 20:34:01 +09:00
Peter Barker
a09154c45b
AP_WheelEncoder: correct check for wheelencoder-max-instances
2018-08-21 20:34:01 +09:00
Peter Barker
21201b8816
AP_WheelEncoder: do not permit copies
2018-08-21 20:34:01 +09:00
Peter Barker
45ac3e6bb2
AP_BoardConfig: correct grammar in @DisplayName
2018-08-21 20:34:01 +09:00
Randy Mackay
f536c53fa6
AP_MotorsMatrix: minor format fix
2018-08-21 13:34:07 +09:00
Michael du Breuil
588d1898cd
AP_ServoRelayEvents: More robust check if a channel is available
2018-08-20 21:31:06 -07:00
Peter Barker
df836ec70c
AP_Notify: tidy and remove code duplications
...
Saves 60 bytes, too
2018-08-21 10:59:33 +10:00
Peter Barker
6daa241235
DataFlash: add sanity check for WritePrioritisedBlock size
2018-08-21 10:57:43 +10:00
Peter Barker
32bc1860de
AP_Mission: starts_with_takeoff_cmd skips past mav_cmd_nav_delay
2018-08-20 14:15:40 +09:00
Peter Barker
9af11d79d1
AP_Mission: remove pointless else clauses
2018-08-20 14:15:40 +09:00
Andrew Tridgell
83f293305f
AP_OSD: raise thread stack size to 1024
...
based on testing in SITL
2018-08-20 13:49:14 +10:00
Andrew Tridgell
836176297d
HAL_SITL: added stack checking to SITL
2018-08-20 13:49:14 +10:00
Peter Barker
0a7399ae7d
AC_PrecLand: use AHRS singleton, remove pointless initialisations
2018-08-17 21:14:57 +09:00
Peter Barker
898a46fe0e
AP_Winch: undefine PASS_TO_BACKEND convenience function
2018-08-17 21:14:57 +09:00
Andrew Tridgell
60ec695f55
AP_TECS: set default pitch max to 15
2018-08-17 20:42:29 +10:00
Andrew Tridgell
7c57fb0c31
AP_L1_Control: lower default L1 period
2018-08-17 20:42:27 +10:00
Andrew Tridgell
9e2933df89
APM_Control: raised default PID gains for roll/pitch
2018-08-17 20:42:25 +10:00
Hwurzburg
53a28cdf18
AP_OSD: Adding efficiency and climb efficiency
...
and new font characters
2018-08-17 16:33:53 +10:00
Peter Barker
e4d3ed7e39
RC_Channel: move handling of sprayer and gripper in from Copter
2018-08-17 15:33:35 +09:00
Peter Barker
4223d933d2
AC_Sprayer: add singleton
2018-08-17 15:33:35 +09:00
Andrew Tridgell
5988c3258f
GCS_MAVLink: use Semaphore.h
2018-08-16 12:40:10 +10:00
Andrew Tridgell
5ac15714fd
AP_Common: moved WITH_SEMAPHORE to Semaphore.h
2018-08-16 12:40:10 +10:00
Andrew Tridgell
d3af854949
HAL_ChibiOS: fixed bootloader build
2018-08-16 12:40:10 +10:00
Andrew Tridgell
a26e534654
GCS_MAVLink: use WITH_SEMAPHORE()
...
this is a suggestion from Peter, will need some discussion
2018-08-16 12:40:10 +10:00
Andrew Tridgell
6f058e8c0d
AP_Common: added WithSemaphore class
2018-08-16 12:40:10 +10:00
Andrew Tridgell
048a52ebc0
GCS_MAVLink: make mavlink send from multiple threads safe
...
this takes a lock to prevent interleaving of mavlink msgs from
multiple threads
2018-08-16 12:40:10 +10:00
Andrew Tridgell
5de49aa5aa
GCS_MAVLink: flush parameters on reboot
2018-08-16 12:40:10 +10:00
Andrew Tridgell
f1e10b0a8f
HAL_Linux: make uart writes thread safe
2018-08-16 12:40:10 +10:00
Andrew Tridgell
b2b56c3e46
HAL_VRBRAIN: added support for HAL_Semaphore type
2018-08-16 12:40:10 +10:00
Andrew Tridgell
5d3b17db6b
HAL_SITL: added support for HAL_Semaphore type
2018-08-16 12:40:10 +10:00
Andrew Tridgell
fe93113240
HAL_PX4: added support for HAL_Semaphore type
2018-08-16 12:40:10 +10:00
Andrew Tridgell
f005e60066
HAL_Linux: added support for HAL_Semaphore type
2018-08-16 12:40:10 +10:00
Andrew Tridgell
dabdb969f6
HAL_ChibiOS: added support for HAL_Semaphore type
2018-08-16 12:40:10 +10:00
Andrew Tridgell
0a73c3492d
AP_HAL: support HAL_Semaphore type
2018-08-16 12:40:10 +10:00
Andrew Tridgell
4d662a913a
AP_Param: use background parameter save
...
this moves both the storage scan and the save code out of the main
thread and into the IO thread. It means that if we have more than 30
parameters saves in very rapid succession while armed that we can lose
parameter changes, but that is extremely unlikely.
This fixes an issue where parameter saves in flight can cause
considerable scheduling problems, sometimes several milliseconds
2018-08-16 12:40:10 +10:00
Hwurzburg
7c79175309
AP_OSD: add flytime item
2018-08-16 12:00:50 +10:00
Andrew Tridgell
a0ce604721
AP_Stats: make singleton and add flighttime accessor
2018-08-16 12:00:50 +10:00
Hwurzburg
5f72c9040e
AP_OSD: Adding flight distance and summary panels for OSD
2018-08-16 12:00:50 +10:00
Alexander Malishev
eec34fc47d
AP_OSD: add waypoint and xtrack_error items
2018-08-16 10:26:34 +10:00
vierfuffzig
aae1054a94
AP_OSD: add hdop display
2018-08-16 09:39:02 +10:00
Peter Barker
fa7ba7ddbc
DataFlash: force messagewriters to completion
...
Setting a dataflash-file buffer size of less than or equal to 2kiB would
cause the startup-messagewriter to never push any messages other than
FMT out to the logs.
This is a combination of the return values of
critical_message_reserved_space and
non_messagewriter_message_reserved_space
This patch forces the startup messages out to the logs by ignoring the
space constraints every 100ms
2018-08-15 12:40:33 +10:00
Peter Barker
fa5757f618
AP_Math: fix float-equals warnings
2018-08-15 12:16:49 +10:00
Alexander Malishev
05099b8b8b
HAL_ChibiOS: restore default dataflash buffer size
...
This fix log corruption in copter
2018-08-15 10:15:09 +10:00
Andrew Tridgell
71988b49a4
AP_RSSI: allow override of RSSI pin
2018-08-15 09:51:30 +10:00
Andrew Tridgell
c3cf8f5435
AP_Math: fixed a bug in segment_intersection()
...
we could get an intercept point beyond the end of the segment
2018-08-14 19:41:45 +10:00
Peter Barker
626467db14
AP_Math: add tests for line intersection
2018-08-14 19:41:45 +10:00
Francisco Ferreira
1b46104a98
AP_HAL_ChibiOS: fix warning when STDOUT is defined
...
../../libraries/AP_HAL_ChibiOS/UARTDriver.cpp:118:12: warning: 'int hal_console_vprintf(const char*, va_list)' defined but not used [-Wunused-function]
static int hal_console_vprintf(const char *fmt, va_list arg)
^
2018-08-14 10:17:38 +10:00
Francisco Ferreira
62a4f08e12
AP_Arming: fix system check
2018-08-14 10:17:38 +10:00
mirkix
c33b692f53
AP_HAL_ChibiOS: fix CubeYellow build
2018-08-14 06:26:22 +10:00
Lucas De Marchi
5068f2e8fd
AP_HAL_Linux: fix log after tonealarm thread removal
...
../../libraries/AP_HAL_Linux/Scheduler.cpp: In member function ‘void Linux::Scheduler::_debug_stack()’:
../../libraries/AP_HAL_Linux/Scheduler.cpp:127:47: warning: format ‘%zu’ expects a matching ‘size_t’ argument [-Wformat=]
_uart_thread.get_stack_usage());
^
2018-08-12 20:29:35 -07:00
Francisco Ferreira
f69638f24f
AP_UAVCAN: add configuration of hardware filters
2018-08-12 13:35:04 +01:00
Francisco Ferreira
3cb8421aa6
AP_UAVCAN: reorganize header and code
...
Also a bit more cleanup
2018-08-12 13:35:04 +01:00
Francisco Ferreira
ee8e2923ae
AP_UAVCAN: cleanup code
2018-08-12 13:35:04 +01:00
Francisco Ferreira
8c382b6904
AP_UAVCAN: adapt to new CANProtocol interface
...
This includes creating own thread
Also adapts example
2018-08-12 13:35:03 +01:00
Francisco Ferreira
126f1379d3
AP_UAVCAN: fix bug introduced in #7863
2018-08-12 13:35:03 +01:00
Francisco Ferreira
7e8abc92fe
AP_UAVCAN: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:03 +01:00
Francisco Ferreira
861e1a0a54
SRV_Channel: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:03 +01:00
Francisco Ferreira
3b61a31bb4
AP_Notify: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:03 +01:00
Francisco Ferreira
f468602baf
AP_Notify: revert wrong commit 228058e089
...
Also change the order of logical OR so that led_write in UAVCAN_RGB_LED is called for all UAVCAN instances and not only first one
2018-08-12 13:35:03 +01:00
Francisco Ferreira
b29369eb82
AP_GPS: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:03 +01:00
Francisco Ferreira
317e8e0296
AP_Compass: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:03 +01:00
Francisco Ferreira
31b8a051cc
AP_BattMonitor: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:02 +01:00
Francisco Ferreira
8e6692744f
AP_BattMonitor: fix warning in UAVCAN driver
...
../../libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp: In member function ‘virtual void AP_BattMonitor_UAVCAN::init()’:
../../libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp:15:123: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘AP_Int32 {aka AP_ParamT<int, (ap_var_type)3u>}’ [-Wformat=]
#define debug_bm_uavcan(level, fmt, args...) do { if ((level) <= AP_BoardConfig_CAN::get_can_debug()) { printf(fmt, ##args); }} while (0)
^
../../libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp:36:33: note: in expansion of macro ‘debug_bm_uavcan’
debug_bm_uavcan(2, "UAVCAN BattMonitor BatteryInfo registered id: %d\n\r", _params._serial_number);
2018-08-12 13:35:02 +01:00
Francisco Ferreira
9489ec9e7c
AP_Baro: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:02 +01:00
Francisco Ferreira
5efde5fa8b
AP_HAL_VRBRAIN: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:02 +01:00
Francisco Ferreira
9766ca44d4
AP_HAL_PX4: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:02 +01:00
Francisco Ferreira
b7a3e1ae77
AP_BoardConfig_CAN: put debug code behind compile-time flag
...
And disable it by default
2018-08-12 13:35:02 +01:00
Francisco Ferreira
4b4ba66987
AP_BoardConfig_CAN: add singleton and do naming cleanup
...
Also added more getter methods
2018-08-12 13:35:02 +01:00
Francisco Ferreira
1cfb38b4ee
AP_BoardConfig_CAN: adapt to new CANProtocol interface
2018-08-12 13:35:02 +01:00
Francisco Ferreira
350d03800f
AP_HAL_SITL: remove unused CAN header
2018-08-12 13:35:01 +01:00
Francisco Ferreira
9204ca898b
AP_HAL_VRBRAIN: remove CAN thread management
2018-08-12 13:35:01 +01:00
Francisco Ferreira
68ada13f28
AP_HAL_PX4: remove CAN thread management
2018-08-12 13:35:01 +01:00
Francisco Ferreira
1d7f3e48a4
AP_HAL_Linux: remove CAN thread management
...
Also fix comment
2018-08-12 13:35:01 +01:00
Francisco Ferreira
7278af05e0
AP_HAL_ChibiOS: remove CAN thread management
2018-08-12 13:35:01 +01:00
Francisco Ferreira
0645a5b11a
AP_HAL: introduce a CANProtocol interface and remove HAL CAN thread management
2018-08-12 13:35:01 +01:00
Francisco Ferreira
e1bf89f32d
AP_HAL_ChibiOS: fix CAN manager initialization
2018-08-12 13:35:01 +01:00
Peter Barker
5ad1dee284
AP_Notify: make LED blink at constant rate in Rover
2018-08-09 11:57:05 +10:00
Michael du Breuil
83d01c8b7d
GCS_MAVLink: Use ARRAY_SIZE to avoid a magic value
2018-08-09 11:53:05 +10:00
Michael du Breuil
6469a985d7
DataFlash: Fix allocating extra values for RC logging
2018-08-09 11:53:05 +10:00
Michael du Breuil
e7ebea55d2
RC_Channel: Fix possible user induced out of bounds write
...
CID 308348
2018-08-09 10:27:10 +10:00
Andrew Tridgell
385f735799
HAL_ChibiOS: avoid 64 bit maths in AP_HAL::micros()
...
this saves a few cycles
2018-08-08 21:24:49 +10:00
fnoop
bfceb5dd32
AC_PrecLand: Improve logging
...
Add unit/multiplier of new fields to log structure
Fix new log structure
2018-08-08 10:23:26 +09:00
Michael du Breuil
f2b4e06a1a
AP_Airspeed: Add 5"H2O DLVR differential sensor driver
2018-08-08 09:07:17 +10:00
Michael du Breuil
d568767164
AP_Math: Add conversion between inches of water to pascals
2018-08-08 09:07:17 +10:00
Andrew Tridgell
c9a830bf3f
AP_Notify: support both NCP5623 addresses
2018-08-08 07:11:50 +10:00
Andrew Tridgell
935165a8f8
AP_Notify: tidy up NCP5623 driver
2018-08-08 07:11:50 +10:00
caijie
a98d892dec
AP_Notify: Add RGB LED driver for NCP5623
2018-08-08 07:11:50 +10:00
Andrew Tridgell
301884f7a6
AP_RCProtocol: fixed coverity error in SUMD
...
CID308356
2018-08-07 13:22:08 +10:00
Andrew Tridgell
d1334fab73
AP_ROMFS: fixed error handling in tinflate
...
coverity CID308327
2018-08-07 13:22:08 +10:00