Apply clang-format

This commit is contained in:
Sebastian Muszynski 2021-08-29 09:01:00 +02:00
parent 007c4c2487
commit 1c1faf9db3
3 changed files with 412 additions and 139 deletions

137
.clang-format Normal file
View File

@ -0,0 +1,137 @@
Language: Cpp
AccessModifierOffset: -1
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: DontAlign
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: "^ IWYU pragma:"
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: true
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^<ext/.*\.h>'
Priority: 2
- Regex: '^<.*\.h>'
Priority: 1
- Regex: "^<.*"
Priority: 2
- Regex: ".*"
Priority: 3
IncludeIsMainRegex: "([-_](test|unittest))?$"
IndentCaseLabels: true
IndentPPDirectives: None
IndentWidth: 2
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ""
MacroBlockEnd: ""
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 2000
PointerAlignment: Right
RawStringFormats:
- Language: Cpp
Delimiters:
- cc
- CC
- cpp
- Cpp
- CPP
- "c++"
- "C++"
CanonicalDelimiter: ""
BasedOnStyle: google
- Language: TextProto
Delimiters:
- pb
- PB
- proto
- PROTO
EnclosingFunctions:
- EqualsProto
- EquivToProto
- PARSE_PARTIAL_TEXT_PROTO
- PARSE_TEST_PROTO
- PARSE_TEXT_PROTO
- ParseTextOrDie
- ParseTextProtoOrDie
CanonicalDelimiter: ""
BasedOnStyle: google
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: false
SpaceAfterCStyleCast: true
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Auto
TabWidth: 2
UseTab: Never

View File

