Content of the page:
- Cluster warning script
- Cluster warning with flexibele search terms
- Cluster warning script for Thin Client (Wires-X)
- Toplight Arduino
- Compare an ADIF with a XLSX file
- Awards script PA-BOTA
- Convert an XLSx file to a DOCx file (per row a new doc-page with the row information at the top of the page)
- Count the number of PABOTA stations with a unique nunker number from a Hunter worksheet
https://github.com/PA3EFR?tab=repositories
Cluster warnings. Sound with CMD window.
-
- pip install playsound
import socket # Configuratie: pas deze waarden aan def play_alarm(): for frequency in frequencies: def main(): # Verstuur logincommando # Toon ontvangen data (optioneel)
#if re.search(r"\bSOTA\b", data): except KeyboardInterrupt: if __name__ == "__main__": |
Maybe you want to have a warning on specific words in the comments. In that case use this flexible Cluster Warning script where the script is asking for terms. Is provided with a space, all cluster texts will get through.
import socket |
Because the Thin Client uses its HRI-200 as audio control for the WIRES-X, this cluster warning system requires selecting the built-in loudspeaker. Which is known as device 15. You can have a list printed at the start of the program by removing a few #.
- pip install playsound
- pip install pyaudio
- pip install numpy
import socket # Configuratie: pas deze waarden aan import pyaudio # Initialiseer PyAudio # Lijst van apparaten # Specificeer apparaat-ID van ingebouwde luidsprekers
# Genereer een sinusgolf # Initialiseer PyAudio try: # Speel de toon af def main(): # Verstuur logincommando # Toon ontvangen data (optioneel)
except KeyboardInterrupt: if __name__ == "__main__": |
Voor het toplicht gebruiken we een Arduino. Hierbij de stappen van het instellen van deze Arduino naar een andere call.
- Installeer de Arduino IDE op je PC/laptop (dit is een applicatie om Arduino's te kunnen programmeren).
- Installeer Digispark (Default - 16.5 MHz) van https://raw.githubusercontent.com/digistump/arduino-boards-index/refs/heads/master/package_digistump_index.json (Preference verwijzing)
- Zet de schakelaar achterop de rotor klok in de middenstand en sluit alleen de USB-A to USB-A kabel aan de rotorklok aan. Steek deze nog niet in de laptop.
- Start Arduino en pas de Sketch.ino (zie hieronder) aan naar de nieuwe call (regel 134, bold highlight)
- Druk linksboven in de IDE op het pijltje naar rechts (upload) en wacht tot onderin het scherm de melding komt om "binnen 60 seconden het device aan te sluiten". Druk binnen deze 60 seconden de USB-A to USB-A kabel in de laptop.
- Na 4 seconden is de INO-file geupload en klaar voor gebruik. USB-A to USB-A kabel mag nu verwijderd worden.
- Check met de schakelaar naar beneden of de call juist wordt geseind.
//
struct t_mtab morsetab[] = { #define N_MORSE (sizeof(morsetab)/sizeof(morsetab[0])) #define SPEED (8) const int LEDpin = 3; // the pin that the LED is attached to
void void while (p != 1) { void void setup() { void loop() { |
Voor het vergelijken van een ADIF file (format: *.adi) en een Excel file (format: *.xslx) heb ik een script gemaakt om vast te stellen of een callsign en een bijbehorende datum in beide files voorkomt. Het resultaat wordt in de terminal weergegeven en als output file (format: *.xlsx) weggeschreven. Alle files moeten in dezelfde directory worden samengevoegd.
To compare an ADIF file (format: *.adi) and an Excel file (format: *.xslx) I created a script to determine whether a callsign and an associated date appear in both files. The result is displayed in the terminal and written as an output file (format: *.xlsx). All files must be merged into the same directory.
pip install tabulate
import pandas as pd |
Voor het POTA award van PA heb ik een tweetal scripts geschreven: een sorteer script om het laatste volgnummer te vinden en een toewijzing van tekst aan een JPG.
import pandas as pd |
from PIL import Image, ImageDraw, ImageFont |
Er kwam een behoefte om de informatie van een excel sheet aan te vullen met fotos en beschrijvingen. Het volgende script maakt van een XLSx werkblad per rij een DOCx pagina met aan het hoofd van die pagina, de informatie van de rij uit het XLSx bestand. Default input is PABOTA_lijst.xlsx, default output is Nieuwe_description.docx
There was a need to supplement the information in an Excel sheet with photos and descriptions. The following script turns an XLSx worksheet into a DOCx page per row, with the information of the row from the XLSx file at the head of that page. Default input is PABOTA_list.xlsx, default output is Nieuw_description.docx
from openpyxl import load_workbook |
With the given Lifetime Excel sheet from the WWBOTA organisation I needed to count the unique PABOTA numbers for the PABOTA award. The script reads column D to select rows with PABOTA and then check the unique bunker numbers.
import pandas as pd |