Pi Power Request Observer
This is a PiToPico observer that exists for test purposes: it’s purpose is to allow an IBus message to toggle the Meanwell Power Supply on and off.
In practise, no computer would ever send a message to forcefully pull the power plug on itself, it’s more for an additional development laptop plugged into the IBus network, using the Pico Comms Debug Window to send this message.
Code
The source code for this observer is pretty straightforward.
void PiPowerRequestObserver::onNewPiToPicoPacket(messages::PiToPicoMessage message) {
if (message.messageType == messages::PiToPicoMessage::MessageType::PicoPowerRequestOff) {
logger->d(getTag(), "Got a pi powerOff request.");
powerSwitchManager->setPower(false);
}
if (message.messageType == messages::PiToPicoMessage::MessageType::PicoPowerRequestOn) {
logger->d(getTag(), "Got a pi powerOn request");
powerSwitchManager->setPower(true);
}
}