From 6f27f98a38e2e360966d856a3e3cf13eb2d2be54 Mon Sep 17 00:00:00 2001 From: Filipriec Date: Tue, 25 Nov 2025 17:45:39 +0100 Subject: [PATCH] final uml --- .../software_uart/docs/decode_rx.png | Bin 0 -> 28788 bytes .../software_uart/docs/decode_timing.png | Bin 0 -> 3381 bytes .../software_uart/docs/encode_timing.png | Bin 0 -> 3554 bytes .../software_uart/docs/encode_tx.png | Bin 0 -> 20075 bytes .../software_uart/docs/rx_uml.png | Bin 0 -> 22054 bytes .../software_uart/docs/rx_uml.txt | 2 +- .../software_uart/docs/tx_uml.png | Bin 0 -> 13819 bytes .../software_uart/docs/tx_uml.txt | 2 +- 8 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 semestralka_1_final_crate/software_uart/docs/decode_rx.png create mode 100644 semestralka_1_final_crate/software_uart/docs/decode_timing.png create mode 100644 semestralka_1_final_crate/software_uart/docs/encode_timing.png create mode 100644 semestralka_1_final_crate/software_uart/docs/encode_tx.png create mode 100644 semestralka_1_final_crate/software_uart/docs/rx_uml.png create mode 100644 semestralka_1_final_crate/software_uart/docs/tx_uml.png diff --git a/semestralka_1_final_crate/software_uart/docs/decode_rx.png b/semestralka_1_final_crate/software_uart/docs/decode_rx.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a4826765a37319f173850f9fa95180b3f48ddc GIT binary patch literal 28788 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 AI{*Lx literal 0 HcmV?d00001 diff --git a/semestralka_1_final_crate/software_uart/docs/decode_timing.png b/semestralka_1_final_crate/software_uart/docs/decode_timing.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4c311ff4d2001cb8b13a501ff55b40344aa92d GIT binary patch literal 3381 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 literal 0 HcmV?d00001 diff --git a/semestralka_1_final_crate/software_uart/docs/encode_timing.png b/semestralka_1_final_crate/software_uart/docs/encode_timing.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec3831e07ba4d497eebc46dfff4db326828ef29 GIT binary patch literal 3554 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 Uh*xg`LsXCH-ZHvbr0Ed)AMu}lg8%>k literal 0 HcmV?d00001 diff --git a/semestralka_1_final_crate/software_uart/docs/rx_uml.txt b/semestralka_1_final_crate/software_uart/docs/rx_uml.txt index fd55b3d..d52780f 100644 --- a/semestralka_1_final_crate/software_uart/docs/rx_uml.txt +++ b/semestralka_1_final_crate/software_uart/docs/rx_uml.txt @@ -1,5 +1,5 @@ @startuml -title RX Path: TIM7 → DMA → ReadableRingBuffer → rx_dma_task +title TIM7 → DMA → ReadableRingBuffer → rx_dma_task start diff --git a/semestralka_1_final_crate/software_uart/docs/tx_uml.png b/semestralka_1_final_crate/software_uart/docs/tx_uml.png new file mode 100644 index 0000000000000000000000000000000000000000..a900d08f7e56dfe6ce2b6b98e48502c02c78919a GIT binary patch literal 13819 zcma*ObyQqS(=Uv>1%f*ScP6;ITkzmE5Zv9}AxL0w65QQg0}Sr&9^CzM&Uv2o-gVyl zt@ZuU-Bs<=vv*Zj)o({AD@vgv5geey=gEQ$Tw!43*{8 zB>w7vii(4SgNKJlK|w)BN5{_2&d<*;B_$;%C#SBiZeUdwy2fq{XMk&*fN`Gtjrot>Stv$Knfi?_EoNC=17_ciF9 zCA6GP?Cd?P&4A7jQf9Vhjz-RAreww*WERfO_D;MkEcVt$w$3g#*32e$Hm+mCr0-kK z{HCVm{NH*A$oF~NGkjF!Y?oOvR~0+cqNScHQ0e^Y2_3J{VEO5rpogHD z+ep7?@sElftrEmcC_HxEyP7`Cz3&2Mga&<-R7K2W#!UfNENo3&#^Lb_jQ$9u?skq& z!gDa01vZ*mWwdSjJQQnb8SE?ywGC^|4Vl$;v~P`#O_kJ#>NUEbj)#7sXc;a}6b+s_ zth<^83quz+K27?C2;i}6Ywr}0Jq`OwzAzM`SFWpdQCiL?M>y#fy`mv@SkYfakFp_k z9w&rsr~mK~AM=b9J1x*?q(ChFa)r5AK8;WGn{$a3B_Zl6YQ&UvA-;FSV${pQWFf5t zjagCC7*k->d;-s|5vJKTW0vqtoVb*Z1Oq1v+74ly6&QDC3gCsPl3H|Nc#0DSE0G=m zoSfyANRL@{c@CAvyl55V@t&`bnS-YzK6VUBY;V&l08LW$Dg(}On^wx8tHEW^dTZn+ zX#Ru;UyX3N=TxT5zZ{BxYY0PkY?4fLVEfQ`E}LgZrsa9t9c@Q&B3}i6I7;G^;}IsM zHTLSfixi-lQIL{B)(-UsUo|Z+2=QF7@p6OPm?q#2a|F+A*#�tt+nL`r;WD`|EPg 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 literal 0 HcmV?d00001 diff --git a/semestralka_1_final_crate/software_uart/docs/tx_uml.txt b/semestralka_1_final_crate/software_uart/docs/tx_uml.txt index 5ba7800..b06d347 100644 --- a/semestralka_1_final_crate/software_uart/docs/tx_uml.txt +++ b/semestralka_1_final_crate/software_uart/docs/tx_uml.txt @@ -1,5 +1,5 @@ @startuml -title TX Path: pipe_rx → DMA → GPIOx_BSRR +title pipe_rx → DMA → GPIOx_BSRR start