mirror of https://github.com/ArduPilot/ardupilot
AP_HAL_ChibiOS: add support for detecting IMU backends by order
This commit is contained in:
parent
691380478a
commit
2a4921c139
|
@ -1488,6 +1488,11 @@ def write_IMU_config(f):
|
|||
error("Duplicate IMU: %s" % seen_str(dev))
|
||||
seen.add(seen_str(dev))
|
||||
driver = dev[0]
|
||||
# get instance number if mentioned
|
||||
instance = -1
|
||||
if dev[-1].startswith("INSTANCE:"):
|
||||
instance = int(dev[-1][9:])
|
||||
dev = dev[:-1]
|
||||
for i in range(1, len(dev)):
|
||||
if dev[i].startswith("SPI:"):
|
||||
dev[i] = parse_spi_device(dev[i])
|
||||
|
@ -1495,7 +1500,11 @@ def write_IMU_config(f):
|
|||
(wrapper, dev[i]) = parse_i2c_device(dev[i])
|
||||
n = len(devlist)+1
|
||||
devlist.append('HAL_INS_PROBE%u' % n)
|
||||
if dev[-1].startswith("BOARD_MATCH("):
|
||||
if instance != -1:
|
||||
f.write(
|
||||
'#define HAL_INS_PROBE%u %s ADD_BACKEND_INSTANCE(AP_InertialSensor_%s::probe(*this,%s),%d)\n'
|
||||
% (n, wrapper, driver, ','.join(dev[1:]), instance))
|
||||
elif dev[-1].startswith("BOARD_MATCH("):
|
||||
f.write(
|
||||
'#define HAL_INS_PROBE%u %s ADD_BACKEND_BOARD_MATCH(%s, AP_InertialSensor_%s::probe(*this,%s))\n'
|
||||
% (n, wrapper, dev[-1], driver, ','.join(dev[1:-1])))
|
||||
|
|
Loading…
Reference in New Issue