[booster] Added support for Uhlenbrock Power 7/22/40/70

Dieser Commit ist enthalten in:
Reinder Feenstra 2026-01-16 19:46:36 +01:00
Ursprung a1ded854cc
Commit da46fea755
5 geänderte Dateien mit 194 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -2,7 +2,7 @@
* This file is part of Traintastic,
* see <https://github.com/traintastic/traintastic>.
*
* Copyright (C) 2025 Reinder Feenstra
* Copyright (C) 2025-2026 Reinder Feenstra
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@ -24,10 +24,18 @@
#include "dr5033boosterdriver.hpp"
#include "power4boosterdriver.hpp"
#include "power7boosterdriver.hpp"
#include "power22boosterdriver.hpp"
#include "power40boosterdriver.hpp"
#include "power70boosterdriver.hpp"
#define BOOSTER_DRIVERS \
BOOSTER_DRIVER(DR5033BoosterDriver) \
BOOSTER_DRIVER(Power4BoosterDriver)
BOOSTER_DRIVER(Power4BoosterDriver) \
BOOSTER_DRIVER(Power7BoosterDriver) \
BOOSTER_DRIVER(Power22BoosterDriver) \
BOOSTER_DRIVER(Power40BoosterDriver) \
BOOSTER_DRIVER(Power70BoosterDriver)
std::span<const std::string_view> BoosterDrivers::types()
{

Datei anzeigen

@ -0,0 +1,46 @@
/**
* This file is part of Traintastic,
* see <https://github.com/traintastic/traintastic>.
*
* Copyright (C) 2026 Reinder Feenstra
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef TRAINTASTIC_SERVER_HARDWARE_BOOSTER_DRIVERS_POWER22BOOSTERDRIVER_HPP
#define TRAINTASTIC_SERVER_HARDWARE_BOOSTER_DRIVERS_POWER22BOOSTERDRIVER_HPP
#include "loconetlncvboosterdriver.hpp"
class Power22BoosterDriver final : public LocoNetLNCVBoosterDriver
{
CLASS_ID("booster_driver.power22");
BOOSTER_DRIVER_CREATE(Power22BoosterDriver);
BOOSTER_DRIVER_NAME("Uhlenbrock Power 22");
public:
Power22BoosterDriver(Booster& booster)
: LocoNetLNCVBoosterDriver(booster, 6321)
{
}
SupportedStatusValues supportedStatusValues() const final
{
using enum SupportedStatusValues;
return (Load | Temperature);
}
};
#endif

Datei anzeigen

@ -0,0 +1,46 @@
/**
* This file is part of Traintastic,
* see <https://github.com/traintastic/traintastic>.
*
* Copyright (C) 2026 Reinder Feenstra
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef TRAINTASTIC_SERVER_HARDWARE_BOOSTER_DRIVERS_POWER40BOOSTERDRIVER_HPP
#define TRAINTASTIC_SERVER_HARDWARE_BOOSTER_DRIVERS_POWER40BOOSTERDRIVER_HPP
#include "loconetlncvboosterdriver.hpp"
class Power40BoosterDriver final : public LocoNetLNCVBoosterDriver
{
CLASS_ID("booster_driver.power40");
BOOSTER_DRIVER_CREATE(Power40BoosterDriver);
BOOSTER_DRIVER_NAME("Uhlenbrock Power 40");
public:
Power40BoosterDriver(Booster& booster)
: LocoNetLNCVBoosterDriver(booster, 6322)
{
}
SupportedStatusValues supportedStatusValues() const final
{
using enum SupportedStatusValues;
return (Load | Temperature);
}
};
#endif

Datei anzeigen

@ -0,0 +1,46 @@
/**
* This file is part of Traintastic,
* see <https://github.com/traintastic/traintastic>.
*
* Copyright (C) 2026 Reinder Feenstra
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef TRAINTASTIC_SERVER_HARDWARE_BOOSTER_DRIVERS_POWER70BOOSTERDRIVER_HPP
#define TRAINTASTIC_SERVER_HARDWARE_BOOSTER_DRIVERS_POWER70BOOSTERDRIVER_HPP
#include "loconetlncvboosterdriver.hpp"
class Power70BoosterDriver final : public LocoNetLNCVBoosterDriver
{
CLASS_ID("booster_driver.power70");
BOOSTER_DRIVER_CREATE(Power70BoosterDriver);
BOOSTER_DRIVER_NAME("Uhlenbrock Power 70");
public:
Power70BoosterDriver(Booster& booster)
: LocoNetLNCVBoosterDriver(booster, 6323)
{
}
SupportedStatusValues supportedStatusValues() const final
{
using enum SupportedStatusValues;
return (Load | Temperature);
}
};
#endif

Datei anzeigen

@ -0,0 +1,46 @@
/**
* This file is part of Traintastic,
* see <https://github.com/traintastic/traintastic>.
*
* Copyright (C) 2026 Reinder Feenstra
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef TRAINTASTIC_SERVER_HARDWARE_BOOSTER_DRIVERS_POWER7BOOSTERDRIVER_HPP
#define TRAINTASTIC_SERVER_HARDWARE_BOOSTER_DRIVERS_POWER7BOOSTERDRIVER_HPP
#include "loconetlncvboosterdriver.hpp"
class Power7BoosterDriver final : public LocoNetLNCVBoosterDriver
{
CLASS_ID("booster_driver.power7");
BOOSTER_DRIVER_CREATE(Power7BoosterDriver);
BOOSTER_DRIVER_NAME("Uhlenbrock Power 7");
public:
Power7BoosterDriver(Booster& booster)
: LocoNetLNCVBoosterDriver(booster, 6327)
{
}
SupportedStatusValues supportedStatusValues() const final
{
using enum SupportedStatusValues;
return (Load | Temperature);
}
};
#endif