aboutsummaryrefslogtreecommitdiff
path: root/utils.py
blob: ffa671f40a9c1c611cebf111826ffb10235bc8cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# given the cmdline arg, turns the byte sequencies into a list of frequencies, and vice versa

# 1875 1924 +24, -25, range/2, 1, flipping new info 2 sending or not


def make_frequencies_map(start_freq, freq_step, byte_per_transmit, is_sender=True):
    freq_list = [None] * (byte_per_transmit + 3)
    sender_range = freq_step // 2 
    plus_minus = sender_range // (byte_per_transmit + 3)
    
    for i in range(byte_per_transmit + 3):
        freq_list[i] = start_freq + i * plus_minus
        if not is_sender:
            freq_list[i] += sender_range

    return freq_list


def frequencies_to_bytes(frequencies, start_freq, freq_step, byte_per_transmit, is_sender=True):
    freq_list = make_frequencies_map(start_freq, freq_step, byte_per_transmit, is_sender)
    byte_list = [None] * len(frequencies)

    sender_range = freq_step // 2 
    plus_minus = sender_range // (byte_per_transmit + 3)

    for i in range(len(frequencies)):
        byte_list[i] = 0
        if frequencies[i] <= freq_list[i] < frequencies[i] + plus_minus - 1: byte_list[i] = 1

    return byte_list