simulator.step( 0.05 ) millis = getMillis(); # Send the boat data if millis > lastSentBoatData + BOAT_UPDATE_MS: net.sendBoatData( simulatedBoat ) lastSentBoatData = millis # Send AIS data if millis > lastAISSent + AIS_UPDATE_MS: for i in range( 1, len(vessels) ): if vessels[i].id() < 100000000 and boatInVisualRange(vessels[0], vessels[i]): net.sendVisualContact( vessels[i] ) else: net.sendAISContact( vessels[i] ) lastAISSent = millis (head, gps, wind) = get_to_socket_value( simulatedBoat ) (x, y) = simulatedBoat.physicsModel().utmCoordinate() theta = simulatedBoat.physicsModel().heading() (delta_r, delta_s, phi, latitude, longitude) = get_graph_values( simulatedBoat ) threadLock.acquire() temp_data.set_value(x, y, theta, delta_s, delta_r, trueWind.direction(), latitude, longitude, simulatedBoat.speed()) threadLock.release() (asvLat, asvLon) = vessels[0].position() # Log marine traffic