#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Wed Dec 23 11:13:57 2020 @author: DJ2LS """ # Operator Defaults MYCALLSIGN = b'AA0AA' MYCALLSIGN_CRC8 = b'A' DXCALLSIGN = b'AA0AA' DXCALLSIGN_CRC8 = b'A' MYGRID = b'' DXGRID = b'' # --------------------------------- # Server Defaults HOST = "0.0.0.0" PORT = 3000 SOCKET_TIMEOUT = 3 # seconds # --------------------------------- # HAMLIB DEFAULTS # RIG_PTT_NONE # No PTT available # RIG_PTT_RIG # Legacy PTT # RIG_PTT_SERIAL_DTR # PTT control through serial DTR signal # RIG_PTT_SERIAL_RTS # PTT control through serial RTS signal # RIG_PTT_PARALLEL # PTT control through parallel port # RIG_PTT_RIG_MICDATA # Legacy PTT, supports RIG_PTT_ON_MIC/RIG_PTT_ON_DATA # RIG_PTT_CM108 # PTT control through CM108 GPIO pin HAMLIB_PTT_TYPE = 'RTS' PTT_STATE = False HAMLIB_DEVICE_ID = 0 HAMLIB_DEVICE_PORT = '/dev/ttyUSB0' # ------------------------- # FreeDV Defaults FREEDV_RECEIVE = True FREEDV_SIGNALLING_MODE = 14 FREEDV_DATA_BYTES_PER_FRAME = 0 FREEDV_DATA_PAYLOAD_PER_FRAME = 0 FREEDV_SIGNALLING_BYTES_PER_FRAME = 0 FREEDV_SIGNALLING_PAYLOAD_PER_FRAME = 0 BER = 0 SNR = 0 # --------------------------------- # Audio Defaults AUDIO_INPUT_DEVICE = 1 AUDIO_OUTPUT_DEVICE = 1 #TX_SAMPLE_STATE = None #RX_SAMPLE_STATE = None AUDIO_SAMPLE_RATE_RX = 48000 AUDIO_SAMPLE_RATE_TX = 48000 MODEM_SAMPLE_RATE = 8000 # 8000 AUDIO_FRAMES_PER_BUFFER = 8192 # 256 # 512 # 1024 #2048 --> nicht 880 # 128 gut, 256, 1024 16384 AUDIO_CHANNELS = 1 AUDIO_RMS = 0 # --------------------------------- # ARQ DEFAULTS TX_N_MAX_RETRIES = 3 TX_N_RETRIES = 0 ARQ_TX_N_FRAMES_PER_BURST = 0 ARQ_TX_N_BURSTS = 0 ARQ_PAYLOAD_PER_FRAME = 0 ARQ_RX_BURST_BUFFER = [] ARQ_RX_FRAME_BUFFER = [] ARQ_RX_FRAME_N_BURSTS = 0 # TX ARQ_TX_N_CURRENT_ARQ_FRAME = 0 ARQ_TX_N_TOTAL_ARQ_FRAMES = 0 ## # RX ARQ_N_ARQ_FRAMES_PER_DATA_FRAME = 0 # total number of arq frames per data frame ARQ_RX_N_CURRENT_ARQ_FRAME = 0 ## ARQ_N_RX_ARQ_FRAMES = 0 # total number of received frames ARQ_N_RX_FRAMES_PER_BURSTS = 0 # NUMBER OF FRAMES WE ARE WAITING FOR --> GOT DATA FROM RECEIVED FRAME ARQ_ACK_PAYLOAD_PER_FRAME = 0 # PAYLOAD per ACK frame ARQ_ACK_RECEIVED = False # set to 1 if ACK received ARQ_RX_ACK_TIMEOUT = False # set to 1 if timeut reached ARQ_RX_ACK_TIMEOUT_SECONDS = 7.0 # timeout for waiting for ACK frames ARQ_FRAME_ACK_RECEIVED = False # set to 1 if FRAME ACK received ARQ_RX_FRAME_TIMEOUT = False ARQ_RX_FRAME_TIMEOUT_SECONDS = 10.0 ARQ_RX_RPT_TIMEOUT = False ARQ_RX_RPT_TIMEOUT_SECONDS = 10.0 ARQ_RPT_RECEIVED = False # indicate if RPT frame has been received ARQ_RPT_FRAMES = [] # buffer for frames which are requested to repeat FRAME_CRC = b'' FRAME_BOF = b'\xAA\xAA' # here we define 2 bytes for the BOF FRAME_EOF = b'\xFF\xFF' # here we define 2 bytes for the EOF ARQ_FRAME_BOF_RECEIVED = False # status, if we received a BOF of a data frame ARQ_FRAME_EOF_RECEIVED = False # status, if we received a EOF of a data frame ARQ_N_SENT_FRAMES = 0 # counter for already sent frames # ARQ STATES: # IDLE # RECEIVING_DATA # SENDING_DATA # RECEIVING_SIGNALLING # SENDING_ACK # ACK_RECEIVED # DATA ARQ_STATE = 'IDLE' # RECEIVING_SIGNALLING # RECEIVING_DATA_10 # RECEIVING_DATA_11 # RECEIVING_DATA_12 CHANNEL_STATE = 'RECEIVING_SIGNALLING' # IDLE # BUSY TNC_STATE = 'IDLE' # MODE FOR SENDING AN RECEIVING DATA DURING ARQ SESSION ARQ_OPEN_DATA_CHANNEL_RETRIES = 3 ARQ_READY_FOR_DATA = False ARQ_DATA_CHANNEL_MODE = 0 ARQ_DATA_CHANNEL_LAST_RECEIVED = 0 # BIT RATE MESSUREMENT ARQ_START_OF_TRANSMISSION = 0 ARQ_START_OF_BURST = 0 #ARQ_END_OF_TRANSMISSION = 0 ARQ_BITS_PER_SECOND = 0 ARQ_BYTES_PER_MINUTE = 0 # ------- TX BUFFER TX_BUFFER_SIZE = 0 TX_BUFFER = [] # ------- RX BUFFER RX_BUFFER = [] RX_BUFFER_SIZE = 0 # ------- HEARD STATIOS BUFFER HEARD_STATIONS = []