Example #1
0
    cs = stateMachine.currentState

    # Waits for RFID signal edge
    if (cs == "SignalWait"):
        input_v = GPIO.input(4)    

        signal = SignalFilter.step(input_v)
        
        signalEdge = SignalEdge.chk(signal)
        signalType = signalEdge['type']

        # Notify robot of RFID signal change
        if (signalEdge['value'] == 1):
            msg.printMsg("\n Edge detected, setting Reg500 to 1")
            client.write_register(500, 1)
            stateMachine.event("SignalRise")
            continue
    
    # Gets robot's current position data    
    elif (cs == "GetPosition"):
        dataReady = client.read_holding_registers(newDataReadyReg,1)
        msg.printMsg("\n Checking if data is ready: {}".format(dataReady))
       
        if (dataReady == None):
            msg.printMsg("dataready none")
            continue
        dataReady = dataReady.registers[0]

        readyEdge = ReadyEdge.chk(dataReady)['value']

        if (readyEdge):