Skip to content

Commit

Permalink
apc_modbus: Add target outlet group to load.* and shutdown.* commands
Browse files Browse the repository at this point in the history
Maybe this is needed, needs to be confirmed.

Signed-off-by: Axel Gembe <axel@gembe.net>
  • Loading branch information
EchterAgo committed Nov 24, 2023
1 parent 1594898 commit e52658c
Showing 1 changed file with 17 additions and 9 deletions.
26 changes: 17 additions & 9 deletions drivers/apc_modbus.c
Original file line number Diff line number Diff line change
Expand Up @@ -1248,15 +1248,23 @@ static apc_modbus_command_t apc_modbus_command_map[] = {
{ "calibrate.stop", APC_MODBUS_RUNTIMECALIBRATIONCOMMAND_BF_REG, 1, APC_MODBUS_RUNTIMECALIBRATIONCOMMAND_BF_ABORT },
{ "bypass.start", APC_MODBUS_UPSCOMMAND_BF_REG, 2, APC_MODBUS_UPSCOMMAND_BF_OUTPUT_INTO_BYPASS },
{ "bypass.stop", APC_MODBUS_UPSCOMMAND_BF_REG, 2, APC_MODBUS_UPSCOMMAND_BF_OUTPUT_OUT_OF_BYPASS },
{ "load.off", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_OFF },
{ "load.on", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_ON },
{ "load.off.delay", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_OFF | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "load.on.delay", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_ON | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_ON_DELAY },
{ "shutdown.return", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_SHUTDOWN | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "shutdown.stayoff", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_OFF | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "shutdown.reboot", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_REBOOT },
{ "shutdown.reboot.graceful", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_REBOOT | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "beeper.mute", APC_MODBUS_USERINTERFACECOMMAND_BF_REG, 1, APC_MODBUS_USERINTERFACECOMMAND_BF_MUTE_ALL_ACTIVE_AUDIBLE_ALARMS },
{ "load.off", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_OFF | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP },
{ "load.on", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_ON | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP },
{ "load.off.delay", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_OFF | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "load.on.delay", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_ON | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_ON_DELAY },
{ "shutdown.return", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_SHUTDOWN | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "shutdown.stayoff", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_OFF | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "shutdown.reboot", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_REBOOT | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP },
{ "shutdown.reboot.graceful", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_REBOOT | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "outlet.0.shutdown.return", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_SHUTDOWN | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP | APC_MODBUS_OUTLETCOMMAND_BF_MOD_USE_OFF_DELAY },
{ "outlet.0.load.off", APC_MODBUS_OUTLETCOMMAND_BF_REG, 2,
Expand Down Expand Up @@ -1456,7 +1464,7 @@ void upsdrv_updateinfo(void)

void upsdrv_shutdown(void)
{
modbus_write_register(modbus_ctx, APC_MODBUS_OUTLETCOMMAND_BF_REG, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_SHUTDOWN);
modbus_write_register(modbus_ctx, APC_MODBUS_OUTLETCOMMAND_BF_REG, APC_MODBUS_OUTLETCOMMAND_BF_CMD_OUTPUT_SHUTDOWN | APC_MODBUS_OUTLETCOMMAND_BF_TARGET_MAIN_OUTLET_GROUP);
}

void upsdrv_help(void)
Expand Down

0 comments on commit e52658c

Please sign in to comment.