
Zasláno: út 8. prosinec 2015 18:16
Vrátil jsem se na skok k problematice ovládání beztrátových 433,92MHz zásuvek, co jsem řešil dříve.
jenda^^ napsal: Takže už mi funguje ovládání všech zásuvek, i když asi polovina pokusů o odeslání nic neudělá. Otázkou je, jak moc za to může Raspberry (prográmek pouštím přes "nice -20", což by měl být příkaz na nejvyšší prioritu) a jak moc za to může rádiový vysílač (co čekat od sady vysílač-přijímač za $1).
Ukázalo se, že za tu chybovost nemůže čínský vysílač, ale právě Raspberry. Protože na něm jede celý systém, musí se o čas CPU dělit všechny procesy. A tím pádem příkazy z mého prográmku chodí, ale
mikrosekunda sem,
mikrosekunda tam, a ve finále jsou ty časy vysílaných signálů tak mimo, že to zásuvka prostě nepřijme.
Ale jde to vyřešit. Stačí místo tupého vysílání "1, čekat, 0 čekat" použít přímý přístup do paměti (DMA).
Tady je příklad ovládání výstupu přes DMA, kdy má být časová odchylka spínání v jednotkách mikrosekund:
https://github.com/Wallacoloo/Raspberry-Pi-DMA-Example/blob/master/dma-gpio.c
Ve výchozím stavu to přepíná kontakt frekvencí 500 Hz, tak jsem místo přepínání nabastlil svoje časy a kódy k zásuvkám a podle testů to zatím funguje naprosto spolehlivě!
Menší problém je ale v tom, že to při každým spuštění musí inicializovat přímý přístup a to zabere několik vteřin.
Buď to budu muset přežít, nebo se budu muset snažit pochopit ten kód, kterýmu ale rozumím asi stejně jako čínštině.
Jo a ten příkaz na nejvyšší prioritu je správně "nice -n -20", linuxová dokumentace je někdy dost nesrozumitelná, bez -n to nastaví nejhorší prioritu.

Zasláno: st 9. prosinec 2015 19:50
To si děláš prdel!
http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter
FM vysílač z Raspberry Pi.
Potřebný hardware: Raspberry Pi, kus drátu.
A fakt to hraje.
Jenom tedy tomu subwooferu, co jsem sem nedávno dotáhl, jak jsem si stěžoval, že děsně brumí, se to mu nelíbí. Když jsem to spustil, tak začal hučet mnohem víc nahlas.