Dit is een herwerkt blokschema van de linkerkant van het vorig schema.
In de rode kader ziet men de volgorde van opstarten van de verschillende bouwstenen .Dit is belangrijk omdat de pipe de mogelijkheid moet hebben om op zijn uitgang ( wat de ingang van de audiospeler is) de data te dumpen , anders gaat het mis. Dus aplay starten vóór sdrtst. !
Dus
Eerst rtltcp
dan Aplay
en pas dan sdrtst, met sdrcfg.txt
Korte uitleg welke bouwsteen wat doet:
rtl_tcp : Start de dongle op , verwijdert de kernel en neemt zelf de controle over.
Luister op tcp niveau naar inkomende berichten .
Dit gebeurt er als je weer afsluit met bv <CTRL> C ( ^ C op de foto))
De originele kernel wordt weer ingeladen .
Aplay :
Start de audiospeler met de juiste argumenten en krijgt via een omleiding ( redirection, piping ) de data binnen van de voorzien pipe , hier ook pipe genoemd maar dat kan elke geldige naam zijn.
Tenslotte sdrtst met sdrcfg.txt
sdrcfg.txt wordt meegenomen als argument en is online te veranderen !
U krijgt de instellingen te zien die zijn opgestuurd naar de rtl_tcp server .
parm1 enz...
Dit werkt dus als een client, want zie hoe rtl_tcp reageert hierop:
Het enige dat misschien nog uitleg behoeft is " allocating 15 zero-copy buffers."
Dit zijn inderdaad buffers die NIET onder bestuur van de CPU vallen maar rechtsreeks geschreven en gelezen worden voor tijdswinst.
Nu dat de server en client loopt zal ook de audiospeler in gang schieten want nu pas wordt de pipe gevuld met data.
De ######## + | 79% is de vumeter .
De underrun is normaal bij de opstart en geeft verder geen problemen.
Besluit :
Met deze config is bewezen dat het rx gedeelte ook werkt . Ik kan , in tegenstelling tot vroeger , ook het geluid laten horen .
Nu zouden we alles aan elkaar moeten koppelen om een volledig werkende weerballonontvanger/decoder te hebben .
Door te experimenteren heb ik geen tijd verloren , meer nog , ik begrijp nu beter de afzonderlijke blokken en zie dat deze ook bruikbaar zijn voor andere doeleinden waarvan ik er al één in mijn hoofd heb om uit te proberen .
De sdrtst is namelijk ook te gebruiken voor AM en SSB ontvangst .
Dit wordt mijn volgend experiment .
Nog een laatste opmerking .
Ik kon meerdere pipes niet wissen en kreeg zelfs gevulde pipes die bleven staan .
Per ongeluk heb ik gevonden dat met dit commando :
sudo rm -r *pipe*
toch alles gewist wordt .Waarom mij dit eerder niet is gelukt weet ik niet.
Geen opmerkingen:
Een reactie posten