From d0322f182a9d2f70451a1d2bf5b05ff501a905ae Mon Sep 17 00:00:00 2001 From: novirium Date: Fri, 20 Sep 2019 10:15:30 +0800 Subject: [PATCH] Added version message to Scout --- shepherd/plugins/scout/scout.py | 38 ++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/shepherd/plugins/scout/scout.py b/shepherd/plugins/scout/scout.py index 56d6c52..4adab3e 100644 --- a/shepherd/plugins/scout/scout.py +++ b/shepherd/plugins/scout/scout.py @@ -38,21 +38,25 @@ class MsgName(Enum): PWM2 = "pwm2" OUT1 = "out1" OUT2 = "out2" + VERSION = "version" LOG = "log" MEASUREMENT = "meas" + def __str__(self): return str(self.value) + logmsgs = ["LE_NONE - Empty log", - "LE_POWERUP - Scout startup", - "LE_PI_BOOT_TIMEOUT - Tried to turn on Pi but did not recieve succesful boot signal", - "LE_PI_ON - Pi has booted", - "LE_LOW_VOLT_START_SHUTDOWN - Initiated Pi shutdown due to low supply voltage", - "LE_PI_SIGNAL_START_SHUTDOWN - Pi started to shut itself down", - "LE_PI_SHUTDOWN_TIMEOUT - Pi did not signal successful shutdown, so killed power", - "LE_MAIN5V_DISABLE - Main Pi power turned off", - "LE_VOLT_GOOD_MAIN5V_ENABLE - Turned Pi power on after voltage raised enough", - "LE_ALARM_MAIN5V_ENABLE - Turned Pi power on after wakeup alarm was hit"] + "LE_POWERUP - Scout startup", + "LE_PI_BOOT_TIMEOUT - Tried to turn on Pi but did not recieve succesful boot signal", + "LE_PI_ON - Pi has booted", + "LE_LOW_VOLT_START_SHUTDOWN - Initiated Pi shutdown due to low supply voltage", + "LE_PI_SIGNAL_START_SHUTDOWN - Pi started to shut itself down", + "LE_PI_SHUTDOWN_TIMEOUT - Pi did not signal successful shutdown, so killed power", + "LE_MAIN5V_DISABLE - Main Pi power turned off", + "LE_VOLT_GOOD_MAIN5V_ENABLE - Turned Pi power on after voltage raised enough", + "LE_ALARM_MAIN5V_ENABLE - Turned Pi power on after wakeup alarm was hit"] + class ScoutPlugin(shepherd.plugin.Plugin): @staticmethod @@ -84,6 +88,12 @@ class ScoutPlugin(shepherd.plugin.Plugin): self.interface.register_function(self.test) + def get_version(self): + rqst = self.msg_handler.send_request(MsgName.VERSION.value) + if rqst.wait_for_response(): + return rqst.response.arguments[0:2] + return None + def get_batv(self): rqst = self.msg_handler.send_request(MsgName.BATV.value) if rqst.wait_for_response(): @@ -103,13 +113,15 @@ class ScoutPlugin(shepherd.plugin.Plugin): return None def set_pwm1(self, enabled, pulse_length): - cmd = self.msg_handler.send_command(MsgName.PWM1, [str(enabled).lower(), str(pulse_length)]) + cmd = self.msg_handler.send_command( + MsgName.PWM1, [str(enabled).lower(), str(pulse_length)]) if cmd.wait_for_response(): return cmd.response.arguments[0] return None def set_pwm2(self, enabled, pulse_length): - cmd = self.msg_handler.send_command(MsgName.PWM2, [str(enabled).lower(), str(pulse_length)]) + cmd = self.msg_handler.send_command( + MsgName.PWM2, [str(enabled).lower(), str(pulse_length)]) if cmd.wait_for_response(): return cmd.response.arguments[0] return None @@ -141,13 +153,13 @@ class ScoutPlugin(shepherd.plugin.Plugin): def get_logs(self): rqst = self.msg_handler.send_request(MsgName.LOG) if rqst.wait_for_response(): - return rqst.response.multipart_args + return rqst.response.multipart_args return None def get_measurements(self): rqst = self.msg_handler.send_request(MsgName.MEASUREMENT) if rqst.wait_for_response(): - return rqst.response.multipart_args + return rqst.response.multipart_args return None def test_logs(self):