import threading import time class IMU: def __init__(self, num): self.val = num class ping: def __init__(self, num): self.val = num class mode: def __init__(self, num): self.val = num class jointAngles: def __init__(self, num): self.val = num class position: def __init__(self, num): self.val = num class velocity: def __init__(self, num): self.val = num class registry: def __init__(self): self.registry = {IMU : None, ping : None, mode : None, jointAngles : None, position : None, velocity : None} def addRegister(self, key, value, timestamp): temp = self.registry.get[key] self.registry[key] = temp.append([value, timestamp]) #[value, timestamp] def get(self, register): return self.registry.get(register) class flag: def __init__(self): self.flag = {'motorActuation' :None, 'mode change' : None, 'movement' : None, 'pathCoords' : None} def addFlag(self, key, value, priority, timestamp): #priority is going to be from range 1-5 temp = self.flag.get[key] self.flag[key] = temp.append([value, priority, timestamp]) #[value, priority, timestamp] def get(self, fl): return self.flag.get(fl) def gaitGen(): if flag[] def balance(): def telemetry(): def cv(): if flag['pathCoords'] != None: def gaitGen(): if flag['balanced'] != None: if flag['movement'] != None: def automatic(): cv() gaitGen() def manual(): telemetry() addFlag('motorActuation', False, time.time()) executor() def sendAuto(): telemetry() addFlag('movement', False, time.time()) executor() def executor(): def loop(): executor() class mode: def __init__(self, num): self.val = num class commands: def __init__(self, num): self.mode = mode(3) def changeMode(mode m): print() def shutDown():