#!/bin/bash


# 2024-08-04 primera versién del generador de configuracione para el repetidor Loro


# Esto es para posible PIN (las contraseñas del repetidor, pero de momento no se usan
#PIN1=$(echo "$RANDOM$RANDOM * $RANDOM * $RANDOM + $RANDOM /3" bc  | cut -c 2-10)
#PIN2=$(echo "$RANDOM$RANDOM * $RANDOM * $RANDOM + $RANDOM /3" bc  | cut -c 2-10)
#PIN3=$(echo "$RANDOM$RANDOM * $RANDOM * $RANDOM + $RANDOM /3" bc  | cut -c 2-10)
#PIN4=$(echo "$RANDOM$RANDOM * $RANDOM * $RANDOM + $RANDOM /3" bc  | cut -c 2-10)

# Frecuencias PMR desactivadas porqué es complicado en los bibandas con baufeng/quansheng
# configurar el Offset con 5 digitos después de la coma. Y esto no depende de mi

#Freq="P1,446.00625
#P2,446.01875
#P3,446.03125
#P4,446.04375
#P5,446.05625
#P6,446.06875
#P7,446.08125
#P8,446.09375
#P9,446.10625
#P10,446.11875
#P11,446.13125
#P12,446.14375
#P13,446.15625
#P14,446.16875
#P15,446.18125
#P16,446.19375

Freq="1,433.075
2,433.100
3,433.125
4,433.150
5,433.175
6,433.200
7,433.225
8,433.250
9,433.275
10,433.300
11,433.325
12,433.350
13,433.375
14,433.400
15,433.425
16,433.450
17,433.475
18,433.500
19,433.525
20,433.550
21,433.575
22,433.600
23,433.625
24,433.650
25,433.675
26,433.700
27,433.725
28,433.750
29,433.775
30,433.800
31,433.825
32,433.850
33,433.875
34,433.900
35,433.925
36,433.950
37,433.975
38,434.000
39,434.025
40,434.050
41,434.075
42,434.100
43,434.125
44,434.150
45,434.175
46,434.200
47,434.225
48,434.250
49,434.275
50,434.300
51,434.325
52,434.350
53,434.375
54,434.400
55,434.425
56,434.450
57,434.475
58,434.500
59,434.525
60,434.550
61,434.575
62,434.600
63,434.625
64,434.650
65,434.675
66,434.700
67,434.725
68,434.750
69,434.775
"

# Subtonos solo CTCC porqué muchos PMR446 no tiene los digitales
CTSS="1^67,0Hz
2^71,9Hz
3^74,4Hz
4^77,0Hz
5^79,7Hz
6^82,5Hz
7^85,4Hz
8^88,5Hz
9^91,5Hz
10^94,8Hz
11^97,4Hz
12^100,0Hz
13^103,5Hz
14^107,2Hz
15^110,9Hz
16^114,8Hz
17^118,8Hz
18^123,0Hz
19^127,3Hz
20^131,8Hz
21^136,5Hz
22^141,3Hz
23^146,2Hz
24^151,4Hz
"

Ch_Freq() {
    Channel=$(echo $1 | cut -d ',' -f1)
    Frequence=$(echo $1 | cut -d ',' -f2)
}

Subtone() {
    Number=$(echo $1 | cut -d '^' -f1)
    SubFreq=$(echo $1 | cut -d '^' -f2)
}

F1=$(shuf -e -n1 $Freq)
F2=$(shuf -e -n1 $(echo $Freq | tr ' ' '\n' | grep -v "$F1"))
F3=$(shuf -e -n1 $(echo $Freq | tr ' ' '\n' | grep -v "$F1" | grep -v "$F2"))
Ch_Freq $F1
CTSS1=$(shuf -e -n1 $CTSS)
CTSS2=$(shuf -e -n1 $(echo $CTSS | tr ' ' '\n' | grep -v "$CTSS1"))
Subtone $CTSS1

echo "################################################
Frecuencias secreta para Sysop:
Frec.: $Frequence Mhz - Canal=$Channel
Subtono CTSS Secreto: $SubFreq - Número: $Number"

Ch_Freq $F2
Subtone $CTSS2
Offset1=$(echo $F2 | cut -d ',' -f2)
Offset2=$(echo $F3 | cut -d ',' -f2)
OffSet=$(echo "scale=3; $Offset1 - $Offset2" | bc -l | awk '{printf "%.3f\n", $0}' | tr -d '-')

if [[ $(bc <<< "$Offset1 < $Offset2") -eq 1 ]]; then
    SignoRepetidor="+"
    SignoClientes="-"
else
    SignoRepetidor="-"
    SignoClientes="+"
fi

echo "################################################
Frecuencias de trabajo Repetidor:
Frec. de recepción   = $Frequence Mhz - Canal: $Channel"
Ch_Freq $F3
echo "Frec. de transmisión = $Frequence Mhz - Canal: $Channel
Subtono CTSS de trabajo: $SubFreq - Número: $Number
OffSet TX = $SignoRepetidor $OffSet Mhz"

Ch_Freq $F3
echo "################################################
Frecuencias de trabajo clientes:
Frec. de recepción   = $Frequence Mhz - Canal: $Channel"
Ch_Freq $F2
echo "Frec. de transmión = $Frequence Mhz - Canal: $Channel
Subtono CTSS de trabajo: $SubFreq - Número: $Number
OffSet TX = $SignoClientes $OffSet Mhz"

Ch_Freq $F2
echo "################################################
Frecuencias de trabajo PMR/LPD:
Canal primario: $Channel
Subtono CTSS Número: $Number"
Ch_Freq $F3
echo "Canal secundario: $Channel

------------------------------------------------

"


