Compare commits

...

5 Commits

Author SHA1 Message Date
Daniel Agar b4ac18e050 px4_platform_common: I2CBusIterator/SPIBusIterator return bus integer directly
- don't expose full px4_i2c_bus_t/px4_spi_bus_t
2022-10-09 15:05:51 -04:00
Daniel Agar ce609144b0 simulation/gz_bridge: fix implicit floating-point conversions 2022-10-09 14:11:19 -04:00
Daniel Agar 9010029e0d lib/drivers/device: Device.hpp fully init devid
- constructor use available setters
2022-10-09 13:49:39 -04:00
Daniel Agar f3964513c7 sensors: fix accel/gyro/mag calibration offset units 2022-10-09 13:02:38 -04:00
Daniel Agar ee4821ed0a commander: relax COM_ARM_MAG_ANG default to minimize false positives
- this check is mainly intended for catching blatant setup problems like a magnetometer that's mounted 90 or 180 degrees off
2022-10-09 12:41:06 -04:00
9 changed files with 26 additions and 26 deletions
+1 -1
View File
@@ -41,7 +41,7 @@
bool px4_i2c_bus_external(int bus)
{
for (int i = 0; i < I2C_BUS_MAX_BUS_ITEMS; ++i) {
if (px4_i2c_buses[i].bus == bus) {
if ((px4_i2c_buses[i].bus != -1) && (px4_i2c_buses[i].bus == bus)) {
return px4_i2c_buses[i].is_external;
}
}
+5 -5
View File
@@ -1,6 +1,6 @@
/****************************************************************************
*
* Copyright (C) 2020, 2021 PX4 Development Team. All rights reserved.
* Copyright (C) 2020-2022 PX4 Development Team. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -332,7 +332,7 @@ bool BusInstanceIterator::next()
} else if (busType() == BOARD_SPI_BUS) {
if (_spi_bus_iterator.next()) {
bus = _spi_bus_iterator.bus().bus;
bus = _spi_bus_iterator.bus();
}
#endif // CONFIG_SPI
@@ -340,7 +340,7 @@ bool BusInstanceIterator::next()
} else if (busType() == BOARD_I2C_BUS) {
if (_i2c_bus_iterator.next()) {
bus = _i2c_bus_iterator.bus().bus;
bus = _i2c_bus_iterator.bus();
}
#endif // CONFIG_I2C
@@ -448,14 +448,14 @@ int BusInstanceIterator::bus() const
#if defined(CONFIG_SPI)
if (busType() == BOARD_SPI_BUS) {
return _spi_bus_iterator.bus().bus;
return _spi_bus_iterator.bus();
}
#endif // CONFIG_SPI
#if defined(CONFIG_I2C)
if (busType() == BOARD_I2C_BUS) {
return _i2c_bus_iterator.bus().bus;
return _i2c_bus_iterator.bus();
}
#endif // CONFIG_I2C
@@ -80,7 +80,7 @@ public:
bool next();
const px4_i2c_bus_t &bus() const { return px4_i2c_buses[_index]; }
int bus() const { return px4_i2c_buses[_index].bus; }
int externalBusIndex() const { return _external_bus_counter; }
@@ -153,14 +153,14 @@ public:
bool next();
const px4_spi_bus_t &bus() const { return px4_spi_buses[_index]; }
int bus() const { return px4_spi_buses[_index].bus; }
spi_drdy_gpio_t DRDYGPIO() const { return px4_spi_buses[_index].devices[_bus_device_index].drdy_gpio; }
uint32_t devid() const { return px4_spi_buses[_index].devices[_bus_device_index].devid; }
int externalBusIndex() const { return _external_bus_counter; }
bool external() const { return px4_spi_bus_external(bus()); }
bool external() const { return px4_spi_bus_external(px4_spi_buses[_index]); }
int busDeviceIndex() const { return _bus_device_index; }
+1 -1
View File
@@ -139,7 +139,7 @@ int px4_platform_init()
I2CBusIterator i2c_bus_iterator {I2CBusIterator::FilterType::All};
while (i2c_bus_iterator.next()) {
i2c_master_s *i2c_dev = px4_i2cbus_initialize(i2c_bus_iterator.bus().bus);
i2c_master_s *i2c_dev = px4_i2cbus_initialize(i2c_bus_iterator.bus());
#if defined(CONFIG_I2C_RESET)
I2C_RESET(i2c_dev);
+4 -4
View File
@@ -1,6 +1,6 @@
/****************************************************************************
*
* Copyright (c) 2012-2017 PX4 Development Team. All rights reserved.
* Copyright (c) 2012-2022 PX4 Development Team. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -169,7 +169,7 @@ public:
union DeviceId {
struct DeviceStructure devid_s;
uint32_t devid;
uint32_t devid{0};
};
uint32_t get_device_id() const { return _device_id.devid; }
@@ -268,8 +268,8 @@ protected:
Device(uint8_t devtype, const char *name, DeviceBusType bus_type, uint8_t bus, uint8_t address) : _name(name)
{
set_device_type(devtype);
_device_id.devid_s.bus_type = bus_type;
_device_id.devid_s.bus = bus;
set_device_bus_type(bus_type);
set_device_bus(bus);
set_device_address(address);
}
+1 -1
View File
@@ -609,7 +609,7 @@ PARAM_DEFINE_FLOAT(COM_ARM_IMU_GYR, 0.25f);
* @min 3
* @max 180
*/
PARAM_DEFINE_INT32(COM_ARM_MAG_ANG, 45);
PARAM_DEFINE_INT32(COM_ARM_MAG_ANG, 60);
/**
* Enable mag strength preflight check
+9 -9
View File
@@ -96,7 +96,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: m/s^2
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -107,7 +107,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: m/s^2
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -118,7 +118,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: m/s^2
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -288,7 +288,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: rad/s
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -299,7 +299,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: rad/s
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -310,7 +310,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: rad/s
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -405,7 +405,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: gauss
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -416,7 +416,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: gauss
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -427,7 +427,7 @@ parameters:
category: System
type: float
default: 0.0
unit: m
unit: gauss
volatile: true
num_instances: *max_num_sensor_instances
instance_start: 0
@@ -80,14 +80,14 @@ int GZBridge::init()
if (!_model_pose.empty()) {
PX4_INFO("Requested Model Position: %s", _model_pose.c_str());
std::vector<float> model_pose_v;
std::vector<double> model_pose_v;
std::stringstream ss(_model_pose);
while (ss.good()) {
std::string substr;
std::getline(ss, substr, ',');
model_pose_v.push_back(std::stof(substr));
model_pose_v.push_back(std::stod(substr));
}
while (model_pose_v.size() < 6) {