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
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
this changes AP_Notify to use updates via notify.update() at 50Hz,
avoiding the need for the 1kHz timer. It also creates a parent class
for ToshibaLED so that the I2C and PX4 ToshibaLED drivers can be
abstracted out.
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>