@ -73,141 +73,259 @@ void VictronComponent::loop() {
}
}
static const __FlashStringHelper* charger_status_text(int value) {
static const __FlashStringHelper *charger_status_text(int value) {
switch (value) {
case 0: return F("Off");
case 2: return F("Fault");
case 3: return F("Bulk");
case 4: return F("Absorption");
case 5: return F("Float");
case 7: return F("Equalize (manual)");
case 245: return F("Starting-up");
case 247: return F("Auto equalize / Recondition");
case 252: return F("External control");
default: return F("Unknown");
case 0:
return F("Off");
case 2:
return F("Fault");
case 3:
return F("Bulk");
case 4:
return F("Absorption");
case 5:
return F("Float");
case 7:
return F("Equalize (manual)");
case 245:
return F("Starting-up");
case 247:
return F("Auto equalize / Recondition");
case 252:
return F("External control");
default:
return F("Unknown");
}
}
static const __FlashStringHelper* error_code_text(int value) {
static const __FlashStringHelper *error_code_text(int value) {
switch (value) {
case 0: return F("No error");
case 2: return F("Battery voltage too high");
case 17: return F("Charger temperature too high");
case 18: return F("Charger over current");
case 19: return F("Charger current reversed");
case 20: return F("Bulk time limit exceeded");
case 21: return F("Current sensor issue");
case 26: return F("Terminals overheated");
case 28: return F("Converter issue");
case 33: return F("Input voltage too high (solar panel)");
case 34: return F("Input current too high (solar panel)");
case 38: return F("Input shutdown (excessive battery voltage)");
case 39: return F("Input shutdown (due to current flow during off mode)");
case 65: return F("Lost communication with one of devices");
case 66: return F("Synchronised charging device configuration issue");
case 67: return F("BMS connection lost");
case 68: return F("Network misconfigured");
case 116: return F("Factory calibration data lost");
case 117: return F("Invalid/incompatible firmware");
case 119: return F("User settings invalid");
default: return F("Unknown");
case 0:
return F("No error");
case 2:
return F("Battery voltage too high");
case 17:
return F("Charger temperature too high");
case 18:
return F("Charger over current");
case 19:
return F("Charger current reversed");
case 20:
return F("Bulk time limit exceeded");
case 21:
return F("Current sensor issue");
case 26:
return F("Terminals overheated");
case 28:
return F("Converter issue");
case 33:
return F("Input voltage too high (solar panel)");
case 34:
return F("Input current too high (solar panel)");
case 38:
return F("Input shutdown (excessive battery voltage)");
case 39:
return F("Input shutdown (due to current flow during off mode)");
case 65:
return F("Lost communication with one of devices");
case 66:
return F("Synchronised charging device configuration issue");
case 67:
return F("BMS connection lost");
case 68:
return F("Network misconfigured");
case 116:
return F("Factory calibration data lost");
case 117:
return F("Invalid/incompatible firmware");
case 119:
return F("User settings invalid");
default:
return F("Unknown");
}
}
static const std::string tracker_op_text(int value) {
switch (value) {
case 0: return "Off";
case 1: return "Limited";
case 2: return "Active";
default: return "Unknown";
case 0:
return "Off";
case 1:
return "Limited";
case 2:
return "Active";
default:
return "Unknown";
}
}
static const __FlashStringHelper* pid_text(int value) {
static const __FlashStringHelper *pid_text(int value) {
switch (value) {
case 0x203: return F("BMV-700");
case 0x204: return F("BMV-702");
case 0x205: return F("BMV-700H");
case 0xA389: return F("SmartShunt");
case 0xA381: return F("BMV-712 Smart");
case 0xA04C: return F("BlueSolar MPPT 75/10");
case 0x300: return F("BlueSolar MPPT 70/15");
case 0xA042: return F("BlueSolar MPPT 75/15");
case 0xA043: return F("BlueSolar MPPT 100/15");
case 0xA044: return F("BlueSolar MPPT 100/30 rev1");
case 0xA04A: return F("BlueSolar MPPT 100/30 rev2");
case 0xA041: return F("BlueSolar MPPT 150/35 rev1");
case 0xA04B: return F("BlueSolar MPPT 150/35 rev2");
case 0xA04D: return F("BlueSolar MPPT 150/45");
case 0xA040: return F("BlueSolar MPPT 75/50");
case 0xA045: return F("BlueSolar MPPT 100/50 rev1");
case 0xA049: return F("BlueSolar MPPT 100/50 rev2");
case 0xA04E: return F("BlueSolar MPPT 150/60");
case 0xA046: return F("BlueSolar MPPT 150/70");
case 0xA04F: return F("BlueSolar MPPT 150/85");
case 0xA047: return F("BlueSolar MPPT 150/100");
case 0xA050: return F("SmartSolar MPPT 250/100");
case 0xA051: return F("SmartSolar MPPT 150/100");
case 0xA052: return F("SmartSolar MPPT 150/85");
case 0xA053: return F("SmartSolar MPPT 75/15");
case 0xA054: return F("SmartSolar MPPT 75/10");
case 0xA055: return F("SmartSolar MPPT 100/15");
case 0xA056: return F("SmartSolar MPPT 100/30");
case 0xA057: return F("SmartSolar MPPT 100/50");
case 0xA058: return F("SmartSolar MPPT 150/35");
case 0xA059: return F("SmartSolar MPPT 150/100 rev2");
case 0xA05A: return F("SmartSolar MPPT 150/85 rev2");
case 0xA05B: return F("SmartSolar MPPT 250/70");
case 0xA05C: return F("SmartSolar MPPT 250/85");
case 0xA05D: return F("SmartSolar MPPT 250/60");
case 0xA05E: return F("SmartSolar MPPT 250/45");
case 0xA05F: return F("SmartSolar MPPT 100/20");
case 0xA060: return F("SmartSolar MPPT 100/20 48V");
case 0xA061: return F("SmartSolar MPPT 150/45");
case 0xA062: return F("SmartSolar MPPT 150/60");
case 0xA063: return F("SmartSolar MPPT 150/70");
case 0xA064: return F("SmartSolar MPPT 250/85 rev2");
case 0xA065: return F("SmartSolar MPPT 250/100 rev2");
case 0xA201: return F("Phoenix Inverter 12V 250VA 230V");
case 0xA202: return F("Phoenix Inverter 24V 250VA 230V");
case 0xA204: return F("Phoenix Inverter 48V 250VA 230V");
case 0xA211: return F("Phoenix Inverter 12V 375VA 230V");
case 0xA212: return F("Phoenix Inverter 24V 375VA 230V");
case 0xA214: return F("Phoenix Inverter 48V 375VA 230V");
case 0xA221: return F("Phoenix Inverter 12V 500VA 230V");
case 0xA222: return F("Phoenix Inverter 24V 500VA 230V");
case 0xA224: return F("Phoenix Inverter 48V 500VA 230V");
case 0xA231: return F("Phoenix Inverter 12V 250VA 230V");
case 0xA232: return F("Phoenix Inverter 24V 250VA 230V");
case 0xA234: return F("Phoenix Inverter 48V 250VA 230V");
case 0xA239: return F("Phoenix Inverter 12V 250VA 120V");
case 0xA23A: return F("Phoenix Inverter 24V 250VA 120V");
case 0xA23C: return F("Phoenix Inverter 48V 250VA 120V");
case 0xA241: return F("Phoenix Inverter 12V 375VA 230V");
case 0xA242: return F("Phoenix Inverter 24V 375VA 230V");
case 0xA244: return F("Phoenix Inverter 48V 375VA 230V");
case 0xA249: return F("Phoenix Inverter 12V 375VA 120V");
case 0xA24A: return F("Phoenix Inverter 24V 375VA 120V");
case 0xA24C: return F("Phoenix Inverter 48V 375VA 120V");
case 0xA251: return F("Phoenix Inverter 12V 500VA 230V");
case 0xA252: return F("Phoenix Inverter 24V 500VA 230V");
case 0xA254: return F("Phoenix Inverter 48V 500VA 230V");
case 0xA259: return F("Phoenix Inverter 12V 500VA 120V");
case 0xA25A: return F("Phoenix Inverter 24V 500VA 120V");
case 0xA25C: return F("Phoenix Inverter 48V 500VA 120V");
case 0xA261: return F("Phoenix Inverter 12V 800VA 230V");
case 0xA262: return F("Phoenix Inverter 24V 800VA 230V");
case 0xA264: return F("Phoenix Inverter 48V 800VA 230V");
case 0xA269: return F("Phoenix Inverter 12V 800VA 120V");
case 0xA26A: return F("Phoenix Inverter 24V 800VA 120V");
case 0xA26C: return F("Phoenix Inverter 48V 800VA 120V");
case 0xA271: return F("Phoenix Inverter 12V 1200VA 230V");
case 0xA272: return F("Phoenix Inverter 24V 1200VA 230V");
case 0xA274: return F("Phoenix Inverter 48V 1200VA 230V");
case 0xA279: return F("Phoenix Inverter 12V 1200VA 120V");
case 0xA27A: return F("Phoenix Inverter 24V 1200VA 120V");
case 0xA27C: return F("Phoenix Inverter 48V 1200VA 120V");
default: return nullptr;
case 0x203:
return F("BMV-700");
case 0x204:
return F("BMV-702");
case 0x205:
return F("BMV-700H");
case 0xA389:
return F("SmartShunt");
case 0xA381:
return F("BMV-712 Smart");
case 0xA04C:
return F("BlueSolar MPPT 75/10");
case 0x300:
return F("BlueSolar MPPT 70/15");
case 0xA042:
return F("BlueSolar MPPT 75/15");
case 0xA043:
return F("BlueSolar MPPT 100/15");
case 0xA044:
return F("BlueSolar MPPT 100/30 rev1");
case 0xA04A:
return F("BlueSolar MPPT 100/30 rev2");
case 0xA041:
return F("BlueSolar MPPT 150/35 rev1");
case 0xA04B:
return F("BlueSolar MPPT 150/35 rev2");
case 0xA04D:
return F("BlueSolar MPPT 150/45");
case 0xA040:
return F("BlueSolar MPPT 75/50");
case 0xA045:
return F("BlueSolar MPPT 100/50 rev1");
case 0xA049:
return F("BlueSolar MPPT 100/50 rev2");
case 0xA04E:
return F("BlueSolar MPPT 150/60");
case 0xA046:
return F("BlueSolar MPPT 150/70");
case 0xA04F:
return F("BlueSolar MPPT 150/85");
case 0xA047:
return F("BlueSolar MPPT 150/100");
case 0xA050:
return F("SmartSolar MPPT 250/100");
case 0xA051:
return F("SmartSolar MPPT 150/100");
case 0xA052:
return F("SmartSolar MPPT 150/85");
case 0xA053:
return F("SmartSolar MPPT 75/15");
case 0xA054:
return F("SmartSolar MPPT 75/10");
case 0xA055:
return F("SmartSolar MPPT 100/15");
case 0xA056:
return F("SmartSolar MPPT 100/30");
case 0xA057:
return F("SmartSolar MPPT 100/50");
case 0xA058:
return F("SmartSolar MPPT 150/35");
case 0xA059:
return F("SmartSolar MPPT 150/100 rev2");
case 0xA05A:
return F("SmartSolar MPPT 150/85 rev2");
case 0xA05B:
return F("SmartSolar MPPT 250/70");
case 0xA05C:
return F("SmartSolar MPPT 250/85");
case 0xA05D:
return F("SmartSolar MPPT 250/60");
case 0xA05E:
return F("SmartSolar MPPT 250/45");
case 0xA05F:
return F("SmartSolar MPPT 100/20");
case 0xA060:
return F("SmartSolar MPPT 100/20 48V");
case 0xA061:
return F("SmartSolar MPPT 150/45");
case 0xA062:
return F("SmartSolar MPPT 150/60");
case 0xA063:
return F("SmartSolar MPPT 150/70");
case 0xA064:
return F("SmartSolar MPPT 250/85 rev2");
case 0xA065:
return F("SmartSolar MPPT 250/100 rev2");
case 0xA201:
return F("Phoenix Inverter 12V 250VA 230V");
case 0xA202:
return F("Phoenix Inverter 24V 250VA 230V");
case 0xA204:
return F("Phoenix Inverter 48V 250VA 230V");
case 0xA211:
return F("Phoenix Inverter 12V 375VA 230V");
case 0xA212:
return F("Phoenix Inverter 24V 375VA 230V");
case 0xA214:
return F("Phoenix Inverter 48V 375VA 230V");
case 0xA221:
return F("Phoenix Inverter 12V 500VA 230V");
case 0xA222:
return F("Phoenix Inverter 24V 500VA 230V");
case 0xA224:
return F("Phoenix Inverter 48V 500VA 230V");
case 0xA231:
return F("Phoenix Inverter 12V 250VA 230V");
case 0xA232:
return F("Phoenix Inverter 24V 250VA 230V");
case 0xA234:
return F("Phoenix Inverter 48V 250VA 230V");
case 0xA239:
return F("Phoenix Inverter 12V 250VA 120V");
case 0xA23A:
return F("Phoenix Inverter 24V 250VA 120V");
case 0xA23C:
return F("Phoenix Inverter 48V 250VA 120V");
case 0xA241:
return F("Phoenix Inverter 12V 375VA 230V");
case 0xA242:
return F("Phoenix Inverter 24V 375VA 230V");
case 0xA244:
return F("Phoenix Inverter 48V 375VA 230V");
case 0xA249:
return F("Phoenix Inverter 12V 375VA 120V");
case 0xA24A:
return F("Phoenix Inverter 24V 375VA 120V");
case 0xA24C:
return F("Phoenix Inverter 48V 375VA 120V");
case 0xA251:
return F("Phoenix Inverter 12V 500VA 230V");
case 0xA252:
return F("Phoenix Inverter 24V 500VA 230V");
case 0xA254:
return F("Phoenix Inverter 48V 500VA 230V");
case 0xA259:
return F("Phoenix Inverter 12V 500VA 120V");
case 0xA25A:
return F("Phoenix Inverter 24V 500VA 120V");
case 0xA25C:
return F("Phoenix Inverter 48V 500VA 120V");
case 0xA261:
return F("Phoenix Inverter 12V 800VA 230V");
case 0xA262:
return F("Phoenix Inverter 24V 800VA 230V");
case 0xA264:
return F("Phoenix Inverter 48V 800VA 230V");
case 0xA269:
return F("Phoenix Inverter 12V 800VA 120V");
case 0xA26A:
return F("Phoenix Inverter 24V 800VA 120V");
case 0xA26C:
return F("Phoenix Inverter 48V 800VA 120V");
case 0xA271:
return F("Phoenix Inverter 12V 1200VA 230V");
case 0xA272:
return F("Phoenix Inverter 24V 1200VA 230V");
case 0xA274:
return F("Phoenix Inverter 48V 1200VA 230V");
case 0xA279:
return F("Phoenix Inverter 12V 1200VA 120V");
case 0xA27A:
return F("Phoenix Inverter 24V 1200VA 120V");
case 0xA27C:
return F("Phoenix Inverter 48V 1200VA 120V");
default:
return nullptr;
}
}
@ -250,10 +368,10 @@ void VictronComponent::handle_value_() {
battery_voltage_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
} else if (label_ == "I") {
if (battery_current_sensor_ != nullptr)
battery_current_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
battery_current_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
} else if (label_ == "IL") {
if (load_current_sensor_ != nullptr)
load_current_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
load_current_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
} else if (label_ == "HSDS") {
if (day_number_sensor_ != nullptr)
day_number_sensor_->publish_state(atoi(value_.c_str()));
@ -279,19 +397,19 @@ void VictronComponent::handle_value_() {
if ((fw_version_sensor_ != nullptr) && !fw_version_sensor_->has_state())
fw_version_sensor_->publish_state(value_.insert(value_.size() - 2, "."));
} else if (label_ == "PID") {
//value = atoi(value_.c_str());
// value = atoi(value_.c_str());
//ESP_LOGD(TAG, "received PID: '%s'", value_.c_str());
// ESP_LOGD(TAG, "received PID: '%s'", value_.c_str());
value = strtol(value_.c_str(), NULL, 0);
//ESP_LOGD(TAG, "received PID: '%04x'", value);
// ESP_LOGD(TAG, "received PID: '%04x'", value);
if ((pid_sensor_ != nullptr) && !pid_sensor_->has_state()) {
const __FlashStringHelper *flash = pid_text(value);
if (flash != nullptr) {
pid_sensor_->publish_state(flash_to_string(flash));
}// else {
// char s[30];
// snprintf(s, 30, "Unknown device (%04x)", value);
//pid_sensor_->publish_state(s);
} // else {
// char s[30];
// snprintf(s, 30, "Unknown device (%04x)", value);
// pid_sensor_->publish_state(s);
//}
}
}

View File

@ -10,23 +10,41 @@ namespace victron {
class VictronComponent : public uart::UARTDevice, public Component {
public:
void set_max_power_yesterday_sensor(sensor::Sensor *max_power_yesterday_sensor) { max_power_yesterday_sensor_ = max_power_yesterday_sensor; }
void set_max_power_today_sensor(sensor::Sensor *max_power_today_sensor) { max_power_today_sensor_ = max_power_today_sensor; }
void set_max_power_yesterday_sensor(sensor::Sensor *max_power_yesterday_sensor) {
max_power_yesterday_sensor_ = max_power_yesterday_sensor;
}
void set_max_power_today_sensor(sensor::Sensor *max_power_today_sensor) {
max_power_today_sensor_ = max_power_today_sensor;
}
void set_yield_total_sensor(sensor::Sensor *yield_total_sensor) { yield_total_sensor_ = yield_total_sensor; }
void set_yield_yesterday_sensor(sensor::Sensor *yield_yesterday_sensor) { yield_yesterday_sensor_ = yield_yesterday_sensor; }
void set_yield_yesterday_sensor(sensor::Sensor *yield_yesterday_sensor) {
yield_yesterday_sensor_ = yield_yesterday_sensor;
}
void set_yield_today_sensor(sensor::Sensor *yield_today_sensor) { yield_today_sensor_ = yield_today_sensor; }
void set_panel_voltage_sensor(sensor::Sensor *panel_voltage_sensor) { panel_voltage_sensor_ = panel_voltage_sensor; }
void set_panel_power_sensor(sensor::Sensor *panel_power_sensor) { panel_power_sensor_ = panel_power_sensor; }
void set_battery_voltage_sensor(sensor::Sensor *battery_voltage_sensor) { battery_voltage_sensor_ = battery_voltage_sensor; }
void set_battery_current_sensor(sensor::Sensor *battery_current_sensor) { battery_current_sensor_ = battery_current_sensor; }
void set_battery_voltage_sensor(sensor::Sensor *battery_voltage_sensor) {
battery_voltage_sensor_ = battery_voltage_sensor;
}
void set_battery_current_sensor(sensor::Sensor *battery_current_sensor) {
battery_current_sensor_ = battery_current_sensor;
}
void set_load_current_sensor(sensor::Sensor *load_current_sensor) { load_current_sensor_ = load_current_sensor; }
void set_day_number_sensor(sensor::Sensor *day_number_sensor) { day_number_sensor_ = day_number_sensor; }
void set_charger_status_sensor(sensor::Sensor *charger_status_sensor) { charger_status_sensor_ = charger_status_sensor; }
void set_charger_status_sensor(sensor::Sensor *charger_status_sensor) {
charger_status_sensor_ = charger_status_sensor;
}
void set_error_code_sensor(sensor::Sensor *error_code_sensor) { error_code_sensor_ = error_code_sensor; }
void set_tracker_operation_sensor(sensor::Sensor *tracker_operation_sensor) { tracker_operation_sensor_ = tracker_operation_sensor; }
void set_charger_text_sensor(text_sensor::TextSensor *charger_text_sensor) { charger_text_sensor_ = charger_text_sensor; }
void set_tracker_operation_sensor(sensor::Sensor *tracker_operation_sensor) {
tracker_operation_sensor_ = tracker_operation_sensor;
}
void set_charger_text_sensor(text_sensor::TextSensor *charger_text_sensor) {
charger_text_sensor_ = charger_text_sensor;
}
void set_error_text_sensor(text_sensor::TextSensor *error_text_sensor) { error_text_sensor_ = error_text_sensor; }
void set_tracker_text_sensor(text_sensor::TextSensor *tracker_text_sensor) { tracker_text_sensor_ = tracker_text_sensor; }
void set_tracker_text_sensor(text_sensor::TextSensor *tracker_text_sensor) {
tracker_text_sensor_ = tracker_text_sensor;
}
void set_fw_version_sensor(text_sensor::TextSensor *fw_version_sensor) { fw_version_sensor_ = fw_version_sensor; }
void set_pid_sensor(text_sensor::TextSensor *pid_sensor) { pid_sensor_ = pid_sensor; }