Stap 6: Een nota over timing nauwkeurigheid
Zoals vermeld, is de timing tussen de verzonden aan/uit-pulsen heel belangrijk. Het TransmitRF.py script gebruikt python's time.sleep() functie voor de opbouw van de golfvormen met de juiste pulse-intervallen, maar opgemerkt moet worden dat deze functie niet helemaal juist is. De lengte waarvoor het zorgt ervoor dat het script moet worden gewacht voordat de volgende bewerking uitvoeren kan afhangen van de processorbelasting die instant gegeven. Dat is een andere reden waarom TransmitRF.py stuurt elke code meerdere keren - enkel desgevallend de time.sleep() functie is niet in staat om te bouwen naar behoren een bepaald exemplaar van de code.
Ik heb persoonlijk nog nooit problemen met time.sleep() als het gaat om het verzenden van de codes. Ik weet echter dat mijn time.sleep() neigt om te hebben een fout van ongeveer 0.1ms. Ik bepaald dit met behulp van de bijgevoegde SleepTest.py script dat kan worden gebruikt om een schatting van hoe nauwkeurig uw Pi's time.sleep() functie is. Voor mijn specifieke afstandsbediening sockets was de kortste vertraging die ik nodig had om uit te voeren 0.45ms. Zoals ik al zei, gehad heb ik niet problemen met niet-reagerende sockets, zodat het lijkt alsof 0,45 ± 0.1ms goed genoeg is.
Er zijn andere methoden om ervoor te zorgen dat de vertraging nauwkeuriger is; bijvoorbeeld, zou u een speciale PIC-chip voor het genereren van de codes, maar dingen zoals die valt buiten het bestek van deze tutorial.