Posts tonen met het label C. Alle posts tonen
Posts tonen met het label C. Alle posts tonen

maandag 25 september 2023

ADSN [ 125: Software verfijningen]

Poosje hier niet geweest en met reden.

Elk nieuwjaar beloof ik mezelf om mijn soft eens aan te pakken .

Let wel , het heeft altijd gewerkt maar er waren nog wat platte kantjes aan het wiel.

Zo kon ik met de server van  de RPI connecteren en alle commando's doorvoeren , maar als ik de client afsloot , kon ik niet meer herconnecteren of ik moest rebooten .

Internet afgezocht en iedereen heeft een antwoord " op papier" . je voelt zo aan dat er veel doorgecopieerd wordt  en zichzelf daar mee belachelijk maakt.

Ik heb het stukje soft van de server  apart genomen en testen gedaan met putty als client en hierdoor is het één en ander duidelijk geworden .

Na wat dieper onderzoek op het internet ( ja dan toch) kwam ik iets interessant tegen . Je moet niet uw socket sluiten maar voordien ook je filedescriptor én je moet ook aangeven aan je socket dat je het opnieuw wilt gebruiken (SO_REUSEADDR).

Dus opgelost en ik blij.

Tweede probleem.

Tijdens het aansturen van de rotor(en) moet ik met een lus werken omdat ik de sturing van de H-bridgen zelf doe. Ik gebruik geen ( latch)  relais , dus ik moet de b rotor blijven aansturen totdat de positie is bereikt.

Dat geeft consequenties : u kan ondertussen niets anders zien of doen.

Ik moet ( nou ja , ik wil) tijdens het aansturen ook de actuele posities terugsturen naar de client zodat er visueel laters iets te beleven valt.

Hiervoor moest ik eerst het programmeren van threads onder de knie krijgen . Dat is gelukt in de nodige mate.

Ik heb ook nog een stukje soft bijgeschreven dat dit pas elke graad gebeurt zodat er niet teveel overhead is.

We zijn al een héél stuk verder . Nu nog de client side visueel iets fabrieken .

Dit zal ws met Python en PyQT zijn . weeral leren geblazen.

zaterdag 10 oktober 2020

ADSN [ 21 : De software : deel 1]

Het heeft wat voeten in de aarde gehad maar uiteindelijk ben ik er in geslaagd om hier op de broodplank  een automatische kalibratie te simuleren .

In principe is het simpel , kijk waar ge staat met de schotel en rijdt tweemaal naar de kalibratiepunten , eenmaal voor elevatie (EL) en nogmaals voor azimuth( AZ).

Eénmaal de kalibratiepunten bereikt , preset de tellers en klaar is Kees ( in dit geval Luc).


Alles is geschreven in C op de raspberry pi . Géén C++ want hierover is nogal wat onduidelijkheid . Het is gewoon " platte"  C , ik werk dus niet met klassen.

Ik werk wel met de PIGPIO bibliotheek, zie pigpio

In de soft van de RPI is er ook een simpel , maar goed bruikbaar IDE aanwezig.

Geany is de naam.


Deze bevat naast de editor ook een mogelijk om te compileren en/of builden en direkt het programma te starten. Tevens kan men ook een terminal oproepen en heeft men in de linkerzijbalk een overzicht van alle variabelen , functie s, macro's enz..

Ik heb ooit in school C gehad , met wat "schooloefeningen" , maar ik heb toch serieus moeten bijstuderen om het weer onder de knie te krijgen . Op een gegeven moment kunt ge niet zonder pointers werken  en dat was toch weer een hindernis . gelukkig is alles terug goed gekomen . Ook met interrupts werken en de daarbijhorende callbacks was effe doorslikken .

Uiteindelijk heeft het mij veel geholpen om flowcharts aan te maken , dit geeft meer inzicht in de code.

 


 

 

Enfin , de auto-kalibratie werkt en nu wordt het uittesten in werkelijkheid . Ik moet dit nog steeds buiten doen , dus het mag stoppen met regenen .

De volgende stap is een sequentie schrijven om hem naar een parkeerplaats te brengen. Dit is de positie van de schotel waar ik dan gemakkelijk toegang heb om er aan te werken.