Aktuální implementace minimalizuje mrtvou měřící dobu tím způsobem, že hromadí co nejvíce dat v operační paměti a z nich pak vytvoří datovou zprávu kterou buď rychle odešle na UART, nebo uloží na SDkartu.
Takový přístup je do značné míry suboptimální, protože jednak neminimalizuje mrtvou dobu měření úplně a zároveň ji prodlužuje na těžko definovanou dobu, která závisí na měřených datech.
Teoreticky by ale mrtvou dobu mělo jít výrazně omezit vhodnou obsluhou UART. Protože, jednak lze nastavit různou délku bufferu pro UART. Například bootloader pro mightycore má tyhle flagy, které tu velikost bufferu řídí. Velikost bufferu 128 bytes by měla stačit na většinu zpráv, kromě spektrogramů, které se posílají jen zřídka. Navíc u spektrogramů by možná bylo žádoucí, aby zprávy byly nějak komprimovány, protože zpráva spektrogramu obsahuje většinou samé nuly.
Zároveň by mělo být možné UART obsluhovat v časech, kdy probíhá ADC převod. Protože při vzorkování ADC 125 us má MCU při 8 MHz k dispozici 1000 instrukcí mezi každou hodnotou ADC. Za tu dobu může být odesláno celých 14 bitů na UART rychlostí 115200.
Aktuální implementace minimalizuje mrtvou měřící dobu tím způsobem, že hromadí co nejvíce dat v operační paměti a z nich pak vytvoří datovou zprávu kterou buď rychle odešle na UART, nebo uloží na SDkartu.
Takový přístup je do značné míry suboptimální, protože jednak neminimalizuje mrtvou dobu měření úplně a zároveň ji prodlužuje na těžko definovanou dobu, která závisí na měřených datech.
Navíc to komplikuje zacházení s formátem výstupních dat https://github.com/UniversalScientificTechnologies/LABDOS01/issues/12
Teoreticky by ale mrtvou dobu mělo jít výrazně omezit vhodnou obsluhou UART. Protože, jednak lze nastavit různou délku bufferu pro UART. Například bootloader pro mightycore má tyhle flagy, které tu velikost bufferu řídí. Velikost bufferu 128 bytes by měla stačit na většinu zpráv, kromě spektrogramů, které se posílají jen zřídka. Navíc u spektrogramů by možná bylo žádoucí, aby zprávy byly nějak komprimovány, protože zpráva spektrogramu obsahuje většinou samé nuly.
Zároveň by mělo být možné UART obsluhovat v časech, kdy probíhá ADC převod. Protože při vzorkování ADC 125 us má MCU při 8 MHz k dispozici 1000 instrukcí mezi každou hodnotou ADC. Za tu dobu může být odesláno celých 14 bitů na UART rychlostí 115200.