#On beaglebone, run: # include("LabConnections/src/LabConnections.jl") # using LabConnections.BeagleBone # run_server() using LabConnections.Computer stream = BeagleBoneStream(ip"192.168.7.2") led1 = SysLED(1) led2 = SysLED(2) led3 = SysLED(3) led4 = SysLED(4) # Send info to steam about which inputs/otputs to initialize # and adds a ref in motor and led to stream init_devices!(stream, led1, led2, led3, led4) ledon = true for i = 1:100 put!(led1, ledon) put!(led2, !ledon) put!(led3, ledon) put!(led4, !ledon) send(stream) #Sends all the outputs to the stream in one atomic call #read(stream) get(led1) get(led2) get(led3) #sleep(0.1) v1,v2,v3 = read(stream) #Sends request to read, reads all inputs for which get! was called v1 == !v2 == v3 == ledon ? nothing : println("ledon is $ledon, but read v1, v2, v3 = $v1, $v2, $v3") ledon = !ledon end for i = 1:40 send(led1, ledon) #sleep(0.03) v1 = read(led1) send(led2, ledon) #sleep(0.03) v2 = read(led2) send(led3, ledon) #sleep(0.03) v3 = read(led3) send(led4, ledon) #sleep(0.03) v4 = read(led4) v1 == v2 == v3 == v4 == ledon ? nothing : println("ledon is $ledon, but read v1, v2, v3, v4 = $v1, $v2, $v3, $v4") ledon = !ledon end put!(led1, false) put!(led2, false) put!(led3, false) put!(led4, false) send(stream) close(stream) #Tells BeagleBone to stop listening and close outputs