mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-10-02 10:23:25 +08:00
AP_RANGEFINDER_BENEWAKE_TFS20L_ENABLED was renamed to AP_RANGEFINDER_BENEWAKE_TFS20L_I2C_ENABLED, but the Renode driver catalog kept the old name. validate_catalog() checks that every catalogued feature macro exists beside its driver, so the stale name failed test_live_catalog_is_consistent, test_inventory_json_cli and test_catalog_check_cli, taking the cubeorangeplus-quadplane job down on every pull request. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
4470 lines
149 KiB
Python
Executable File
4470 lines
149 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
# AP_FLAKE8_CLEAN
|
|
|
|
"""Authoritative catalog of peripherals attachable to Renode boards."""
|
|
|
|
import re
|
|
|
|
COVERAGE_DETECTION = 'detection'
|
|
COVERAGE_DYNAMIC = 'dynamic'
|
|
|
|
|
|
def i2c_endpoints(device):
|
|
"""Return the model/address endpoints occupied by an I2C attachment."""
|
|
endpoints = device.get('i2c_endpoints')
|
|
if endpoints is not None:
|
|
return endpoints
|
|
return ({'model': device.get('model'), 'address': device.get('address')},)
|
|
|
|
|
|
# Keep this catalog declarative. The launcher filters it by bus type and the
|
|
# board generator consumes the model-specific fields. Coverage metadata is
|
|
# also used by driver_inventory.py and does not affect generated platforms.
|
|
ATTACHABLE_DEVICES = {
|
|
'ublox-gps': {
|
|
'name': 'u-blox GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_UBlox',
|
|
'driver': 'AP_GPS/AP_GPS_UBLOX.cpp',
|
|
'feature': 'AP_GPS_UBLOX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 230),
|
|
('GPS{instance}_TYPE', 2),
|
|
),
|
|
},
|
|
'nmea-gps': {
|
|
'name': 'NMEA GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_NMEAGPS',
|
|
'driver': 'AP_GPS/AP_GPS_NMEA.cpp',
|
|
'feature': 'AP_GPS_NMEA_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 230),
|
|
('GPS{instance}_TYPE', 5),
|
|
),
|
|
},
|
|
'sirf-gps': {
|
|
'name': 'SiRF GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_SIRFGPS',
|
|
'driver': 'AP_GPS/AP_GPS_SIRF.cpp',
|
|
'feature': 'AP_GPS_SIRF_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 38),
|
|
('GPS{instance}_TYPE', 6),
|
|
),
|
|
},
|
|
'erb-gps': {
|
|
'name': 'Emlid Reach Binary GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_ERBGPS',
|
|
'driver': 'AP_GPS/AP_GPS_ERB.cpp',
|
|
'feature': 'AP_GPS_ERB_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 230),
|
|
('GPS{instance}_TYPE', 13),
|
|
),
|
|
},
|
|
'nova-gps': {
|
|
'name': 'NovAtel NOVA GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_NOVAGPS',
|
|
'driver': 'AP_GPS/AP_GPS_NOVA.cpp',
|
|
'feature': 'AP_GPS_NOVA_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 19),
|
|
('GPS{instance}_TYPE', 15),
|
|
),
|
|
},
|
|
'sbp-gps': {
|
|
'name': 'Swift Navigation SBP GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_SBPGPS',
|
|
'driver': 'AP_GPS/AP_GPS_SBP.cpp',
|
|
'feature': 'AP_GPS_SBP_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('GPS{instance}_TYPE', 8),
|
|
),
|
|
},
|
|
'sbp2-gps': {
|
|
'name': 'Swift Navigation SBP2 GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_SBP2GPS',
|
|
'driver': 'AP_GPS/AP_GPS_SBP2.cpp',
|
|
'feature': 'AP_GPS_SBP2_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('GPS{instance}_TYPE', 8),
|
|
),
|
|
},
|
|
'sbf-gps': {
|
|
'name': 'Septentrio SBF GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_SBFGPS',
|
|
'driver': 'AP_GPS/AP_GPS_SBF.cpp',
|
|
'feature': 'AP_GPS_SBF_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 230),
|
|
('GPS{instance}_TYPE', 10),
|
|
),
|
|
},
|
|
'gsof-gps': {
|
|
'name': 'Trimble GSOF GPS',
|
|
'category': 'GNSS',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_GSOFGPS',
|
|
'driver': 'AP_GPS/AP_GPS_GSOF.cpp',
|
|
'feature': 'AP_GPS_GSOF_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 5),
|
|
('SERIAL{serial}_BAUD', 230),
|
|
('GPS{instance}_TYPE', 11),
|
|
),
|
|
},
|
|
'benewake-rangefinder': {
|
|
'name': 'Benewake TF02 rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_Benewake',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_Benewake.cpp',
|
|
'feature': 'AP_RANGEFINDER_BENEWAKE_TF02_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 19),
|
|
),
|
|
},
|
|
'benewake-tfmini-rangefinder': {
|
|
'name': 'Benewake TFMini rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_Benewake',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_Benewake.cpp',
|
|
'feature': 'AP_RANGEFINDER_BENEWAKE_TFMINI_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 20),
|
|
),
|
|
},
|
|
'benewake-tf03-rangefinder': {
|
|
'name': 'Benewake TF03 rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_Benewake',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_Benewake.cpp',
|
|
'feature': 'AP_RANGEFINDER_BENEWAKE_TF03_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 27),
|
|
),
|
|
},
|
|
'lightware-rangefinder': {
|
|
'name': 'LightWare rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LightWare',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_LightWareSerial.cpp',
|
|
'feature': 'AP_RANGEFINDER_LIGHTWARE_SERIAL_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 8),
|
|
),
|
|
},
|
|
'maxsonar-serial-rangefinder': {
|
|
'name': 'MaxSonar Serial LV rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_MaxSonarSerial',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_MaxsonarSerialLV.cpp',
|
|
'feature': 'AP_RANGEFINDER_MAXBOTIX_SERIAL_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 9),
|
|
('RNGFND{instance}_TYPE', 13),
|
|
),
|
|
},
|
|
'nmea-rangefinder': {
|
|
'name': 'NMEA rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_NMEARangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_NMEA.cpp',
|
|
'feature': 'AP_RANGEFINDER_NMEA_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 17),
|
|
),
|
|
},
|
|
'gyus42v2-rangefinder': {
|
|
'name': 'GY-US42v2 rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_GYUS42v2',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_GYUS42v2.cpp',
|
|
'feature': 'AP_RANGEFINDER_GYUS42V2_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 9),
|
|
('RNGFND{instance}_TYPE', 31),
|
|
),
|
|
},
|
|
'lanbao-rangefinder': {
|
|
'name': 'Lanbao rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LanbaoRangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_Lanbao.cpp',
|
|
'feature': 'AP_RANGEFINDER_LANBAO_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 26),
|
|
),
|
|
},
|
|
'teraranger-serial-rangefinder': {
|
|
'name': 'TeraRanger serial rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_TeraRangerSerial',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_TeraRanger_Serial.cpp',
|
|
'feature': 'AP_RANGEFINDER_TERARANGER_SERIAL_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 35),
|
|
),
|
|
},
|
|
'usd1-rangefinder': {
|
|
'name': 'Aerotenna uLanding USD1 rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_USD1Rangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_USD1_Serial.cpp',
|
|
'feature': 'AP_RANGEFINDER_USD1_SERIAL_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 11),
|
|
),
|
|
},
|
|
'nooploop-rangefinder': {
|
|
'name': 'NoopLoop TOFSense-P/F rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_NoopLoopRangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_NoopLoop.cpp',
|
|
'feature': 'AP_RANGEFINDER_NOOPLOOP_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 37),
|
|
),
|
|
},
|
|
'jre-rangefinder': {
|
|
'name': 'JRE radio altimeter',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_JRERangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_JRE_Serial.cpp',
|
|
'feature': 'AP_RANGEFINDER_JRE_SERIAL_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 41),
|
|
),
|
|
},
|
|
'ainstein-lrd1-rangefinder': {
|
|
'name': 'Ainstein LR-D1 radar',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_AinsteinLRD1Rangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_Ainstein_LR_D1.cpp',
|
|
'feature': 'AP_RANGEFINDER_AINSTEIN_LR_D1_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 42),
|
|
),
|
|
},
|
|
'rds02uf-rangefinder': {
|
|
'name': 'Benewake RDS02UF radar',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_RDS02UFRangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_RDS02UF.cpp',
|
|
'feature': 'AP_RANGEFINDER_RDS02UF_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 43),
|
|
),
|
|
},
|
|
'dts6012m-rangefinder': {
|
|
'name': 'DTS6012M rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_DTS6012MRangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_DTS6012M.cpp',
|
|
'feature': 'AP_RANGEFINDER_DTS6012M_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 921),
|
|
('RNGFND{instance}_TYPE', 47),
|
|
),
|
|
},
|
|
'blping-rangefinder': {
|
|
'name': 'Blue Robotics Ping1D rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_BLPingRangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_BLPing.cpp',
|
|
'feature': 'AP_RANGEFINDER_BLPING_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 23),
|
|
),
|
|
},
|
|
'wasp-rangefinder': {
|
|
'name': 'Attollo Wasp rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_WaspRangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_Wasp.cpp',
|
|
'feature': 'AP_RANGEFINDER_WASP_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 18),
|
|
),
|
|
},
|
|
'lightware-grf-rangefinder': {
|
|
'name': 'LightWare GRF rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LightWareGRFRangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_LightWare_GRF.cpp',
|
|
'feature': 'AP_RANGEFINDER_LIGHTWARE_GRF_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 45),
|
|
),
|
|
},
|
|
'leddarone-rangefinder': {
|
|
'name': 'LeddarOne rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LeddarOneRangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_LeddarOne.cpp',
|
|
'feature': 'AP_RANGEFINDER_LEDDARONE_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 12),
|
|
),
|
|
},
|
|
'leddarvu8-rangefinder': {
|
|
'name': 'LeddarVu8 rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LeddarVu8Rangefinder',
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_LeddarVu8.cpp',
|
|
'feature': 'AP_RANGEFINDER_LEDDARVU8_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 9),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('RNGFND{instance}_TYPE', 29),
|
|
('RNGFND{instance}_ADDR', 1),
|
|
),
|
|
},
|
|
'teraranger-tower-proximity': {
|
|
'name': 'TeraRanger Tower proximity lidar',
|
|
'category': 'Proximity',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_TeraRangerTowerProximity',
|
|
'driver': 'AP_Proximity/AP_Proximity_TeraRangerTower.cpp',
|
|
'feature': 'AP_PROXIMITY_TERARANGERTOWER_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 11),
|
|
('SERIAL{serial}_BAUD', 921),
|
|
('PRX{instance}_TYPE', 3),
|
|
),
|
|
},
|
|
'teraranger-tower-evo-proximity': {
|
|
'name': 'TeraRanger Tower Evo proximity lidar',
|
|
'category': 'Proximity',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_TeraRangerTowerEvoProximity',
|
|
'driver': 'AP_Proximity/AP_Proximity_TeraRangerTowerEvo.cpp',
|
|
'feature': 'AP_PROXIMITY_TERARANGERTOWEREVO_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 11),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('PRX{instance}_TYPE', 6),
|
|
),
|
|
},
|
|
'cygbot-d1-proximity': {
|
|
'name': 'Cygbot D1 proximity lidar',
|
|
'category': 'Proximity',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_CygbotD1Proximity',
|
|
'driver': 'AP_Proximity/AP_Proximity_Cygbot_D1.cpp',
|
|
'feature': 'AP_PROXIMITY_CYGBOT_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 11),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('PRX{instance}_TYPE', 13),
|
|
),
|
|
},
|
|
'rplidar-a2-proximity': {
|
|
'name': 'SLAMTEC RPLidar A2 proximity lidar',
|
|
'category': 'Proximity',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_RPLidarA2Proximity',
|
|
'driver': 'AP_Proximity/AP_Proximity_RPLidarA2.cpp',
|
|
'feature': 'AP_PROXIMITY_RPLIDARA2_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 11),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('PRX{instance}_TYPE', 5),
|
|
),
|
|
},
|
|
'lightware-sf40c-proximity': {
|
|
'name': 'LightWare SF40/C proximity lidar',
|
|
'category': 'Proximity',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LightWareSF40CProximity',
|
|
'driver': 'AP_Proximity/AP_Proximity_LightWareSF40C.cpp',
|
|
'feature': 'AP_PROXIMITY_LIGHTWARE_SF40C_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 11),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('PRX{instance}_TYPE', 7),
|
|
),
|
|
},
|
|
'lightware-sf45b-proximity': {
|
|
'name': 'LightWare SF45/B proximity lidar',
|
|
'category': 'Proximity',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LightWareSF45BProximity',
|
|
'driver': 'AP_Proximity/AP_Proximity_LightWareSF45B.cpp',
|
|
'feature': 'AP_PROXIMITY_LIGHTWARE_SF45B_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 11),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('PRX{instance}_TYPE', 8),
|
|
),
|
|
},
|
|
'ld06-proximity': {
|
|
'name': 'LDRobot LD06 proximity lidar',
|
|
'category': 'Proximity',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LD06Proximity',
|
|
'driver': 'AP_Proximity/AP_Proximity_LD06.cpp',
|
|
'feature': 'AP_PROXIMITY_LD06_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 11),
|
|
('SERIAL{serial}_BAUD', 230),
|
|
('PRX{instance}_TYPE', 16),
|
|
),
|
|
},
|
|
'nmea-airspeed': {
|
|
'name': 'NMEA water-speed sensor',
|
|
'category': 'Airspeed',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_NMEAAirspeed',
|
|
'driver': 'AP_Airspeed/AP_Airspeed_NMEA.cpp',
|
|
'feature': 'AP_AIRSPEED_NMEA_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 34),
|
|
('SERIAL{serial}_BAUD', 4),
|
|
('{airspeed_prefix}_TYPE', 13),
|
|
),
|
|
},
|
|
'nmea-wind-vane': {
|
|
'name': 'NMEA MWV wind sensor',
|
|
'category': 'Wind',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_NMEAWindVane',
|
|
'driver': 'AP_WindVane/AP_WindVane_NMEA.cpp',
|
|
'feature': 'AP_WINDVANE_NMEA_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 21),
|
|
('SERIAL{serial}_BAUD', 4),
|
|
('WNDVN_TYPE', 4),
|
|
('WNDVN_SPEED_TYPE', 4),
|
|
),
|
|
},
|
|
'cxof-optical-flow': {
|
|
'name': 'Cheerson CX-OF optical flow sensor',
|
|
'category': 'Optical Flow',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_CXOF',
|
|
'driver': 'AP_OpticalFlow/AP_OpticalFlow_CXOF.cpp',
|
|
'feature': 'AP_OPTICALFLOW_CXOF_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 18),
|
|
('SERIAL{serial}_BAUD', 19),
|
|
('FLOW_TYPE', 4),
|
|
),
|
|
},
|
|
'upflow-optical-flow': {
|
|
'name': 'UPixel UPFLOW optical flow sensor',
|
|
'category': 'Optical Flow',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_UPFLOW',
|
|
'driver': 'AP_OpticalFlow/AP_OpticalFlow_UPFLOW.cpp',
|
|
'feature': 'AP_OPTICALFLOW_UPFLOW_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 18),
|
|
('SERIAL{serial}_BAUD', 19),
|
|
('FLOW_TYPE', 8),
|
|
),
|
|
},
|
|
'nmea-ais-receiver': {
|
|
'name': 'NMEA AIS receiver',
|
|
'category': 'Marine',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_AISReceiver',
|
|
'driver': 'AP_AIS/AP_AIS.cpp',
|
|
'feature': 'AP_AIS_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 40),
|
|
('SERIAL{serial}_BAUD', 38),
|
|
('AIS_TYPE', 1),
|
|
),
|
|
},
|
|
'pozyx-beacon': {
|
|
'name': 'Pozyx UWB beacon',
|
|
'category': 'Navigation',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_PozyxBeacon',
|
|
'driver': 'AP_Beacon/AP_Beacon_Pozyx.cpp',
|
|
'feature': 'AP_BEACON_POZYX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 13),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('BCN_TYPE', 1),
|
|
),
|
|
},
|
|
'marvelmind-beacon': {
|
|
'name': 'Marvelmind UWB beacon',
|
|
'category': 'Navigation',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_MarvelmindBeacon',
|
|
'driver': 'AP_Beacon/AP_Beacon_Marvelmind.cpp',
|
|
'feature': 'AP_BEACON_MARVELMIND_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 13),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('BCN_TYPE', 2),
|
|
),
|
|
},
|
|
'nooploop-beacon': {
|
|
'name': 'Nooploop UWB beacon',
|
|
'category': 'Navigation',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_NooploopBeacon',
|
|
'driver': 'AP_Beacon/AP_Beacon_Nooploop.cpp',
|
|
'feature': 'AP_BEACON_NOOPLOOP_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 13),
|
|
('SERIAL{serial}_BAUD', 115),
|
|
('BCN_TYPE', 3),
|
|
),
|
|
},
|
|
'nmea-output': {
|
|
'name': 'NMEA navigation output',
|
|
'category': 'Telemetry',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_NMEAOutputAnalyzer',
|
|
'driver': 'AP_NMEA_Output/AP_NMEA_Output.cpp',
|
|
'feature': 'HAL_NMEA_OUTPUT_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 20),
|
|
('SERIAL{serial}_BAUD', 38),
|
|
('NMEA_RATE_MS', 100),
|
|
('NMEA_MSG_EN', 7),
|
|
),
|
|
},
|
|
'ltm-output': {
|
|
'name': 'LightTelemetry output',
|
|
'category': 'Telemetry',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_LTMOutputAnalyzer',
|
|
'driver': 'AP_LTM_Telem/AP_LTM_Telem.cpp',
|
|
'feature': 'AP_LTM_TELEM_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 25),
|
|
('SERIAL{serial}_BAUD', 2),
|
|
),
|
|
},
|
|
'devo-output': {
|
|
'name': 'Devo telemetry output',
|
|
'category': 'Telemetry',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_DevoOutputAnalyzer',
|
|
'driver': 'AP_Devo_Telem/AP_Devo_Telem.cpp',
|
|
'feature': 'AP_DEVO_TELEM_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 17),
|
|
('SERIAL{serial}_BAUD', 38),
|
|
),
|
|
},
|
|
'frsky-d-output': {
|
|
'name': 'FrSky D telemetry output',
|
|
'category': 'Telemetry',
|
|
'bus': 'uart',
|
|
'model': 'Sensors.AP_FrSkyDOutputAnalyzer',
|
|
'driver': 'AP_Frsky_Telem/AP_Frsky_D.cpp',
|
|
'feature': 'AP_FRSKY_D_TELEM_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('SERIAL{serial}_PROTOCOL', 3),
|
|
('SERIAL{serial}_BAUD', 9),
|
|
),
|
|
},
|
|
'maxsonar-i2c-rangefinder': {
|
|
'name': 'MaxSonar I2CXL rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_MaxSonarI2C',
|
|
'address': 0x70,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_MaxsonarI2CXL.cpp',
|
|
'feature': 'AP_RANGEFINDER_MAXSONARI2CXL_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 2),
|
|
('RNGFND{instance}_ADDR', 0x70),
|
|
),
|
|
},
|
|
'tfmini-plus-i2c-rangefinder': {
|
|
'name': 'Benewake TFMini Plus I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_TFMiniPlusI2C',
|
|
'address': 0x10,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_Benewake_TFMiniPlus.cpp',
|
|
'feature': 'AP_RANGEFINDER_BENEWAKE_TFMINIPLUS_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 25),
|
|
('RNGFND{instance}_ADDR', 0x10),
|
|
),
|
|
},
|
|
'tfs20l-i2c-rangefinder': {
|
|
'name': 'Benewake TFS20-L I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_TFS20L',
|
|
'address': 0x10,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_Benewake_TFS20L.cpp',
|
|
'feature': 'AP_RANGEFINDER_BENEWAKE_TFS20L_I2C_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 46),
|
|
('RNGFND{instance}_ADDR', 0x10),
|
|
),
|
|
},
|
|
'teraranger-i2c-rangefinder': {
|
|
'name': 'TeraRanger Evo I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_TeraRangerI2C',
|
|
'address': 0x31,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_TeraRangerI2C.cpp',
|
|
'feature': 'AP_RANGEFINDER_TRI2C_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 14),
|
|
('RNGFND{instance}_ADDR', 0x31),
|
|
),
|
|
},
|
|
'tofsensef-i2c-rangefinder': {
|
|
'name': 'Nooploop TOFSense F I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_TOFSenseF_I2C',
|
|
'address': 0x08,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_TOFSenseF_I2C.cpp',
|
|
'feature': 'AP_RANGEFINDER_TOFSENSEF_I2C_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 40),
|
|
('RNGFND{instance}_ADDR', 0x08),
|
|
),
|
|
},
|
|
'lightware-grf-i2c-rangefinder': {
|
|
'name': 'LightWare GRF I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LightWareGRF_I2C',
|
|
'address': 0x66,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_LightWare_GRF_I2C.cpp',
|
|
'feature': 'AP_RANGEFINDER_LIGHTWARE_GRF_I2C_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 48),
|
|
('RNGFND{instance}_ADDR', 0x66),
|
|
),
|
|
},
|
|
'lightware-i2c-rangefinder': {
|
|
'name': 'LightWare legacy I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LightWareLegacyI2C',
|
|
'address': 0x66,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_LightWareI2C.cpp',
|
|
'feature': 'AP_RANGEFINDER_LWI2C_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 7),
|
|
('RNGFND{instance}_ADDR', 0x66),
|
|
),
|
|
},
|
|
'lidarlite-i2c-rangefinder': {
|
|
'name': 'LidarLite V3 I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LidarLiteI2C',
|
|
'address': 0x62,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_PulsedLightLRF.cpp',
|
|
'feature': 'AP_RANGEFINDER_PULSEDLIGHTLRF_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 15),
|
|
('RNGFND{instance}_ADDR', 0x62),
|
|
),
|
|
},
|
|
'vl53l0x-i2c-rangefinder': {
|
|
'name': 'VL53L0X I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_VL53L0X',
|
|
'address': 0x29,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_VL53L0X.cpp',
|
|
'feature': 'AP_RANGEFINDER_VL53L0X_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 16),
|
|
('RNGFND{instance}_ADDR', 0x29),
|
|
),
|
|
},
|
|
'vl53l1x-i2c-rangefinder': {
|
|
'name': 'VL53L1X short-range I2C rangefinder',
|
|
'category': 'Rangefinder',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_VL53L1X',
|
|
'address': 0x29,
|
|
'driver': 'AP_RangeFinder/AP_RangeFinder_VL53L1X.cpp',
|
|
'feature': 'AP_RANGEFINDER_VL53L1X_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'physics': {
|
|
'source': 'rangefinder',
|
|
'property': 'RangefinderIndex',
|
|
'count': 10,
|
|
},
|
|
'parameters': (
|
|
('RNGFND{instance}_TYPE', 28),
|
|
('RNGFND{instance}_ADDR', 0x29),
|
|
),
|
|
},
|
|
'ist8310-compass': {
|
|
'name': 'IST8310 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_IST8310',
|
|
'address': 0x0E,
|
|
'driver': 'AP_Compass/AP_Compass_IST8310.cpp',
|
|
'feature': 'AP_COMPASS_IST8310_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'ms4525-airspeed': {
|
|
'name': 'MS4525 airspeed',
|
|
'category': 'Airspeed',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_Airspeed',
|
|
'address': 0x28,
|
|
'driver': 'AP_Airspeed/AP_Airspeed_MS4525.cpp',
|
|
'feature': 'AP_AIRSPEED_MS4525_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('{airspeed_prefix}_TYPE', 1),
|
|
('{airspeed_prefix}_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'dlvr-airspeed': {
|
|
'name': 'DLVR 5-inch airspeed',
|
|
'category': 'Airspeed',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_Airspeed_DLVR',
|
|
'address': 0x28,
|
|
'driver': 'AP_Airspeed/AP_Airspeed_DLVR.cpp',
|
|
'feature': 'AP_AIRSPEED_DLVR_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('{airspeed_prefix}_TYPE', 7),
|
|
('{airspeed_prefix}_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'ms5525-airspeed': {
|
|
'name': 'MS5525 airspeed',
|
|
'category': 'Airspeed',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_Airspeed_MS5525',
|
|
'address': 0x76,
|
|
'driver': 'AP_Airspeed/AP_Airspeed_MS5525.cpp',
|
|
'feature': 'AP_AIRSPEED_MS5525_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('{airspeed_prefix}_TYPE', 4),
|
|
('{airspeed_prefix}_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'sdp3x-airspeed': {
|
|
'name': 'SDP3X airspeed',
|
|
'category': 'Airspeed',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_Airspeed_SDP3X',
|
|
'address': 0x21,
|
|
'driver': 'AP_Airspeed/AP_Airspeed_SDP3X.cpp',
|
|
'feature': 'AP_AIRSPEED_SDP3X_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('{airspeed_prefix}_TYPE', 6),
|
|
('{airspeed_prefix}_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'auav-airspeed': {
|
|
'name': 'AUAV airspeed',
|
|
'category': 'Airspeed',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_Airspeed_AUAV',
|
|
'address': 0x26,
|
|
'driver': 'AP_Airspeed/AP_Airspeed_AUAV.cpp',
|
|
'feature': 'AP_AIRSPEED_AUAV_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('{airspeed_prefix}_TYPE', 17),
|
|
('{airspeed_prefix}_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'auav-barometer': {
|
|
'name': 'AUAV absolute barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_Baro_AUAV',
|
|
'address': 0x27,
|
|
'driver': 'AP_Baro/AP_Baro_AUAV.cpp',
|
|
'feature': 'AP_BARO_AUAV_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 16384),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'keller-barometer': {
|
|
'name': 'Keller 4LD-9LD pressure transducer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_Baro_KellerLD',
|
|
'address': 0x40,
|
|
'driver': 'AP_Baro/AP_Baro_KellerLD.cpp',
|
|
'feature': 'AP_BARO_KELLERLD_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 256),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'ina226-power-monitor': {
|
|
'name': 'INA226 power monitor',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_INA226',
|
|
'address': 0x40,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_INA2xx.cpp',
|
|
'feature': 'AP_BATTERY_INA2XX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 21),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x40),
|
|
('{battery_prefix}_MAX_AMPS', 90),
|
|
('{battery_prefix}_SHUNT', 0.0005),
|
|
),
|
|
},
|
|
'ina228-power-monitor': {
|
|
'name': 'INA228 power monitor',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_INA228',
|
|
'address': 0x40,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_INA2xx.cpp',
|
|
'feature': 'AP_BATTERY_INA2XX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 21),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x40),
|
|
('{battery_prefix}_MAX_AMPS', 90),
|
|
('{battery_prefix}_SHUNT', 0.0005),
|
|
),
|
|
},
|
|
'ina238-power-monitor': {
|
|
'name': 'INA238 power monitor',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_INA238',
|
|
'address': 0x40,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_INA2xx.cpp',
|
|
'feature': 'AP_BATTERY_INA2XX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 21),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x40),
|
|
('{battery_prefix}_MAX_AMPS', 90),
|
|
('{battery_prefix}_SHUNT', 0.0005),
|
|
),
|
|
},
|
|
'ina231-power-monitor': {
|
|
'name': 'INA231 power monitor',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_INA231',
|
|
'address': 0x40,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_INA2xx.cpp',
|
|
'feature': 'AP_BATTERY_INA2XX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 21),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x40),
|
|
('{battery_prefix}_MAX_AMPS', 90),
|
|
('{battery_prefix}_SHUNT', 0.0005),
|
|
),
|
|
},
|
|
'ina260-power-monitor': {
|
|
'name': 'INA260 power monitor',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_INA260',
|
|
'address': 0x40,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_INA2xx.cpp',
|
|
'feature': 'AP_BATTERY_INA2XX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 21),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x40),
|
|
('{battery_prefix}_MAX_AMPS', 90),
|
|
('{battery_prefix}_SHUNT', 0.0005),
|
|
),
|
|
},
|
|
'ina3221-power-monitor': {
|
|
'name': 'INA3221 three-channel power monitor',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_INA3221',
|
|
'address': 0x40,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_INA3221.cpp',
|
|
'feature': 'AP_BATTERY_INA3221_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 30),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x40),
|
|
('{battery_prefix}_CHANNEL', '{instance}'),
|
|
),
|
|
},
|
|
'ltc2946-power-monitor': {
|
|
'name': 'LTC2946 power monitor',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LTC2946',
|
|
'address': 0x6A,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_LTC2946.cpp',
|
|
'feature': 'AP_BATTERY_LTC2946_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 22),
|
|
),
|
|
},
|
|
'ad7091r5-power-monitor': {
|
|
'name': 'AD7091R5 four-channel power ADC',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_AD7091R5',
|
|
'address': 0x2F,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_AD7091R5.cpp',
|
|
'feature': 'AP_BATTERY_AD7091R5_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 28),
|
|
('{battery_prefix}_VOLT_PIN', 50),
|
|
('{battery_prefix}_CURR_PIN', 51),
|
|
('{battery_prefix}_VOLT_MULT', 10),
|
|
('{battery_prefix}_AMP_PERVLT', 10),
|
|
('{battery_prefix}_AMP_OFFSET', 0),
|
|
('{battery_prefix}_VLT_OFFSET', 0),
|
|
),
|
|
},
|
|
'smbus-generic-battery': {
|
|
'name': 'Generic smart battery',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SMBusBattery',
|
|
'address': 0x0B,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_SMBus_Generic.cpp',
|
|
'feature': 'AP_BATTERY_SMBUS_GENERIC_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 7),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x0B),
|
|
),
|
|
},
|
|
'smbus-maxell-battery': {
|
|
'name': 'Maxell smart battery',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SMBusMaxellBattery',
|
|
'address': 0x0B,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_SMBus_Maxell.h',
|
|
'feature': 'AP_BATTERY_SMBUS_MAXELL_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 16),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x0B),
|
|
),
|
|
},
|
|
'smbus-rotoye-battery': {
|
|
'name': 'Rotoye smart battery',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SMBusRotoyeBattery',
|
|
'address': 0x0B,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_SMBus_Rotoye.cpp',
|
|
'feature': 'AP_BATTERY_SMBUS_ROTOYE_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 19),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x0B),
|
|
),
|
|
},
|
|
'smbus-neodesign-battery': {
|
|
'name': 'NeoDesign smart battery',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SMBusNeoDesignBattery',
|
|
'address': 0x0B,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_SMBus_NeoDesign.cpp',
|
|
'feature': 'AP_BATTERY_SMBUS_NEODESIGN_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 15),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x0B),
|
|
),
|
|
},
|
|
'smbus-sui3-battery': {
|
|
'name': 'SUI3 smart battery',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SMBusSUI3Battery',
|
|
'address': 0x0B,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_SMBus_SUI.cpp',
|
|
'feature': 'AP_BATTERY_SMBUS_SUI_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 13),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x0B),
|
|
),
|
|
},
|
|
'smbus-sui6-battery': {
|
|
'name': 'SUI6 smart battery',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SMBusSUI6Battery',
|
|
'address': 0x0B,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_SMBus_SUI.cpp',
|
|
'feature': 'AP_BATTERY_SMBUS_SUI_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 14),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x0B),
|
|
),
|
|
},
|
|
'smbus-solo-battery': {
|
|
'name': 'Solo smart battery',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SMBusSoloBattery',
|
|
'address': 0x0B,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_SMBus_Solo.cpp',
|
|
'feature': 'AP_BATTERY_SMBUS_SOLO_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 5),
|
|
('{battery_prefix}_I2C_BUS', '{i2c_index}'),
|
|
('{battery_prefix}_I2C_ADDR', 0x0B),
|
|
),
|
|
},
|
|
'bq76952-bms': {
|
|
'name': 'TI BQ76952 battery management system',
|
|
'category': 'Power',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BQ76952',
|
|
'address': 0x08,
|
|
'driver': 'AP_BattMonitor/AP_BattMonitor_TIBQ76952.cpp',
|
|
'feature': 'AP_BATTERY_TIBQ76952_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'runtime',
|
|
'parameters': (
|
|
('{battery_prefix}_MONITOR', 32),
|
|
('{battery_prefix}_CFG_UPDATE', 0),
|
|
),
|
|
},
|
|
'asp5033-airspeed': {
|
|
'name': 'ASP5033 airspeed',
|
|
'category': 'Airspeed',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_Airspeed_ASP5033',
|
|
'address': 0x6C,
|
|
'driver': 'AP_Airspeed/AP_Airspeed_ASP5033.cpp',
|
|
'feature': 'AP_AIRSPEED_ASP5033_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('{airspeed_prefix}_TYPE', 15),
|
|
('{airspeed_prefix}_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'bmp280-barometer': {
|
|
'name': 'BMP280 barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BMP280',
|
|
'address': 0x76,
|
|
'driver': 'AP_Baro/AP_Baro_BMP280.cpp',
|
|
'feature': 'AP_BARO_BMP280_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 2),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'bmp085-barometer': {
|
|
'name': 'BMP085 barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BMP085',
|
|
'address': 0x77,
|
|
'driver': 'AP_Baro/AP_Baro_BMP085.cpp',
|
|
'feature': 'AP_BARO_BMP085_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 1),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'bmp388-barometer': {
|
|
'name': 'BMP388 barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BMP388',
|
|
'address': 0x76,
|
|
'driver': 'AP_Baro/AP_Baro_BMP388.cpp',
|
|
'feature': 'AP_BARO_BMP388_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 1024),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'bmp581-barometer': {
|
|
'name': 'BMP581 barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BMP581',
|
|
'address': 0x46,
|
|
'driver': 'AP_Baro/AP_Baro_BMP581.cpp',
|
|
'feature': 'AP_BARO_BMP581_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 8192),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'dps280-barometer': {
|
|
'name': 'DPS280 barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_DPS310',
|
|
'address': 0x76,
|
|
'driver': 'AP_Baro/AP_Baro_DPS280.cpp',
|
|
'feature': 'AP_BARO_DPS280_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 64),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'spl06-barometer': {
|
|
'name': 'SPL06 barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_DPS310',
|
|
'address': 0x76,
|
|
'driver': 'AP_Baro/AP_Baro_SPL06.cpp',
|
|
'feature': 'AP_BARO_SPL06_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 2048),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'ms5611-barometer': {
|
|
'name': 'MS5611 barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_MS5611',
|
|
'address': 0x77,
|
|
'driver': 'AP_Baro/AP_Baro_MS5611.cpp',
|
|
'feature': 'AP_BARO_MS5611_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 4),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'lps2xh-barometer': {
|
|
'name': 'LPS2xH barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LPS2XH',
|
|
'address': 0x5D,
|
|
'driver': 'AP_Baro/AP_Baro_LPS2XH.cpp',
|
|
'feature': 'AP_BARO_LPS2XH_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'parameter-reinit',
|
|
'parameters': (
|
|
('BARO_PROBE_EXT', 128),
|
|
('BARO_EXT_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'icp201xx-barometer': {
|
|
'name': 'ICP201xx barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_ICP201XX',
|
|
'address': 0x63,
|
|
'driver': 'AP_Baro/AP_Baro_ICP201XX.cpp',
|
|
'feature': 'AP_BARO_ICP201XX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'icp101xx-barometer': {
|
|
'name': 'ICP101xx barometer',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_ICP101XX',
|
|
'address': 0x63,
|
|
'driver': 'AP_Baro/AP_Baro_ICP101XX.cpp',
|
|
'feature': 'AP_BARO_ICP101XX_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'icm20789-package': {
|
|
'name': 'ICM20789 barometer and IMU',
|
|
'category': 'Barometer',
|
|
'bus': 'i2c',
|
|
'i2c_endpoints': (
|
|
{'model': 'Sensors.AP_ICM20789Barometer', 'address': 0x63},
|
|
{'model': 'Sensors.AP_ICM20789I2CIMU', 'address': 0x68},
|
|
),
|
|
'driver': 'AP_Baro/AP_Baro_ICM20789.cpp',
|
|
'feature': 'AP_BARO_ICM20789_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'invensense-i2c-imu': {
|
|
'name': 'Invensense MPU6000 IMU',
|
|
'category': 'IMU',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_I2CRegisterIMU',
|
|
'address': 0x68,
|
|
'driver': 'AP_InertialSensor/AP_InertialSensor_Invensense.cpp',
|
|
'feature': 'AP_INERTIALSENSOR_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'bmi160-i2c-imu': {
|
|
'name': 'Bosch BMI160 IMU',
|
|
'category': 'IMU',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BMI160I2C',
|
|
'address': 0x68,
|
|
'driver': 'AP_InertialSensor/AP_InertialSensor_BMI160.cpp',
|
|
'feature': 'AP_INERTIALSENSOR_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'oreoled-set': {
|
|
'name': 'Solo OreoLED set',
|
|
'category': 'LED',
|
|
'bus': 'i2c',
|
|
'i2c_endpoints': (
|
|
{'model': 'Sensors.AP_OreoLED0', 'address': 0x68},
|
|
{'model': 'Sensors.AP_OreoLED1', 'address': 0x69},
|
|
{'model': 'Sensors.AP_OreoLED2', 'address': 0x6A},
|
|
{'model': 'Sensors.AP_OreoLED3', 'address': 0x6B},
|
|
),
|
|
'driver': 'AP_Notify/OreoLED_I2C.cpp',
|
|
'feature': 'AP_NOTIFY_OREOLED_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('NTF_LED_TYPES', 1 << 4),
|
|
('NTF_OREO_THEME', 1),
|
|
('NTF_LED_OVERRIDE', 1),
|
|
),
|
|
},
|
|
'bmi270-i2c-imu': {
|
|
'name': 'Bosch BMI270 IMU',
|
|
'category': 'IMU',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BMI270I2C',
|
|
'address': 0x68,
|
|
'driver': 'AP_InertialSensor/AP_InertialSensor_BMI270.cpp',
|
|
'feature': 'AP_INERTIALSENSOR_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'icm20948-i2c-imu': {
|
|
'name': 'Invensense ICM20948 IMU',
|
|
'category': 'IMU',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_InvensenseV2I2C',
|
|
'address': 0x68,
|
|
'driver': 'AP_InertialSensor/AP_InertialSensor_Invensensev2.cpp',
|
|
'feature': 'AP_INERTIALSENSOR_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'is31fl3195-led': {
|
|
'name': 'IS31FL3195 RGB LED controller',
|
|
'category': 'LED',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_IS31FL3195',
|
|
'address': 0x54,
|
|
'driver': 'AP_Notify/IS31FL3195.cpp',
|
|
'feature': 'AP_NOTIFY_IS31FL3195_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('NTF_LED_TYPES', 1 << 15),
|
|
('NTF_LED_OVERRIDE', 1),
|
|
),
|
|
},
|
|
'lp5562-led': {
|
|
'name': 'LP5562 RGB LED controller',
|
|
'category': 'LED',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LP5562',
|
|
'address': 0x30,
|
|
'driver': 'AP_Notify/LP5562.cpp',
|
|
'feature': 'AP_NOTIFY_LP5562_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('NTF_LED_TYPES', 1 << 13),
|
|
('NTF_LED_OVERRIDE', 1),
|
|
),
|
|
},
|
|
'ncp5623-led': {
|
|
'name': 'NCP5623 RGB LED controller',
|
|
'category': 'LED',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_NCP5623',
|
|
'address': 0x38,
|
|
'driver': 'AP_Notify/NCP5623.cpp',
|
|
'feature': 'AP_NOTIFY_NCP5623_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('NTF_LED_TYPES', 1 << 6),
|
|
('NTF_LED_OVERRIDE', 1),
|
|
),
|
|
},
|
|
'pca9685-led': {
|
|
'name': 'PCA9685 RGB LED controller',
|
|
'category': 'LED',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_PCA9685LED',
|
|
'address': 0x40,
|
|
'driver': 'AP_Notify/PCA9685LED_I2C.cpp',
|
|
'feature': 'AP_NOTIFY_PCA9685_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('NTF_LED_TYPES', 1 << 3),
|
|
('NTF_LED_OVERRIDE', 1),
|
|
),
|
|
},
|
|
'toshiba-led': {
|
|
'name': 'TCA62724 RGB LED controller',
|
|
'category': 'LED',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_ToshibaLED',
|
|
'address': 0x55,
|
|
'driver': 'AP_Notify/ToshibaLED_I2C.cpp',
|
|
'feature': 'AP_NOTIFY_TOSHIBALED_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('NTF_LED_TYPES', 1 << 2),
|
|
('NTF_LED_OVERRIDE', 1),
|
|
),
|
|
},
|
|
'ssd1306-display': {
|
|
'name': 'SSD1306 monochrome display',
|
|
'category': 'Display',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SSD1306',
|
|
'address': 0x3C,
|
|
'driver': 'AP_Notify/Display_SSD1306_I2C.cpp',
|
|
'feature': 'HAL_DISPLAY_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('NTF_DISPLAY_TYPE', 1),
|
|
),
|
|
},
|
|
'sh1106-display': {
|
|
'name': 'SH1106 monochrome display',
|
|
'category': 'Display',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SH1106',
|
|
'address': 0x3C,
|
|
'driver': 'AP_Notify/Display_SH1106_I2C.cpp',
|
|
'feature': 'HAL_DISPLAY_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('NTF_DISPLAY_TYPE', 2),
|
|
),
|
|
},
|
|
'px4flow-optical-flow': {
|
|
'name': 'PX4Flow optical flow sensor',
|
|
'category': 'Optical Flow',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_PX4Flow',
|
|
'address': 0x42,
|
|
'driver': 'AP_OpticalFlow/AP_OpticalFlow_PX4Flow.cpp',
|
|
'feature': 'AP_OPTICALFLOW_PX4FLOW_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('FLOW_TYPE', 1),
|
|
('FLOW_ADDR', 0),
|
|
),
|
|
},
|
|
'irlock-i2c': {
|
|
'name': 'IR-LOCK precision-landing camera',
|
|
'category': 'Precision Landing',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_IRLock',
|
|
'address': 0x54,
|
|
'driver': 'AP_IRLock/AP_IRLock_I2C.cpp',
|
|
'feature': 'AP_IRLOCK_I2C_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('PLND_ENABLED', 1),
|
|
('PLND_TYPE', 2),
|
|
('PLND_BUS', '{i2c_index}'),
|
|
),
|
|
},
|
|
'iis2mdc-compass': {
|
|
'name': 'IIS2MDC/LIS2MDL compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_IIS2MDC',
|
|
'address': 0x1E,
|
|
'driver': 'AP_Compass/AP_Compass_IIS2MDC.cpp',
|
|
'feature': 'AP_COMPASS_IIS2MDC_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'ist8308-compass': {
|
|
'name': 'IST8308 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_IST8308',
|
|
'address': 0x0E,
|
|
'driver': 'AP_Compass/AP_Compass_IST8308.cpp',
|
|
'feature': 'AP_COMPASS_IST8308_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'lis3mdl-compass': {
|
|
'name': 'LIS3MDL compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LIS3MDL',
|
|
'address': 0x1C,
|
|
'driver': 'AP_Compass/AP_Compass_LIS3MDL.cpp',
|
|
'feature': 'AP_COMPASS_LIS3MDL_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'qmc5883l-compass': {
|
|
'name': 'QMC5883L compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_QMC5883L',
|
|
'address': 0x0D,
|
|
'driver': 'AP_Compass/AP_Compass_QMC5883L.cpp',
|
|
'feature': 'AP_COMPASS_QMC5883L_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'qmc5883p-compass': {
|
|
'name': 'QMC5883P compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_QMC5883P',
|
|
'address': 0x2C,
|
|
'driver': 'AP_Compass/AP_Compass_QMC5883P.cpp',
|
|
'feature': 'AP_COMPASS_QMC5883P_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'rm3100-compass': {
|
|
'name': 'RM3100 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_RM3100',
|
|
'address': 0x20,
|
|
'driver': 'AP_Compass/AP_Compass_RM3100.cpp',
|
|
'feature': 'AP_COMPASS_RM3100_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'ak09916-compass': {
|
|
'name': 'AK09916 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_AK09916',
|
|
'address': 0x0C,
|
|
'driver': 'AP_Compass/AP_Compass_AK09916.cpp',
|
|
'feature': 'AP_COMPASS_AK09916_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'ak8963-compass': {
|
|
'name': 'AK8963 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_AK8963',
|
|
'address': 0x0C,
|
|
'driver': 'AP_Compass/AP_Compass_AK8963.cpp',
|
|
'feature': 'AP_COMPASS_AK8963_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'hmc5843-compass': {
|
|
'name': 'HMC5843/HMC5883 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_HMC5843',
|
|
'address': 0x1E,
|
|
'driver': 'AP_Compass/AP_Compass_HMC5843.cpp',
|
|
'feature': 'AP_COMPASS_HMC5843_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'mmc3416-compass': {
|
|
'name': 'MMC3416 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_MMC3416',
|
|
'address': 0x30,
|
|
'driver': 'AP_Compass/AP_Compass_MMC3416.cpp',
|
|
'feature': 'AP_COMPASS_MMC3416_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'bmm150-compass': {
|
|
'name': 'BMM150 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BMM150',
|
|
'address': 0x10,
|
|
'driver': 'AP_Compass/AP_Compass_BMM150.cpp',
|
|
'feature': 'AP_COMPASS_BMM150_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'bmm350-compass': {
|
|
'name': 'BMM350 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_BMM350',
|
|
'address': 0x14,
|
|
'driver': 'AP_Compass/AP_Compass_BMM350.cpp',
|
|
'feature': 'AP_COMPASS_BMM350_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'lsm303d-compass': {
|
|
'name': 'LSM303D compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LSM303DCompass',
|
|
'address': 0x1D,
|
|
'driver': 'AP_Compass/AP_Compass_LSM303D.cpp',
|
|
'feature': 'AP_COMPASS_LSM303D_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'lsm9ds1-compass': {
|
|
'name': 'LSM9DS1 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_LSM9DS1Compass',
|
|
'address': 0x1C,
|
|
'driver': 'AP_Compass/AP_Compass_LSM9DS1.cpp',
|
|
'feature': 'AP_COMPASS_LSM9DS1_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'mmc5983-compass': {
|
|
'name': 'MMC5983 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_MMC5983',
|
|
'address': 0x30,
|
|
'driver': 'AP_Compass/AP_Compass_MMC5xx3.cpp',
|
|
'feature': 'AP_COMPASS_MMC5XX3_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'auto-probe',
|
|
},
|
|
'mag3110-compass': {
|
|
'name': 'MAG3110 compass',
|
|
'category': 'Compass',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_MAG3110',
|
|
'address': 0x0E,
|
|
'driver': 'AP_Compass/AP_Compass_MAG3110.cpp',
|
|
'feature': 'AP_COMPASS_MAG3110_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'selection': 'hwdef-probe',
|
|
},
|
|
'mcp9600-temperature': {
|
|
'name': 'MCP9600 thermocouple sensor',
|
|
'category': 'Temperature',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_MCP9600',
|
|
'address': 0x60,
|
|
'driver': 'AP_TemperatureSensor/AP_TemperatureSensor_MCP9600.cpp',
|
|
'feature': 'AP_TEMPERATURE_SENSOR_MCP9600_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('TEMP{instance}_TYPE', 2),
|
|
('TEMP{instance}_BUS', '{i2c_index}'),
|
|
('TEMP{instance}_ADDR', 0x60),
|
|
),
|
|
},
|
|
'mlx90614-temperature': {
|
|
'name': 'MLX90614 infrared temperature sensor',
|
|
'category': 'Temperature',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_MLX90614',
|
|
'address': 0x5A,
|
|
'driver': 'AP_TemperatureSensor/AP_TemperatureSensor_MLX90614.cpp',
|
|
'feature': 'AP_TEMPERATURE_SENSOR_MLX90614_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('TEMP{instance}_TYPE', 7),
|
|
('TEMP{instance}_BUS', '{i2c_index}'),
|
|
('TEMP{instance}_ADDR', 0x5A),
|
|
),
|
|
},
|
|
'tmp119-temperature': {
|
|
'name': 'TMP119 temperature sensor',
|
|
'category': 'Temperature',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_TMP119',
|
|
'address': 0x48,
|
|
'driver': 'AP_TemperatureSensor/AP_TemperatureSensor_TMP119.cpp',
|
|
'feature': 'AP_TEMPERATURE_SENSOR_TMP119_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('TEMP{instance}_TYPE', 10),
|
|
('TEMP{instance}_BUS', '{i2c_index}'),
|
|
('TEMP{instance}_ADDR', 0x48),
|
|
),
|
|
},
|
|
'sht3x-temperature': {
|
|
'name': 'SHT3x temperature/humidity sensor',
|
|
'category': 'Temperature',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_SHT3x',
|
|
'address': 0x44,
|
|
'driver': 'AP_TemperatureSensor/AP_TemperatureSensor_SHT3x.cpp',
|
|
'feature': 'AP_TEMPERATURE_SENSOR_SHT3X_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('TEMP{instance}_TYPE', 8),
|
|
('TEMP{instance}_BUS', '{i2c_index}'),
|
|
('TEMP{instance}_ADDR', 0x44),
|
|
),
|
|
},
|
|
'tsys01-temperature': {
|
|
'name': 'TSYS01 temperature sensor',
|
|
'category': 'Temperature',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_TSYS01',
|
|
'address': 0x77,
|
|
'driver': 'AP_TemperatureSensor/AP_TemperatureSensor_TSYS01.cpp',
|
|
'feature': 'AP_TEMPERATURE_SENSOR_TSYS01_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('TEMP{instance}_TYPE', 1),
|
|
('TEMP{instance}_BUS', '{i2c_index}'),
|
|
('TEMP{instance}_ADDR', 0x77),
|
|
),
|
|
},
|
|
'tsys03-temperature': {
|
|
'name': 'TSYS03 temperature sensor',
|
|
'category': 'Temperature',
|
|
'bus': 'i2c',
|
|
'model': 'Sensors.AP_TSYS03',
|
|
'address': 0x40,
|
|
'driver': 'AP_TemperatureSensor/AP_TemperatureSensor_TSYS03.cpp',
|
|
'feature': 'AP_TEMPERATURE_SENSOR_TSYS03_ENABLED',
|
|
'coverage': COVERAGE_DYNAMIC,
|
|
'hotplug': 'boot-probe',
|
|
'parameters': (
|
|
('TEMP{instance}_TYPE', 4),
|
|
('TEMP{instance}_BUS', '{i2c_index}'),
|
|
('TEMP{instance}_ADDR', 0x40),
|
|
),
|
|
},
|
|
'dronecan-airspeed': {
|
|
'name': 'DroneCAN airspeed',
|
|
'category': 'Airspeed',
|
|
'bus': 'can',
|
|
'sidecar': 'dronecan-airspeed',
|
|
'driver': 'AP_Airspeed/AP_Airspeed_DroneCAN.cpp',
|
|
'feature': 'AP_AIRSPEED_DRONECAN_ENABLED',
|
|
'coverage': COVERAGE_DETECTION,
|
|
'hotplug': 'runtime',
|
|
'selection': 'auto-probe',
|
|
},
|
|
}
|
|
|
|
|
|
DRIVER_PROBE_PROFILES = {
|
|
'matekh743-navigation': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ublox-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'ist8310-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'corrupt-read-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-nmea-gps': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-nmea-gps.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'nmea-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-sirf-gps': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-sirf-gps.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'sirf-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-erb-gps': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-erb-gps.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'erb-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-nova-gps': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-nova-gps.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'nova-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-sbp-gps': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-sbp-gps.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'sbp-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-sbp2-gps': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-sbp2-gps.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'sbp2-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-sbf-gps': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-sbf-gps.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'sbf-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-gsof-gps': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-gsof-gps.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'gsof-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'benewake-rangefinder',
|
|
'port': 'SERIAL4',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'lightware-rangefinder',
|
|
'port': 'SERIAL5',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-benewake-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-benewake-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'benewake-rangefinder',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'benewake-tfmini-rangefinder',
|
|
'port': 'SERIAL4',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'benewake-tf03-rangefinder',
|
|
'port': 'SERIAL5',
|
|
'instance': 3,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ascii-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ascii-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'maxsonar-serial-rangefinder',
|
|
'port': 'SERIAL4',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'nmea-rangefinder',
|
|
'port': 'SERIAL5',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-binary-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-binary-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'gyus42v2-rangefinder',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'lanbao-rangefinder',
|
|
'port': 'SERIAL4',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'teraranger-serial-rangefinder',
|
|
'port': 'SERIAL5',
|
|
'instance': 3,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-radar-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-radar-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'usd1-rangefinder',
|
|
'port': 'SERIAL2',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'nooploop-rangefinder',
|
|
'port': 'SERIAL3',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'jre-rangefinder',
|
|
'port': 'SERIAL4',
|
|
'instance': 3,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'ainstein-lrd1-rangefinder',
|
|
'port': 'SERIAL5',
|
|
'instance': 4,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'rds02uf-rangefinder',
|
|
'port': 'SERIAL6',
|
|
'instance': 5,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-command-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-command-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'dts6012m-rangefinder',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'blping-rangefinder',
|
|
'port': 'SERIAL4',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-configured-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-configured-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'wasp-rangefinder',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'lightware-grf-rangefinder',
|
|
'port': 'SERIAL4',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-polled-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-polled-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'leddarone-rangefinder',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'leddarvu8-rangefinder',
|
|
'port': 'SERIAL4',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-teraranger-proximity': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-teraranger-proximity.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'teraranger-tower-proximity',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-teraranger-evo-proximity': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-teraranger-evo-proximity.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'teraranger-tower-evo-proximity',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-cygbot-proximity': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-cygbot-proximity.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'cygbot-d1-proximity',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-rplidar-a2-proximity': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-rplidar-a2-proximity.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'rplidar-a2-proximity',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-lightware-sf40c-proximity': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-lightware-sf40c-proximity.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'lightware-sf40c-proximity',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-lightware-sf45b-proximity': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-lightware-sf45b-proximity.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'lightware-sf45b-proximity',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'configuration', 'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ld06-proximity': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ld06-proximity.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ld06-proximity',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-nmea-airspeed': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'ardurover',
|
|
'build_target': 'rover',
|
|
'defaults': 'Tools/renode/tests/MatekH743-nmea-airspeed.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'nmea-airspeed',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-nmea-wind': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'ardurover',
|
|
'build_target': 'rover',
|
|
'defaults': 'Tools/renode/tests/MatekH743-nmea-wind.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'nmea-wind-vane',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-cxof-optical-flow': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-cxof-optical-flow.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'cxof-optical-flow',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-upflow-optical-flow': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-upflow-optical-flow.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'upflow-optical-flow',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'checksum-recovery',
|
|
'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-nmea-ais': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'ardurover',
|
|
'build_target': 'rover',
|
|
'defaults': 'Tools/renode/tests/MatekH743-nmea-ais.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'nmea-ais-receiver',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values', 'static-data',
|
|
'checksum-recovery', 'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-pozyx-beacon': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-pozyx-beacon.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-pozyx-beacon.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'pozyx-beacon',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'checksum-recovery', 'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-marvelmind-beacon': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-marvelmind-beacon.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-pozyx-beacon.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'marvelmind-beacon',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'checksum-recovery', 'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-nooploop-beacon': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-nooploop-beacon.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-pozyx-beacon.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'nooploop-beacon',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values', 'settings-request',
|
|
'checksum-recovery', 'output-corruption-recovery',
|
|
'output-suppression-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-nmea-output': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-nmea-output.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'nmea-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
{
|
|
'device': 'nmea-output',
|
|
'port': 'SERIAL4',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ltm-output': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ltm-output.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-ltm-output.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'nmea-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
{
|
|
'device': 'ltm-output',
|
|
'port': 'SERIAL4',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-devo-output': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-devo-output.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-devo-output.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'nmea-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
{
|
|
'device': 'devo-output',
|
|
'port': 'SERIAL4',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-frsky-d-output': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-frsky-d-output.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-frsky-d-output.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'nmea-gps',
|
|
'port': 'SERIAL3',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'detection', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
{
|
|
'device': 'frsky-d-output',
|
|
'port': 'SERIAL4',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-i2c-rangefinders': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-i2c-rangefinders.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'maxsonar-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
{
|
|
'device': 'tfs20l-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 2,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
{
|
|
'device': 'teraranger-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 3,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'tofsensef-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 4,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'lightware-grf-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 5,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-tfmini-plus-i2c': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-tfmini-plus-i2c.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'tfmini-plus-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-i2c-rangefinders-stateful': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-i2c-rangefinders-stateful.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'lightware-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
{
|
|
'device': 'lidarlite-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 2,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
{
|
|
'device': 'vl53l0x-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 3,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-vl53l1x': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-vl53l1x.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'vl53l1x-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-airspeed': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-airspeed.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ms4525-airspeed',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'corrupt-read-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-dlvr': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-dlvr.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'dlvr-airspeed',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ms5525': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ms5525.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ms5525-airspeed',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-sdp3x': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-sdp3x.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'sdp3x-airspeed',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-airspeeds': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-airspeeds.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'auav-airspeed',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'corrupt-read-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'asp5033-airspeed',
|
|
'port': 'I2C1',
|
|
'instance': 2,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'corrupt-read-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-auav-baro': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-auav-baro.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'auav-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'corrupt-read-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-keller': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'ardusub',
|
|
'build_target': 'sub',
|
|
'defaults': 'Tools/renode/tests/MatekH743-keller.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'keller-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-invalid-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ina226': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ina2xx.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ina226-power-monitor',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ina228': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ina2xx.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ina228-power-monitor',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ina238': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ina2xx.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ina238-power-monitor',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ina231': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ina2xx.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ina231-power-monitor',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ina260': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ina2xx.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ina260-power-monitor',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ina3221': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ina3221.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-ina3221.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'ina3221-power-monitor',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'battery_instances': (1, 2, 3),
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ltc2946': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ltc2946.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-ltc2946.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'ltc2946-power-monitor',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ad7091r5': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ad7091r5.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ad7091r5-power-monitor',
|
|
'port': 'I2C0',
|
|
'instance': 1,
|
|
'battery_instances': (1, 2, 3),
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-smbus-generic': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-smbus-generic.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'smbus-generic-battery',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-smbus-maxell': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-smbus-maxell.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'smbus-maxell-battery',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'capacity-scaler', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-smbus-rotoye': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-smbus-rotoye.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'smbus-rotoye-battery',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-smbus-neodesign': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-smbus-neodesign.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'smbus-neodesign-battery',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-smbus-sui3': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-smbus-sui3.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'smbus-sui3-battery',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-smbus-sui6': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-smbus-sui6.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'smbus-sui6-battery',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-smbus-solo': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-smbus-solo.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-smbus-solo.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'smbus-solo-battery',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-bq76952': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-bq76952.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-bq76952.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'bq76952-bms',
|
|
'port': 'I2C0',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-bmp280': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-bmp280.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'bmp280-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'stuck-sample-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-bmp085': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-bmp085.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'bmp085-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'adc-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-bmp388': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-bmp388.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'bmp388-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-bmp581': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-bmp581.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'bmp581-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-invalid-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-dps280': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-dps280.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'dps280-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-spl06': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-spl06.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'spl06-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-invalid-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ms5611': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ms5611.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ms5611-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'adc-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-lps2xh': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-lps2xh.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'lps2xh-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-icp201xx': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-icp201xx.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-icp201xx.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'icp201xx-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-invalid-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-icp101xx': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-icp101xx.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-icp101xx.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'icp101xx-barometer',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-invalid-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'kakutef4-icm20789': {
|
|
'board': 'KakuteF4',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/KakuteF4-copter.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/KakuteF4-icm20789.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'icm20789-package',
|
|
'port': 'I2C0',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-invalid-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'kakutef4-invensense-i2c': {
|
|
'board': 'KakuteF4',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/KakuteF4-copter.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/KakuteF4-invensense-i2c.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'invensense-i2c-imu',
|
|
'port': 'I2C0',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'kakutef4-bmi160-i2c': {
|
|
'board': 'KakuteF4',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/KakuteF4-copter.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/KakuteF4-bmi160-i2c.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'bmi160-i2c-imu',
|
|
'port': 'I2C0',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'kakutef4-bmi270-i2c': {
|
|
'board': 'KakuteF4',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/KakuteF4-copter.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/KakuteF4-bmi270-i2c.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'bmi270-i2c-imu',
|
|
'port': 'I2C0',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'kakutef4-icm20948-i2c': {
|
|
'board': 'KakuteF4',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/KakuteF4-copter.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/KakuteF4-icm20948-i2c.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'icm20948-i2c-imu',
|
|
'port': 'I2C0',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-oreoled': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-oreoled.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-oreoled.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'oreoled-set',
|
|
'port': 'I2C0',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-is31fl3195-led': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-is31fl3195-led.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'is31fl3195-led',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-lp5562-led': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-lp5562-led.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'lp5562-led',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ncp5623-led': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ncp5623-led.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ncp5623-led',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-pca9685-led': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-pca9685-led.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'pca9685-led',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-toshiba-led': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-toshiba-led.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'toshiba-led',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-px4flow': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-px4flow.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'px4flow-optical-flow',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ssd1306-display': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-ssd1306-display.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ssd1306-display',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-sh1106-display': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-sh1106-display.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'sh1106-display',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-irlock': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arducopter',
|
|
'build_target': 'copter',
|
|
'defaults': 'Tools/renode/tests/MatekH743-irlock.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'irlock-i2c',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'stable-values', 'stepped-values',
|
|
'checksum-recovery',
|
|
),
|
|
},
|
|
{
|
|
'device': 'lidarlite-i2c-rangefinder',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-iis2mdc': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-iis2mdc.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'iis2mdc-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ist8308': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-ist8308.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'ist8308-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-lis3mdl': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'lis3mdl-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-qmc5883l': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'qmc5883l-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-qmc5883p': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'qmc5883p-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-rm3100': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'rm3100-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ak09916': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'ak09916-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-ak8963': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-ak8963.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'ak8963-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-hmc5843': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'hmc5843-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-mmc3416': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'mmc3416-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-bmm150': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'bmm150-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-bmm350': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'bmm350-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-lsm303d': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-lsm303d.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'lsm303d-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-lsm9ds1': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-lsm9ds1.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'lsm9ds1-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-mmc5983': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'devices': (
|
|
{
|
|
'device': 'mmc5983-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-mag3110': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-plane.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-mag3110.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'mag3110-compass',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': (
|
|
'device-id', 'stable-values', 'stepped-values',
|
|
'data-ready-recovery',
|
|
),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-temperature-basic': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-temperature-basic.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-temperature.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'mcp9600-temperature',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
{
|
|
'device': 'mlx90614-temperature',
|
|
'port': 'I2C1',
|
|
'instance': 2,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
{
|
|
'device': 'tmp119-temperature',
|
|
'port': 'I2C1',
|
|
'instance': 3,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
'matekh743-temperature-command': {
|
|
'board': 'MatekH743',
|
|
'vehicle': 'arduplane',
|
|
'build_target': 'plane',
|
|
'defaults': 'Tools/renode/tests/MatekH743-temperature-command.parm',
|
|
'extra_hwdef': 'Tools/renode/tests/MatekH743-temperature.hwdef',
|
|
'devices': (
|
|
{
|
|
'device': 'sht3x-temperature',
|
|
'port': 'I2C1',
|
|
'instance': 1,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
{
|
|
'device': 'tsys01-temperature',
|
|
'port': 'I2C1',
|
|
'instance': 2,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
{
|
|
'device': 'tsys03-temperature',
|
|
'port': 'I2C1',
|
|
'instance': 3,
|
|
'assertions': ('stable-values', 'stepped-values'),
|
|
},
|
|
),
|
|
},
|
|
}
|
|
|
|
|
|
# AP_SerialManager protocols describe more than physical peripherals. Keeping
|
|
# every enum name classified prevents a new protocol silently disappearing
|
|
# from the Renode coverage plan. "partial" means at least one device using
|
|
# that protocol is modelled, not that every backend is covered.
|
|
SERIAL_PROTOCOL_CLASSIFICATIONS = {
|
|
'None': ('disabled', 'not-applicable'),
|
|
'Console': ('internal', 'not-applicable'),
|
|
'MAVLink': ('link', 'supported'),
|
|
'MAVLink2': ('alias', 'not-applicable'),
|
|
'FrSky_D': ('output', 'supported'),
|
|
'FrSky_SPort': ('output', 'planned'),
|
|
'GPS': ('device', 'partial'),
|
|
'GPS2': ('alias', 'not-applicable'),
|
|
'AlexMos': ('device', 'planned'),
|
|
'Gimbal': ('device', 'planned'),
|
|
'Rangefinder': ('device', 'partial'),
|
|
'FrSky_SPort_Passthrough': ('output', 'planned'),
|
|
'Lidar360': ('device', 'planned'),
|
|
'Aerotenna_USD1': ('alias', 'planned'),
|
|
'Beacon': ('device', 'partial'),
|
|
'Volz': ('device', 'planned'),
|
|
'Sbus1': ('output', 'planned'),
|
|
'ESCTelemetry': ('device', 'planned'),
|
|
'Devo_Telem': ('output', 'supported'),
|
|
'OpticalFlow': ('device', 'partial'),
|
|
'Robotis': ('device', 'planned'),
|
|
'NMEAOutput': ('output', 'supported'),
|
|
'WindVane': ('device', 'planned'),
|
|
'SLCAN': ('link', 'planned'),
|
|
'RCIN': ('device', 'planned'),
|
|
'EFI': ('device', 'planned'),
|
|
'LTM_Telem': ('output', 'supported'),
|
|
'RunCam': ('device', 'planned'),
|
|
'Hott': ('output', 'planned'),
|
|
'Scripting': ('link', 'supported'),
|
|
'CRSF': ('device', 'planned'),
|
|
'Generator': ('device', 'planned'),
|
|
'Winch': ('device', 'planned'),
|
|
'MSP': ('device', 'planned'),
|
|
'DJI_FPV': ('output', 'planned'),
|
|
'AirSpeed': ('device', 'planned'),
|
|
'ADSB': ('device', 'planned'),
|
|
'AHRS': ('device', 'planned'),
|
|
'SmartAudio': ('device', 'planned'),
|
|
'FETtecOneWire': ('device', 'planned'),
|
|
'Torqeedo': ('device', 'planned'),
|
|
'AIS': ('device', 'partial'),
|
|
'CoDevESC': ('device', 'planned'),
|
|
'MSP_DisplayPort': ('output', 'planned'),
|
|
'MAVLinkHL': ('link', 'planned'),
|
|
'Tramp': ('device', 'planned'),
|
|
'DDS_XRCE': ('link', 'planned'),
|
|
'IMUOUT': ('output', 'planned'),
|
|
'PPP': ('link', 'planned'),
|
|
'IBUS_Telem': ('output', 'planned'),
|
|
'IOMCU': ('internal', 'partial'),
|
|
}
|
|
|
|
|
|
# These are probe family names actually used with I2C in ChibiOS hwdefs. A
|
|
# modelled entry means a Renode class exists; production-driver and dynamic
|
|
# tests are tracked independently as the matrix is built out.
|
|
I2C_HWDEF_CLASSIFICATIONS = {
|
|
'barometer': {
|
|
'AUAV': 'modelled',
|
|
'BMP085': 'modelled',
|
|
'BMP280': 'modelled',
|
|
'BMP388': 'modelled',
|
|
'BMP581': 'modelled',
|
|
'DPS280': 'modelled',
|
|
'DPS310': 'modelled',
|
|
'ICM20789': 'modelled',
|
|
'ICP101XX': 'modelled',
|
|
'ICP201XX': 'modelled',
|
|
'LPS2XH': 'modelled',
|
|
'MS5611': 'modelled',
|
|
'SPL06': 'modelled',
|
|
},
|
|
'compass': {
|
|
'AK09916': 'modelled',
|
|
'AK8963': 'modelled',
|
|
'BMM150': 'modelled',
|
|
'BMM350': 'modelled',
|
|
'HMC5843': 'modelled',
|
|
'IIS2MDC': 'modelled',
|
|
'IST8308': 'modelled',
|
|
'IST8310': 'modelled',
|
|
'LIS2MDL': 'modelled',
|
|
'LIS3MDL': 'modelled',
|
|
'MMC3416': 'modelled',
|
|
'QMC5883L': 'modelled',
|
|
'QMC5883P': 'modelled',
|
|
'RM3100': 'modelled',
|
|
},
|
|
'imu': {
|
|
'BMI088': 'modelled',
|
|
'Invensense': 'modelled',
|
|
},
|
|
}
|
|
|
|
|
|
# Direct I2C users found by driver_inventory.py. This separates concrete
|
|
# peripherals from frontends, reusable bases and bus-access services. Header-
|
|
# only backends and backends receiving a generic AP_HAL::Device are added to
|
|
# the device-family manifest independently.
|
|
I2C_SOURCE_CLASSIFICATIONS = {
|
|
'AP_ADC/AP_ADC_ADS1115.cpp': 'device',
|
|
'AP_Airspeed/AP_Airspeed.cpp': 'frontend',
|
|
'AP_Airspeed/AP_Airspeed_ASP5033.cpp': 'device',
|
|
'AP_Airspeed/AP_Airspeed_AUAV.cpp': 'device',
|
|
'AP_Airspeed/AP_Airspeed_DLVR.cpp': 'device',
|
|
'AP_Airspeed/AP_Airspeed_MS4525.cpp': 'device',
|
|
'AP_Airspeed/AP_Airspeed_MS5525.cpp': 'device',
|
|
'AP_Airspeed/AP_Airspeed_SDP3X.cpp': 'device',
|
|
'AP_Baro/AP_Baro.cpp': 'frontend',
|
|
'AP_Baro/AP_Baro_KellerLD.cpp': 'device',
|
|
'AP_BattMonitor/AP_BattMonitor_AD7091R5.cpp': 'device',
|
|
'AP_BattMonitor/AP_BattMonitor_INA2xx.cpp': 'device',
|
|
'AP_BattMonitor/AP_BattMonitor_INA3221.cpp': 'device',
|
|
'AP_BattMonitor/AP_BattMonitor_LTC2946.cpp': 'device',
|
|
'AP_BattMonitor/AP_BattMonitor_SMBus.cpp': 'base',
|
|
'AP_BattMonitor/AP_BattMonitor_TIBQ76952.cpp': 'device',
|
|
'AP_Compass/AP_Compass.cpp': 'frontend',
|
|
'AP_DAC/AP_DAC_MCP40D1x.cpp': 'device',
|
|
'AP_DAC/AP_DAC_TIx3204.cpp': 'device',
|
|
'AP_IRLock/AP_IRLock_I2C.cpp': 'device',
|
|
'AP_InertialSensor/AP_InertialSensor.cpp': 'frontend',
|
|
'AP_InertialSensor/AP_InertialSensor_BMI160.cpp': 'device',
|
|
'AP_InertialSensor/AP_InertialSensor_BMI270.cpp': 'device',
|
|
'AP_InertialSensor/AP_InertialSensor_Invensense.cpp': 'device',
|
|
'AP_InertialSensor/AP_InertialSensor_Invensensev2.cpp': 'device',
|
|
'AP_InertialSensor/AP_InertialSensor_L3G4200D.cpp': 'device',
|
|
'AP_Notify/Display.cpp': 'frontend',
|
|
'AP_Notify/IS31FL3195.cpp': 'device',
|
|
'AP_Notify/LP5562.cpp': 'device',
|
|
'AP_Notify/NCP5623.cpp': 'device',
|
|
'AP_Notify/OreoLED_I2C.cpp': 'device',
|
|
'AP_Notify/PCA9685LED_I2C.cpp': 'device',
|
|
'AP_Notify/ToshibaLED_I2C.cpp': 'device',
|
|
'AP_OpticalFlow/AP_OpticalFlow_PX4Flow.cpp': 'device',
|
|
'AP_RangeFinder/AP_RangeFinder.cpp': 'frontend',
|
|
'AP_RangeFinder/AP_RangeFinder_Benewake_TFS20L.cpp': 'device',
|
|
'AP_RangeFinder/AP_RangeFinder_LightWare_GRF_I2C.cpp': 'device',
|
|
'AP_RangeFinder/AP_RangeFinder_PulsedLightLRF.cpp': 'device',
|
|
'AP_RangeFinder/AP_RangeFinder_TeraRangerI2C.cpp': 'device',
|
|
'AP_RangeFinder/AP_RangeFinder_VL53L0X.cpp': 'device',
|
|
'AP_RangeFinder/AP_RangeFinder_VL53L1X.cpp': 'device',
|
|
'AP_Scripting/lua_bindings.cpp': 'service',
|
|
'AP_TemperatureSensor/AP_TemperatureSensor_MCP9600.cpp': 'device',
|
|
'AP_TemperatureSensor/AP_TemperatureSensor_MLX90614.cpp': 'device',
|
|
'AP_TemperatureSensor/AP_TemperatureSensor_SHT3x.cpp': 'device',
|
|
'AP_TemperatureSensor/AP_TemperatureSensor_TMP119.cpp': 'device',
|
|
'AP_TemperatureSensor/AP_TemperatureSensor_TSYS01.cpp': 'device',
|
|
'AP_TemperatureSensor/AP_TemperatureSensor_TSYS03.cpp': 'device',
|
|
'GCS_MAVLink/GCS_DeviceOp.cpp': 'service',
|
|
}
|
|
|
|
|
|
# Direct-I2C device sources which cannot be selected in a ChibiOS vehicle
|
|
# firmware. Keep these explicit so every concrete scanner candidate is either
|
|
# represented by a catalog attachment or has a reviewed application boundary.
|
|
I2C_SOURCE_BOUNDARIES = {
|
|
'AP_ADC/AP_ADC_ADS1115.cpp': (
|
|
'linux-hal',
|
|
'instantiated only by AP_HAL_Linux AnalogIn_ADS1115'),
|
|
'AP_DAC/AP_DAC_MCP40D1x.cpp': (
|
|
'ap-periph',
|
|
'AP_DAC is instantiated and updated only by Tools/AP_Periph'),
|
|
'AP_DAC/AP_DAC_TIx3204.cpp': (
|
|
'ap-periph',
|
|
'AP_DAC is instantiated and updated only by Tools/AP_Periph'),
|
|
'AP_InertialSensor/AP_InertialSensor_L3G4200D.cpp': (
|
|
'linux-example',
|
|
'backend is Linux-guarded example code with no frontend probe call'),
|
|
}
|
|
|
|
|
|
# Direct UART users found by driver_inventory.py. The role separates concrete
|
|
# peripherals from framework code while the family groups sources which can be
|
|
# covered by one configurable emulator model or protocol implementation.
|
|
SERIAL_SOURCE_CLASSIFICATIONS = {
|
|
'AP_ADSB/AP_ADSB_Sagetech.cpp': ('device', 'adsb-sagetech'),
|
|
'AP_ADSB/AP_ADSB_Sagetech_MXS.cpp': ('device', 'adsb-sagetech'),
|
|
'AP_ADSB/AP_ADSB_uAvionix_UCP.cpp': ('device', 'adsb-uavionix'),
|
|
'AP_AIS/AP_AIS.cpp': ('device', 'ais'),
|
|
'AP_Airspeed/AP_Airspeed_NMEA.cpp': ('device', 'nmea-airspeed'),
|
|
'AP_BLHeli/AP_BLHeli.cpp': ('device', 'esc-telemetry'),
|
|
'AP_Beacon/AP_Beacon_Backend.cpp': ('base', 'beacon'),
|
|
'AP_BoardConfig/board_drivers.cpp': ('service', 'uart-configuration'),
|
|
'AP_CANManager/AP_SLCANIface.cpp': ('link', 'slcan'),
|
|
'AP_Camera/AP_Camera.cpp': ('frontend', 'camera'),
|
|
'AP_Camera/AP_RunCam.cpp': ('device', 'runcam'),
|
|
'AP_Common/NMEA.cpp': ('base', 'nmea'),
|
|
'AP_DDS/AP_DDS_Serial.cpp': ('link', 'dds-xrce'),
|
|
'AP_Devo_Telem/AP_Devo_Telem.cpp': ('output', 'devo-telemetry'),
|
|
'AP_EFI/AP_EFI_Serial_Hirth.cpp': ('device', 'efi-hirth'),
|
|
'AP_EFI/AP_EFI_Serial_Lutan.cpp': ('device', 'efi-lutan'),
|
|
'AP_EFI/AP_EFI_Serial_MS.cpp': ('device', 'efi-megasquirt'),
|
|
'AP_ExternalAHRS/AP_ExternalAHRS_Aeron_plx.cpp': (
|
|
'device', 'ahrs-aeron'),
|
|
'AP_ExternalAHRS/AP_ExternalAHRS_GSOF.cpp': ('device', 'ahrs-gsof'),
|
|
'AP_ExternalAHRS/AP_ExternalAHRS_InertialLabs.cpp': (
|
|
'device', 'ahrs-inertiallabs'),
|
|
'AP_ExternalAHRS/AP_ExternalAHRS_MicroStrain5.cpp': (
|
|
'device', 'ahrs-microstrain'),
|
|
'AP_ExternalAHRS/AP_ExternalAHRS_MicroStrain7.cpp': (
|
|
'device', 'ahrs-microstrain'),
|
|
'AP_ExternalAHRS/AP_ExternalAHRS_SBG.cpp': ('device', 'ahrs-sbg'),
|
|
'AP_ExternalAHRS/AP_ExternalAHRS_SensAItion.cpp': (
|
|
'device', 'ahrs-sensaition'),
|
|
'AP_ExternalAHRS/AP_ExternalAHRS_VectorNav.cpp': (
|
|
'device', 'ahrs-vectornav'),
|
|
'AP_FETtecOneWire/AP_FETtecOneWire.cpp': ('device', 'esc-fettec'),
|
|
'AP_Frsky_Telem/AP_Frsky_Backend.cpp': ('base', 'frsky-telemetry'),
|
|
'AP_Frsky_Telem/AP_Frsky_Telem.cpp': ('output', 'frsky-telemetry'),
|
|
'AP_GPS/AP_GPS.cpp': ('frontend', 'gnss'),
|
|
'AP_GPS/AP_GPS_GSOF.cpp': ('device', 'gnss-gsof'),
|
|
'AP_GPS/AP_GPS_NOVA.cpp': ('device', 'gnss-nova'),
|
|
'AP_GPS/AP_GPS_SBF.cpp': ('device', 'gnss-sbf'),
|
|
'AP_GPS/AP_GPS_SBP.cpp': ('device', 'gnss-sbp'),
|
|
'AP_GPS/AP_GPS_SBP2.cpp': ('device', 'gnss-sbp'),
|
|
'AP_GPS/AP_GPS_SIRF.cpp': ('device', 'gnss-sirf'),
|
|
'AP_GPS/AP_GPS_UBLOX.cpp': ('device', 'gnss-ublox'),
|
|
'AP_GPS/GPS_Backend.cpp': ('base', 'gnss'),
|
|
'AP_Generator/AP_Generator_IE_FuelCell.cpp': (
|
|
'device', 'generator-fuelcell'),
|
|
'AP_Generator/AP_Generator_RichenPower.cpp': (
|
|
'device', 'generator-richenpower'),
|
|
'AP_Hott_Telem/AP_Hott_Telem.cpp': ('output', 'hott-telemetry'),
|
|
'AP_IBus_Telem/AP_IBus_Telem.cpp': ('output', 'ibus-telemetry'),
|
|
'AP_IOMCU/AP_IOMCU.cpp': ('internal', 'iomcu'),
|
|
'AP_InertialSensor/AP_InertialSensor.cpp': ('output', 'imu-output'),
|
|
'AP_LTM_Telem/AP_LTM_Telem.cpp': ('output', 'ltm-telemetry'),
|
|
'AP_MSP/AP_MSP.cpp': ('frontend', 'msp'),
|
|
'AP_MSP/AP_MSP_Telem_Backend.cpp': ('base', 'msp-telemetry'),
|
|
'AP_MSP/AP_MSP_Telem_DJI.cpp': ('output', 'msp-dji'),
|
|
'AP_Mount/AP_Mount_Alexmos.cpp': ('device', 'gimbal-alexmos'),
|
|
'AP_Mount/AP_Mount_Backend_Serial.cpp': ('base', 'gimbal-serial'),
|
|
'AP_NMEA_Output/AP_NMEA_Output.cpp': ('output', 'nmea-output'),
|
|
'AP_Networking/AP_Networking_PPP.cpp': ('link', 'ppp'),
|
|
'AP_Networking/AP_Networking_port.cpp': ('base', 'network-port'),
|
|
'AP_OpticalFlow/AP_OpticalFlow_CXOF.cpp': ('device', 'flow-cxof'),
|
|
'AP_OpticalFlow/AP_OpticalFlow_UPFLOW.cpp': ('device', 'flow-upflow'),
|
|
'AP_Proximity/AP_Proximity_Backend_Serial.cpp': (
|
|
'base', 'serial-proximity'),
|
|
'AP_RCProtocol/AP_RCProtocol.cpp': ('frontend', 'rc-input'),
|
|
'AP_RCProtocol/AP_RCProtocol_CRSF.cpp': ('device', 'rc-crsf'),
|
|
'AP_RCProtocol/AP_RCProtocol_FPort.cpp': ('device', 'rc-fport'),
|
|
'AP_RCProtocol/AP_RCProtocol_FPort2.cpp': ('device', 'rc-fport'),
|
|
'AP_RCProtocol/AP_RCProtocol_GHST.cpp': ('device', 'rc-ghst'),
|
|
'AP_RCProtocol/AP_RCProtocol_SRXL2.cpp': ('device', 'rc-srxl2'),
|
|
'AP_RCTelemetry/AP_CRSF_Telem.cpp': ('output', 'rc-crsf'),
|
|
'AP_RCTelemetry/AP_GHST_Telem.cpp': ('output', 'rc-ghst'),
|
|
'AP_RangeFinder/AP_RangeFinder_BLPing.cpp': (
|
|
'device', 'rangefinder-blping'),
|
|
'AP_RangeFinder/AP_RangeFinder_Backend_Serial.cpp': (
|
|
'base', 'serial-rangefinder'),
|
|
'AP_RobotisServo/AP_RobotisServo.cpp': ('device', 'servo-robotis'),
|
|
'AP_SBusOut/AP_SBusOut.cpp': ('output', 'sbus-output'),
|
|
'AP_Scripting/AP_Scripting_SerialAccess.cpp': ('service', 'scripting'),
|
|
'AP_Scripting/lua_bindings.cpp': ('service', 'scripting'),
|
|
'AP_SerialManager/AP_SerialManager.cpp': ('service', 'serial-manager'),
|
|
'AP_Torqeedo/AP_Torqeedo_TQBus.cpp': ('device', 'motor-torqeedo'),
|
|
'AP_VideoTX/AP_SmartAudio.cpp': ('device', 'vtx-smartaudio'),
|
|
'AP_VideoTX/AP_Tramp.cpp': ('device', 'vtx-tramp'),
|
|
'AP_Volz_Protocol/AP_Volz_Protocol.cpp': ('device', 'servo-volz'),
|
|
'AP_Winch/AP_Winch_Daiwa.cpp': ('device', 'winch-daiwa'),
|
|
'AP_WindVane/AP_WindVane_NMEA.cpp': ('device', 'nmea-wind'),
|
|
'GCS_MAVLink/GCS_Common.cpp': ('link', 'mavlink'),
|
|
'GCS_MAVLink/GCS_FTP.cpp': ('service', 'mavlink'),
|
|
'GCS_MAVLink/GCS_MAVLink.cpp': ('link', 'mavlink'),
|
|
'GCS_MAVLink/GCS_serial_control.cpp': ('service', 'serial-control'),
|
|
}
|
|
|
|
|
|
def resolve_parameter_recipe(device_id, port, instance=1):
|
|
"""Resolve a catalog recipe for a concrete hwdef-derived port."""
|
|
device = ATTACHABLE_DEVICES.get(device_id)
|
|
if device is None:
|
|
raise ValueError('unknown emulated device %s' % device_id)
|
|
if device['bus'] != port.get('bus'):
|
|
raise ValueError('%s cannot attach to %s' %
|
|
(device['name'], port.get('name', port.get('id'))))
|
|
if (not isinstance(instance, int) or isinstance(instance, bool) or
|
|
instance < 1):
|
|
raise ValueError('device instance must be a positive integer')
|
|
|
|
context = {
|
|
'instance': instance,
|
|
'i2c_index': port.get('index'),
|
|
'airspeed_prefix': 'ARSPD' if instance == 1 else 'ARSPD%u' % instance,
|
|
'battery_prefix': 'BATT' if instance == 1 else 'BATT%u' % instance,
|
|
}
|
|
if device['bus'] == 'uart':
|
|
match = re.fullmatch(r'SERIAL([0-9]+)', port.get('id', ''))
|
|
if match is None:
|
|
raise ValueError('UART port lacks a SERIAL index')
|
|
context['serial'] = int(match.group(1))
|
|
resolved = []
|
|
for name, value in device.get('parameters', ()):
|
|
try:
|
|
resolved_name = name.format(**context)
|
|
resolved_value = (value.format(**context)
|
|
if isinstance(value, str) else value)
|
|
except (KeyError, TypeError, ValueError) as error:
|
|
raise ValueError('%s has an invalid parameter recipe' % device_id) from error
|
|
resolved.append((resolved_name, resolved_value))
|
|
return tuple(resolved)
|