Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dead time reduction #13

Open
kaklik opened this issue Feb 17, 2023 · 0 comments
Open

Dead time reduction #13

kaklik opened this issue Feb 17, 2023 · 0 comments
Labels
enhancement New feature or request Firmware Issue resolvable by firmware change

Comments

@kaklik
Copy link
Contributor

kaklik commented Feb 17, 2023

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 #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.

@kaklik kaklik added the enhancement New feature or request label Apr 3, 2023
@kaklik kaklik added the Firmware Issue resolvable by firmware change label Aug 1, 2023
@kaklik kaklik changed the title Dead time minimalization Dead time reduction Aug 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Firmware Issue resolvable by firmware change
Projects
None yet
Development

No branches or pull requests

1 participant