bug fix
This commit is contained in:
parent
1d44d75a29
commit
9fedbec051
|
|
@ -23,12 +23,13 @@ def control_help():
|
||||||
print('Control Command Menu')
|
print('Control Command Menu')
|
||||||
print('help - this message')
|
print('help - this message')
|
||||||
print('home - move vacuum to dock location')
|
print('home - move vacuum to dock location')
|
||||||
|
print('start - automatically start one cleaning sesssion and get data')
|
||||||
print('move auto/pause/stop/home. - auto scanning movement (no data parsing)')
|
print('move auto/pause/stop/home. - auto scanning movement (no data parsing)')
|
||||||
print('move rotate speed time - move (-180, 180)deg at (-0.3,0.3)m/s for `time`ms')
|
print('move rotate speed time - move (-180, 180)deg at (-0.3,0.3)m/s for `time`ms')
|
||||||
print('fanspeed integer - set fan speed to be [1-99]')
|
print('fanspeed integer - set fan speed to be [1-99]')
|
||||||
print('goto x_coor y_coor - move to x,y location on map')
|
print('goto x_coor y_coor - move to x,y location on map')
|
||||||
print('trace on/off - manually start/stop collecting trace')
|
print('trace on/off - manually start/stop collecting trace')
|
||||||
print('download trace/map - download the trace or map on vacuum')
|
print('download <trace/map> - download the trace or map on vacuum, or all if not specified')
|
||||||
print('config <cmds> - configuration')
|
print('config <cmds> - configuration')
|
||||||
print('quit/exit - exit controller (Ctrl + D does the same)')
|
print('quit/exit - exit controller (Ctrl + D does the same)')
|
||||||
|
|
||||||
|
|
@ -260,6 +261,28 @@ class VacuumController():
|
||||||
print("Err: {}".format(e))
|
print("Err: {}".format(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
def _session_auto(self):
|
||||||
|
status = self.vacuum.status()
|
||||||
|
if status.battery < 50:
|
||||||
|
print("Battery less than 50%, please charge till above 50% to continue")
|
||||||
|
return False
|
||||||
|
self._control(["trace", "on"])
|
||||||
|
self._control(["move", "auto"])
|
||||||
|
self._control(["fanspeed", "1"]) # set to lowest fan speed
|
||||||
|
while 1:
|
||||||
|
status = self.vacuum.status()
|
||||||
|
if status.error_code > 0 or status.state_code == 12:
|
||||||
|
print("Err: {}".format(status.error))
|
||||||
|
break
|
||||||
|
if status.state_code == 6:
|
||||||
|
print("Returning home.. stopping..")
|
||||||
|
break
|
||||||
|
print(status)
|
||||||
|
time.sleep(1)
|
||||||
|
self._control(["trace", "off"])
|
||||||
|
self._control(["download"])
|
||||||
|
|
||||||
|
|
||||||
def _control(self, cmd):
|
def _control(self, cmd):
|
||||||
if cmd[0] == 'help':
|
if cmd[0] == 'help':
|
||||||
control_help()
|
control_help()
|
||||||
|
|
@ -273,24 +296,24 @@ class VacuumController():
|
||||||
return False
|
return False
|
||||||
if cmd[1] == 'on' or cmd[1] == 'start' or cmd[1] == 'enable':
|
if cmd[1] == 'on' or cmd[1] == 'start' or cmd[1] == 'enable':
|
||||||
print("Cleaning old data on device..")
|
print("Cleaning old data on device..")
|
||||||
if run_ssh_command(
|
run_ssh_command(
|
||||||
"rm {0}/*.ppm && rm {0}/*.csv".format(self.get_remote_folder())
|
"rm {0}/*.ppm && rm {0}/*.csv".format(self.get_remote_folder())
|
||||||
) is None:
|
)
|
||||||
return False
|
print("Enabling trace on the vacuum..")
|
||||||
print("Running script on vacuum..")
|
|
||||||
if run_ssh_command(
|
if run_ssh_command(
|
||||||
"nohup /usr/bin/python3 {0}/get_loc_est.py {0}/{1} > /dev/null 2>&1 &"
|
"nohup /usr/bin/python3 {0}/get_loc_est.py {0}/{1} > /dev/null 2>&1 &"
|
||||||
.format(self.get_remote_folder(), "tmp.csv")
|
.format(self.get_remote_folder(), "tmp.csv")
|
||||||
) is None:
|
) is None:
|
||||||
return False
|
return False
|
||||||
elif cmd[1] == 'off' or cmd[1] == 'stop' or cmd[1] == 'disable':
|
elif cmd[1] == 'off' or cmd[1] == 'stop' or cmd[1] == 'disable':
|
||||||
print("Stopping python3..")
|
print("Stopping trace collection on vacuum..")
|
||||||
if run_ssh_command("killall python3") is None:
|
if run_ssh_command("killall python3") is None:
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
print("Unknown command: {}".format(cmd))
|
print("Unknown command: {}".format(cmd))
|
||||||
return False
|
return False
|
||||||
elif cmd[0] == 'download':
|
elif cmd[0] == 'download':
|
||||||
|
print("Downloading..")
|
||||||
prefix = time.strftime("%Y%m%d_%H%M%S", time.localtime())
|
prefix = time.strftime("%Y%m%d_%H%M%S", time.localtime())
|
||||||
if len(cmd) == 1:
|
if len(cmd) == 1:
|
||||||
return (
|
return (
|
||||||
|
|
@ -379,6 +402,8 @@ class VacuumController():
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Err: please type into integer")
|
print("Err: please type into integer")
|
||||||
return False
|
return False
|
||||||
|
elif cmd[0] == 'start':
|
||||||
|
return self._session_auto()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue