35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
# Osciloskop
|
|
|
|
Je to tak napůl hotový projekt, který začal na STM32L452.
|
|
Tady je to předěláno na CH32V203, který má pomalejší AD převodník, ale funguje na plných 12 bitů
|
|
rozlišení. Trigger, který musí skenovat vlastně úplně všechna data to na tomto čipu v pohodě
|
|
stíhá. Přenos dat po USB je zachován v hexadecimálním formátu.
|
|
|
|
## firmware
|
|
|
|
Omezení zde je poměrně malá RAM.
|
|
|
|
## software
|
|
|
|
Ovládací program je napsán v Qt5. Je třeba modul QSerialPort, jinak na tom není nic extra.
|
|
Asi by to šlo naportovat i na Windows, ale chce to minimálně změnit název sériového portu.
|
|
Ovládání je nepodobné obvyklému GUI osciloskopu, ale pokusy s kulatými knoflíky mě přesvědčili
|
|
o tom, že je to blbost. Na PC, kde je možné použít myš, je lépe jí fakt použít a GUI se
|
|
může smrsknout na pár položek (Item to move), kterými se vybere čím se má hýbat a kliknutí
|
|
myši provede kam. Jemně se to dá dostavit kolečkem myši.
|
|
|
|
Rozsahy se vybírají rovněž z Combo Boxu. Počáteční nastavení je fakticky uloženo v hardware,
|
|
kromě Markerů a ofsetu zobrazení kanálů, to se dá uložit v programu. V zásadě by šlo uložit
|
|
i ostatní v programu a při startu to zpět zapsat do hardware, ale zatím to tak není.
|
|
|
|
## server
|
|
|
|
Zkusil jsem doplnit ovládání přímo z browseru. Použil jsem balíček v Ubuntu (nebo Debian - např. Malina)
|
|
nlohmann-json3-dev plus https://github.com/mattgodbolt/seasocks, takže lze komunikovat s klientem
|
|
tímto mechanizmem. Vypadá to, že webové sokety by to mohly zvládnout, zatím to není
|
|
úplně doděláno, ale zobrazení chodí. Funguje to jen na Linuxu, není to úplné a ani nebude, je to jen pokus.
|
|
|
|
## bin
|
|
|
|
Zde se nalézají binárky jak software, tak serveru a zároveň i klientská část v html a javascriptu.
|
|
Vše je tak jednoduché jak může, žádné frameworky nepoužívám.
|