2023-03-06 19:02:10 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (C) 2023 Thomas Basler and others
|
|
|
|
|
*/
|
|
|
|
|
#include "HMS_Abstract.h"
|
2023-04-06 22:18:05 +02:00
|
|
|
#include "Hoymiles.h"
|
|
|
|
|
#include "HoymilesRadio_CMT.h"
|
|
|
|
|
#include "commands/ChannelChangeCommand.h"
|
2023-03-06 19:02:10 +01:00
|
|
|
|
2023-12-12 00:21:14 +01:00
|
|
|
HMS_Abstract::HMS_Abstract(HoymilesRadio* radio, const uint64_t serial)
|
2023-04-06 22:18:05 +02:00
|
|
|
: HM_Abstract(radio, serial)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool HMS_Abstract::sendChangeChannelRequest()
|
|
|
|
|
{
|
2023-07-09 11:57:47 +02:00
|
|
|
if (!(getEnableCommands() || getEnablePolling())) {
|
2023-04-06 22:18:05 +02:00
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-02 22:41:53 +02:00
|
|
|
auto cmdChannel = _radio->prepareCommand<ChannelChangeCommand>();
|
2023-04-06 22:18:05 +02:00
|
|
|
cmdChannel->setChannel(HoymilesRadio_CMT::getChannelFromFrequency(Hoymiles.getRadioCmt()->getInverterTargetFrequency()));
|
|
|
|
|
cmdChannel->setTargetAddress(serial());
|
2023-08-02 22:41:53 +02:00
|
|
|
_radio->enqueCommand(cmdChannel);
|
2023-04-06 22:18:05 +02:00
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
};
|