|
|
|
|
@ -38,11 +38,14 @@ 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",
|
|
|
|
|
@ -54,6 +57,7 @@ logmsgs = ["LE_NONE - Empty log",
|
|
|
|
|
"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
|
|
|
|
|
def define_config(confdef):
|
|
|
|
|
@ -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
|
|
|
|
|
|