예제 #1
0
from receiver import Receiver
from Queue import Queue

recorded_queue = Queue()
payload_queue = Queue()

# ANALYSIS thread
fs = 44100
sync_frequency = 8000.0  # setup frequencies
carrier_frequencies = [7000 + 100 * i for i in range(0, 8)]

rc = Receiver(recorded_queue, fs, sync_frequency, carrier_frequencies)
rc.payload_stream(payload_queue)

# RECORDING thread
while True:
    samples = device.record()
    recorded_queue.put(samples)

# OUTPUT thread
data = []
while True:
    byte = payload_queue.get(
        True)  # blocking call to pop a byte from the queue
    if byte == False:  # end of data
        print "decoded data: {0}".format(payload)
        break
    else:
        data.append(byte)