De vraag is ook wat je allemaal zou willen doen binnen SPD in een headless situatie....
- Replay lijkt me niet, dat vraagt om filenamen van de te replayen logs. Beter met scherm.
- files selecteren voor boatspecifics, polars, stw-correctie, deviatie: ook niet. Dat doe je vooraf, met scherm. Of je edit startupfiles.txt waar ze allemaal in staan en start dan blind op.
- Postprocessing ook niet: dat wil logfiles lezen en die moet je selecteren. Is bovendien een achteraf bewerking die je thuis zal doen. Maakt ook afbeeldingen op het scherm.
- Pre-processing (polar maken uit een meetbrief bij ORC) ook niet. Eenmalig vooraf.
Blijft over:
- het ontvangen van error- en info-meldingen. Daar ben ik aan bezig. Je kunt straks als target opgeven het scherm, de standaard-print-out, en nog meer targets die we nog even niet kennen. (momenteel 7 parameters daarvoor gereserveerd in SPD_showerror en SPD_showinfo)
- Soms wordt er een ja/nee vraag gesteld. (tk askquestion). Dat kan ook met een SPD_askquestion opgelost worden waarbij het antwoord wordt ingetikt o.i.d.
- het drukken op knoppen. Elke knop is een functie-aanroep in SPD. Daar zijn er 31 van. Hoeven niet allemaal headless: snellere/langzamere replay niet, bijvoorbeeld...
Het zijn allemaal functies die zonder parameters worden aangeroepen. Die kunnen vast op een andere manier worden aangeroepen dan met de knop-klik.
Tk/tcl zit er ook in (omheen, eigenlijk) om op te letten of er buiten de loop van SPD nog iets gebeurt (een knop!) . Dat gaat nu allemaal vanzelf, omdat heel SPD draait binnen de root.mainloop() van Tk.
Als het ware een stukje besturingssysteem om SPD heen om op de interrupts van de knoppen te letten.
Daar zit het lastige stuk.
Opdrachten om functies uit te voeren (knop) op een andere manier inserten in SPD zullen we iets voor moeten zoeken. Bijvoorbeeld binnen de loop van SPD steeds even kijken of er op een queue (in aparte thread) nog iets is neergezet waar wat mee moet.
Ik denk dat we een heel eind zijn als de showinfo en de showerror op een nette manier ook zonder scherm de gebruiker bereiken. Print, of via de webserver output. Dan zie je iig de info en de foutmeldingen.
Volgens mij zal de behoefte om input aan SPD te geven (knop) tijdens het varen minimaal tot nul zijn, als je vooraf goed alle parameters hebt ingesteld...
Aan de outputkant is m.i. al gerealiseerd dat de gebruiker dat helemaal zelf kan invullen.
Zowel met NMEA-records met eigen invulling als ook met de webserver. Daarkan iedereen mee doen wat hij wil (zoals je als geen ander weet

)
Het geheel uit elkaar trekken van SPD in een UI-deel en een rekendeel zie ik niet als mogelijk. Dat zit allemaal veel te geintegreerd in elkaar (tk als schil om SPD heen)
Andere manieren van output versturen (print, webserver) ben ik aan begonnen.
Andere manieren voor een deel van de input (sommige knoppen) is een overweging waard.
Als voorbeeldje:
hoe stel je je voor dat de knop IO&Files dan zal worden behandeld?
- die geeft eerst een overzicht van gebruikte files (polars, correcties)
- en vraagt dan of je een andere polar wil gaan gebruiken.
- zo ja: dan moet je een polarfile kiezen. Hoe gaat dat dan??? Nu krijg je een schermpje met alle beschikbare polars. Geheel vanzelf verzorgd door Tk askopenfilename() dat de functies van het OS daarvoor aanroept. Klik er een aan en klaar.