Added version message to Scout

fix-v0.2
Tom Wilson 6 years ago
parent 4c6bdbba7d
commit d0322f182a

@ -38,21 +38,25 @@ class MsgName(Enum):
PWM2 = "pwm2" PWM2 = "pwm2"
OUT1 = "out1" OUT1 = "out1"
OUT2 = "out2" OUT2 = "out2"
VERSION = "version"
LOG = "log" LOG = "log"
MEASUREMENT = "meas" MEASUREMENT = "meas"
def __str__(self): def __str__(self):
return str(self.value) return str(self.value)
logmsgs = ["LE_NONE - Empty log", logmsgs = ["LE_NONE - Empty log",
"LE_POWERUP - Scout startup", "LE_POWERUP - Scout startup",
"LE_PI_BOOT_TIMEOUT - Tried to turn on Pi but did not recieve succesful boot signal", "LE_PI_BOOT_TIMEOUT - Tried to turn on Pi but did not recieve succesful boot signal",
"LE_PI_ON - Pi has booted", "LE_PI_ON - Pi has booted",
"LE_LOW_VOLT_START_SHUTDOWN - Initiated Pi shutdown due to low supply voltage", "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_SIGNAL_START_SHUTDOWN - Pi started to shut itself down",
"LE_PI_SHUTDOWN_TIMEOUT - Pi did not signal successful shutdown, so killed power", "LE_PI_SHUTDOWN_TIMEOUT - Pi did not signal successful shutdown, so killed power",
"LE_MAIN5V_DISABLE - Main Pi power turned off", "LE_MAIN5V_DISABLE - Main Pi power turned off",
"LE_VOLT_GOOD_MAIN5V_ENABLE - Turned Pi power on after voltage raised enough", "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_ALARM_MAIN5V_ENABLE - Turned Pi power on after wakeup alarm was hit"]
class ScoutPlugin(shepherd.plugin.Plugin): class ScoutPlugin(shepherd.plugin.Plugin):
@staticmethod @staticmethod
@ -84,6 +88,12 @@ class ScoutPlugin(shepherd.plugin.Plugin):
self.interface.register_function(self.test) 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): def get_batv(self):
rqst = self.msg_handler.send_request(MsgName.BATV.value) rqst = self.msg_handler.send_request(MsgName.BATV.value)
if rqst.wait_for_response(): if rqst.wait_for_response():
@ -103,13 +113,15 @@ class ScoutPlugin(shepherd.plugin.Plugin):
return None return None
def set_pwm1(self, enabled, pulse_length): 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(): if cmd.wait_for_response():
return cmd.response.arguments[0] return cmd.response.arguments[0]
return None return None
def set_pwm2(self, enabled, pulse_length): 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(): if cmd.wait_for_response():
return cmd.response.arguments[0] return cmd.response.arguments[0]
return None return None
@ -141,13 +153,13 @@ class ScoutPlugin(shepherd.plugin.Plugin):
def get_logs(self): def get_logs(self):
rqst = self.msg_handler.send_request(MsgName.LOG) rqst = self.msg_handler.send_request(MsgName.LOG)
if rqst.wait_for_response(): if rqst.wait_for_response():
return rqst.response.multipart_args return rqst.response.multipart_args
return None return None
def get_measurements(self): def get_measurements(self):
rqst = self.msg_handler.send_request(MsgName.MEASUREMENT) rqst = self.msg_handler.send_request(MsgName.MEASUREMENT)
if rqst.wait_for_response(): if rqst.wait_for_response():
return rqst.response.multipart_args return rqst.response.multipart_args
return None return None
def test_logs(self): def test_logs(self):

Loading…
Cancel
Save