From 79d45a8dfda24529831c30645bc5709bb41c5574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Tue, 29 Jun 2021 20:45:55 +0200 Subject: [PATCH] docs: finish user manual documentation --- docs/user-manual.org | 109 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 102 insertions(+), 7 deletions(-) diff --git a/docs/user-manual.org b/docs/user-manual.org index b625fdd7bd50b8f044f5c49e2695940539f3ca42..6f6c43c8e0771b0a516898b4e4a9b2a76ed277b5 100644 --- a/docs/user-manual.org +++ b/docs/user-manual.org @@ -1,12 +1,12 @@ #+TITLE: APO - Semestrální práce #+SUBTITLE: Průzkumník souborů, prohlížeč obrázků, textových souborů #+AUTHOR: František Boháček -#+DATE: červen 2020 +#+DATE: červen 2021 * Zadání Semestrální práce bude rozdělena do 3 jednotlivých programů vypracovaných pro MZAPO. Hlavní z nich -bude průzkumník souborů, ve kterém bude možné procházet celý kořenový souborový systém a také externí zařízení. -Průzkumník bude umět základní operace jako kopírování, přesouvání a mazání souborů. Dále spouštět spustitelné soubory +bude průzkumník souborů, ve kterém bude možné procházet celý kořenový souborový systém +a také externí zařízení+. ++Průzkumník bude umět základní operace jako kopírování, přesouvání a mazání souborů+. Dále spouštět spustitelné soubory a pro obrázky, resp. pro textové soubory otevřít prohlížeč obrázků, resp. textových souborů. Prohlížeč obrázků je druhý program, který bude umět otevřít formáty jpeg, png a ppm. Přes rotační enkodery @@ -21,8 +21,89 @@ Standardní výstup bude použit k logování hlášek o tom, co program právě Pro rychlejší ladění bude možnost programy spouštět na osobním počítači, kde se jako displej využije SDL okno. +** Zhodnocení splnění zadání +U průzkumníku souborů jsem bohužel nestihl implementovat základní operace jako přesouvání, mazání nebo kopírování souborů. +Stejně tak průzkumník souborů neumí sám namountovat externí zařízení jak bylo v plánu. Průzkumník tak umí pouze procházet složky, +otevírat soubory v příslušném programu (podle mime typu). +Na druhou stranu z prohlížeče textových souborů i obrázků se mi podařilo implementovat vše ze zadání +jak pro ovládání přes rotační enkodery nebo přes standardní vstup. + +Program na rychlejší lazení se mi povedlo vytvořit tak, že z většiny simuluje reálnou nízkou úroveň periferií. V kódu je tak potřeba +minimum změn, aby místo na MZAPO běžel na osobních počítačích, je potřeba pouze změnit inicializaci programu, mapovací funkci nahradit +vlastní mapovací funkcí a změnit posílání dat a příkazů displeji. Ovládání RGB LEDek i LED pásku zůstává stejné, není potřeba žádný zásah +do kódu. Šlo by i jednoduše implementovat rotační enkodery po odchycení SDL eventů. + * Manuál ** Průzkumník souborů +*** Funkce +Program slouží na procházení kořenového systému souborů. +Dokáže spouštět soubory a otevírat obrázky nebo textové soubory. +Lze vyvolat kontextové menu, ve kterém lze otevřít kterýkoliv +soubor v prohlížeči textu. + +Program obsahuje jednoduchý návod k obsluze, +ke kterému se jde dostat v hlavním menu. + +*** (Virtuální) okna +Program se skládá z oken, mezi kterými se přepíná. + +**** Výchozí menu + +Ve výchozím menu lze otevřít průzkumník souborů +nebo si přečíst, jak se program ovládá. + +**** Průzkumník souborů + +Průzkumník souborů zobrazuje, v jaké složce +se zrovna člověk nachází a soubory v ní. +Lze se navigovat mezi složkami, zobrazit kontextové +menu nebo spouštět soubory. + +**** Kontextové menu + +V kontextovém menu lze soubor spustit nebo ho +zobrazit v prohlížeči textu. + +**** Dialog + +Dialogové okno se typicky ukáže při chybě. +Je v něm zachycená chyba, která nastala. + +*** Spouštění +Program nepřijímá žádné argumenty, ty jsou ignorovány. + +Použití: +#+begin_src +./file-browser +#+end_src + +*** LED pásek +Na LED pásku se ukazuje vertikální pozice v průzkumníku souborů, +aby bylo poznat, kolik souborů je ještě potřeba projít do konce +složky. + +*** Chybové stavy +Chyby se hlásí přes dialogové okno. + +*** Ovládání + +**** Standardní vstup +- ~h~, ~j~, ~k~, ~l~ - pohyb pohledu po souboru (doleva, dolů, nahoru, doprava) +- ~y~, ~i~, ~o~, ~p~ - pohyb o celou obrazovku pro rychlejší navigaci (doleva, dolů, nahoru, doprava) +- ~z~, ~x~ - přiblížení a oddálení textu +- ~n~ - vrácení pohledu na začátek seznamu souborů +- ~m~ - pohled na konec seznamu souborů +- ~e~ - ukončení programu +- ~c~ - kontextové menu souboru +- ~v~ - potvrzení výběru (spuštění souboru / přepnutí složky) + +**** Rotační enkodery +- První (červený) - horizontální posun pohledu +- Druhý (zelený) - vertikální posun pohledu +- Třetí (modrý) - přiblížení nebo oddálení textu +- Tlačítko prvního enkoderu - ukončení programu / pohyb zpět +- Tlačítko druhého enkoderu - kontextové menu souboru +- Tlačítko třetího enkoderu - potvrzení výběru (spuštění souboru / přepnutí složky) ** Prohlížeč textových souborů *** Funkce Program zobrazí na LCD displeji text z textového souboru, lze se po něm pohybovat rotačními enkodery. @@ -51,13 +132,16 @@ neexistuje nebo k němu nejsou přístupová práva. Konkrétní chybová hláš **** Standardní vstup - ~h~, ~j~, ~k~, ~l~ - pohyb pohledu po souboru (doleva, dolů, nahoru, doprava) -- ~r~ - vrácení pohledu na začátek souboru -- ~t~ - pohled na konec souboru +- ~y~, ~i~, ~o~, ~p~ - pohyb o celou obrazovku pro rychlejší navigaci (doleva, dolů, nahoru, doprava) +- ~z~, ~x~ - přiblížení a oddálení textu +- ~n~ - vrácení pohledu na začátek souboru +- ~m~ - pohled na konec souboru - ~e~ - ukončení programu **** Rotační enkodery - První (červený) - horizontální posun pohledu - Druhý (zelený) - vertikální posun pohledu +- Třetí (modrý) - přiblížení nebo oddálení textu - Tlačítko prvního enkoderu - ukončení programu - Tlačítko druhého enkoderu - vrácení pohledu na začátek souboru - Tlačítko třetího enkoderu - pohled na konec souboru @@ -100,7 +184,7 @@ Program má kurzor, podle kterého se určuje, kam se přibližuje. Kurzor se zo - ~h~, ~j~, ~k~, ~l~ - ovládání kurzoru nebo posunu po celém obrázku v závislosti na módu, viz klávesa m (doleva, dolů, nahoru, doprava) - ~z~, ~x~ - přiblížení a oddálení obrázku (do místa, kde je kurzor) - ~r~ - vrácení do původního stavu (oddálí obrázek a nastaví kurzor doprostřed obrázku) -- ~m~ - přepnutí mezi módy pohybu po obrázku nebo pohybu kurzorem +- ~m~ - přepnutí mezi módy pohybu po obrázku nebo pohybu kurzorem (při módu pohybu po obrázku svítí RGB LEDky zeleně) - ~e~ - ukončení programu **** Rotační enkodery @@ -112,7 +196,7 @@ Program má kurzor, podle kterého se určuje, kam se přibližuje. Kurzor se zo - Tlačítko třetího enkoderu - vrácení do původního stavu přiblížení * Kompilace, instalace, spouštění -Na kompilaci je použit Makefile. +Na kompilaci je použit ~Makefile~. ** Křížová kompilace pro MZAPO Pro křížovou kompilaci je zapotřebí ~arm-gnueabihf-gcc~ a dynamické knihovny @@ -126,6 +210,12 @@ Překopírování jde realizovat pomocí ssh, lze použít ~make~, konkrétně TARGET_IP=[ip-addr] make copy-executable #+end_src kde za ~ip-addr~ je potřeba dosadit ip adresu MZAPO. +V základním režimu se počítá s tím, že je použit SSH tunel +a ~mzapo-root-key~ (SSH klíč pro mzapo) se nachází +na cestě ~~/.ssh/mzapo-root-key~. Pro změnu základního nastavení +stačí změnit konfiguraci v ~Makefile~ v kořenu projektu. +Možné konfigurace jsou zakomentované na řádcích začínajících +~SSHOPTIONS~ Pro spuštění lze využít sériového portu nebo ssh. Případně pomocí ~make~, na spuštění průzkumníku souborů: @@ -144,6 +234,8 @@ nebo #+begin_src TARGET_IP=[ip-addr] ARG=/path/to/image make run-text-viewer #+end_src + +Program je třeba spouštět s cwd ve složce, kde se nachází binární soubory. ** Kompilace na osobní počítač Pro lepší ladění je možnost program zkompilovat pro osobní počítač, kde je displej simulován @@ -157,3 +249,6 @@ COMPUTER=1 make Po kompilaci jsou soubory ve složce ~bin~ v kořenu projektu. Lze je spustit napřímo s potřebnými parametry viz Manuál. + +Je potřeba překopírovat soubory ze složky ~copy/~ do složky ~bin/~ a program spouštět +s cwd ve složce, kde se nachází všechny binární soubory