mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-30 04:06:33 +08:00
Code cleanup
This commit is contained in:
committed by
Julian Oes
parent
77cf081925
commit
11bbc8ae34
@@ -137,7 +137,7 @@ private:
|
|||||||
|
|
||||||
uORB::PublicationMulti<input_rc_s> _rc_pub{ORB_ID(input_rc)};
|
uORB::PublicationMulti<input_rc_s> _rc_pub{ORB_ID(input_rc)};
|
||||||
|
|
||||||
Battery _battery;
|
Battery _battery{1, nullptr};
|
||||||
|
|
||||||
int32_t _rssi;
|
int32_t _rssi;
|
||||||
battery_state _bstate;
|
battery_state _bstate;
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ private:
|
|||||||
orb_advert_t _battery_topic;
|
orb_advert_t _battery_topic;
|
||||||
orb_advert_t _esc_topic;
|
orb_advert_t _esc_topic;
|
||||||
|
|
||||||
Battery _battery;
|
Battery _battery{1, nullptr};
|
||||||
bool _armed;
|
bool _armed;
|
||||||
float _last_throttle;
|
float _last_throttle;
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
DfBebopBusWrapper::DfBebopBusWrapper() :
|
DfBebopBusWrapper::DfBebopBusWrapper() :
|
||||||
BebopBus(BEBOP_BUS_DEVICE_PATH), _battery_topic(nullptr), _esc_topic(nullptr), _battery(), _armed(false),
|
BebopBus(BEBOP_BUS_DEVICE_PATH), _battery_topic(nullptr), _esc_topic(nullptr), _battery(1, nullptr), _armed(false),
|
||||||
_last_throttle(0.0f),
|
_last_throttle(0.0f),
|
||||||
_battery_orb_class_instance(-1)
|
_battery_orb_class_instance(-1)
|
||||||
{}
|
{}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
int _publish(const struct ltc2946_sensor_data &data);
|
int _publish(const struct ltc2946_sensor_data &data);
|
||||||
|
|
||||||
Battery _battery{};
|
Battery _battery{1, nullptr};
|
||||||
|
|
||||||
int _actuator_ctrl_0_sub{-1};
|
int _actuator_ctrl_0_sub{-1};
|
||||||
int _vcontrol_mode_sub{-1};
|
int _vcontrol_mode_sub{-1};
|
||||||
|
|||||||
@@ -46,7 +46,9 @@
|
|||||||
VOXLPM::VOXLPM(const char *path, int bus, int address, VOXLPM_CH_TYPE ch_type) :
|
VOXLPM::VOXLPM(const char *path, int bus, int address, VOXLPM_CH_TYPE ch_type) :
|
||||||
I2C("voxlpm", path, bus, address, 400000),
|
I2C("voxlpm", path, bus, address, 400000),
|
||||||
ScheduledWorkItem(MODULE_NAME, px4::device_bus_to_wq(I2C::get_device_id())),
|
ScheduledWorkItem(MODULE_NAME, px4::device_bus_to_wq(I2C::get_device_id())),
|
||||||
_sample_perf(perf_alloc(PC_ELAPSED, MODULE_NAME": sample"))
|
ModuleParams(nullptr),
|
||||||
|
_sample_perf(perf_alloc(PC_ELAPSED, MODULE_NAME": sample")),
|
||||||
|
_battery(1, this)
|
||||||
{
|
{
|
||||||
_ch_type = ch_type;
|
_ch_type = ch_type;
|
||||||
|
|
||||||
@@ -129,6 +131,13 @@ VOXLPM::Run()
|
|||||||
int
|
int
|
||||||
VOXLPM::measure()
|
VOXLPM::measure()
|
||||||
{
|
{
|
||||||
|
parameter_update_s update;
|
||||||
|
|
||||||
|
if (_parameter_sub.update(&update)) {
|
||||||
|
updateParams();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
_voltage = 0.0f;
|
_voltage = 0.0f;
|
||||||
_amperage = 0.0f;
|
_amperage = 0.0f;
|
||||||
|
|
||||||
|
|||||||
@@ -68,8 +68,10 @@
|
|||||||
#include <battery/battery.h>
|
#include <battery/battery.h>
|
||||||
|
|
||||||
#include <uORB/PublicationMulti.hpp>
|
#include <uORB/PublicationMulti.hpp>
|
||||||
|
#include <uORB/Subscription.hpp>
|
||||||
#include <uORB/topics/battery_status.h>
|
#include <uORB/topics/battery_status.h>
|
||||||
#include <uORB/topics/power_monitor.h>
|
#include <uORB/topics/power_monitor.h>
|
||||||
|
#include <uORB/topics/parameter_update.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note that these are unshifted addresses.
|
* Note that these are unshifted addresses.
|
||||||
@@ -142,7 +144,7 @@ enum VOXLPM_CH_TYPE {
|
|||||||
VOXLPM_CH_TYPE_P5VDC
|
VOXLPM_CH_TYPE_P5VDC
|
||||||
};
|
};
|
||||||
|
|
||||||
class VOXLPM : public device::I2C, public px4::ScheduledWorkItem
|
class VOXLPM : public device::I2C, public px4::ScheduledWorkItem, public ModuleParams
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
VOXLPM(const char *path, int bus, int address, VOXLPM_CH_TYPE ch_type);
|
VOXLPM(const char *path, int bus, int address, VOXLPM_CH_TYPE ch_type);
|
||||||
@@ -161,6 +163,7 @@ private:
|
|||||||
perf_counter_t _sample_perf;
|
perf_counter_t _sample_perf;
|
||||||
|
|
||||||
uORB::PublicationMulti<power_monitor_s> _pm_pub_topic{ORB_ID(power_monitor)};
|
uORB::PublicationMulti<power_monitor_s> _pm_pub_topic{ORB_ID(power_monitor)};
|
||||||
|
uORB::Subscription _parameter_sub{ORB_ID(parameter_update)};
|
||||||
|
|
||||||
power_monitor_s _pm_status{};
|
power_monitor_s _pm_status{};
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
class Battery : public ModuleParams
|
class Battery : public ModuleParams
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Battery(int index = 1, ModuleParams *parent = nullptr);
|
Battery(int index, ModuleParams *parent);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reset all battery stats and report invalid/nothing.
|
* Reset all battery stats and report invalid/nothing.
|
||||||
@@ -200,19 +200,12 @@ protected:
|
|||||||
if (!firstcall) {
|
if (!firstcall) {
|
||||||
if ((float) fabs((float) *old_val - (float) previous_old_val) > FLT_EPSILON
|
if ((float) fabs((float) *old_val - (float) previous_old_val) > FLT_EPSILON
|
||||||
&& (float) fabs((float) *old_val - (float) *new_val) > FLT_EPSILON) {
|
&& (float) fabs((float) *old_val - (float) *new_val) > FLT_EPSILON) {
|
||||||
// TODO fix this error message. I was getting hardfaults while using this message, but they stopped
|
|
||||||
// after removing this message. I was unable to determine why I was getting them.
|
|
||||||
PX4_WARN("Detected change of deprecated parameter %s. Please use the new parameter %s instead. "
|
|
||||||
"The new value of the deprecated parameter will be copied to the new parameter.",
|
|
||||||
param_name(old_param), param_name(new_param));
|
|
||||||
param_set_no_notification(new_param, old_val);
|
param_set_no_notification(new_param, old_val);
|
||||||
param_get(new_param, new_val);
|
param_get(new_param, new_val);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
} else if ((float) fabs((float) *new_val - (float) previous_new_val) > FLT_EPSILON
|
} else if ((float) fabs((float) *new_val - (float) previous_new_val) > FLT_EPSILON
|
||||||
&& (float) fabs((float) *old_val - (float) *new_val) > FLT_EPSILON) {
|
&& (float) fabs((float) *old_val - (float) *new_val) > FLT_EPSILON) {
|
||||||
PX4_INFO("Copying new value for %s to deprecated parameter %s.",
|
|
||||||
param_name(new_param), param_name(old_param));
|
|
||||||
param_set_no_notification(old_param, new_val);
|
param_set_no_notification(old_param, new_val);
|
||||||
param_get(old_param, old_val);
|
param_get(old_param, old_val);
|
||||||
return true;
|
return true;
|
||||||
@@ -220,9 +213,6 @@ protected:
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
if ((float) fabs((float) *old_val - (float) *new_val) > FLT_EPSILON) {
|
if ((float) fabs((float) *old_val - (float) *new_val) > FLT_EPSILON) {
|
||||||
PX4_WARN("At boot, deprecated parameter %s is different from its replacement %s."
|
|
||||||
" The new value will be overwritten by the old one. This should happen only once.",
|
|
||||||
param_name(old_param), param_name(new_param));
|
|
||||||
param_set_no_notification(new_param, old_val);
|
param_set_no_notification(new_param, old_val);
|
||||||
param_get(new_param, new_val);
|
param_get(new_param, new_val);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -58,10 +58,6 @@ AnalogBattery::updateBatteryStatusRawADC(hrt_abstime timestamp, int32_t voltage_
|
|||||||
selected_source, priority, throttle_normalized, armed, _params.source == 0);
|
selected_source, priority, throttle_normalized, armed, _params.source == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether the ADC channel for the voltage of this battery is valid.
|
|
||||||
* Corresponds to BOARD_BRICK_VALID_LIST
|
|
||||||
*/
|
|
||||||
bool AnalogBattery::is_valid()
|
bool AnalogBattery::is_valid()
|
||||||
{
|
{
|
||||||
#ifdef BOARD_BRICK_VALID_LIST
|
#ifdef BOARD_BRICK_VALID_LIST
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
class AnalogBattery : public Battery
|
class AnalogBattery : public Battery
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
AnalogBattery(int index = 1, ModuleParams *parent = nullptr);
|
AnalogBattery(int index, ModuleParams *parent);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update current battery status message.
|
* Update current battery status message.
|
||||||
|
|||||||
@@ -238,10 +238,14 @@ private:
|
|||||||
hrt_abstime _last_sitl_timestamp{0};
|
hrt_abstime _last_sitl_timestamp{0};
|
||||||
hrt_abstime _last_battery_timestamp{0};
|
hrt_abstime _last_battery_timestamp{0};
|
||||||
|
|
||||||
class : public Battery
|
class SimulatorBattery : public Battery
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
SimulatorBattery() : Battery(1, nullptr) {}
|
||||||
|
|
||||||
virtual void updateParams() override
|
virtual void updateParams() override
|
||||||
{
|
{
|
||||||
|
Battery::updateParams();
|
||||||
_params.v_empty = 3.5f;
|
_params.v_empty = 3.5f;
|
||||||
_params.v_charged = 4.05f;
|
_params.v_charged = 4.05f;
|
||||||
_params.n_cells = 4;
|
_params.n_cells = 4;
|
||||||
|
|||||||
Reference in New Issue
Block a user