chore: preserve current FreeRTOS and C card updates
This commit is contained in:
@@ -73,7 +73,7 @@
|
||||
\noindent\fbox{%
|
||||
\begin{minipage}[c][23.5mm][c]{\dimexpr\textwidth-2\fboxrule\relax}%
|
||||
\begin{minipage}[c][23mm][c]{24mm}\centering%
|
||||
\qrcode[level=L,height=22mm]{https://zsl-gitea.mpabi.pl/edu-freertos-c/lab-rv32i-freertos-c-event-groups}%
|
||||
\href{https://zsl-gitea.mpabi.pl/edu-freertos-c/lab-rv32i-freertos-c-event-groups}{\qrcode[level=L,height=22mm]{https://zsl-gitea.mpabi.pl/edu-freertos-c/lab-rv32i-freertos-c-event-groups}}%
|
||||
\end{minipage}%
|
||||
\vrule width0.35pt%
|
||||
\begin{minipage}[c][23mm][c]{\dimexpr\linewidth-48mm-0.7pt\relax}%
|
||||
@@ -109,7 +109,7 @@
|
||||
\end{minipage}%
|
||||
\vrule width0.35pt%
|
||||
\begin{minipage}[c][23mm][c]{24mm}\centering%
|
||||
\qrcode[level=L,height=22mm]{https://dce7fb9d-7b2f-5d49-96a2-3a30d3070b84.mpabi.pl/3f4c1b8b-d54b-58d5-b92d-87a7233cbd9f}%
|
||||
\href{https://dce7fb9d-7b2f-5d49-96a2-3a30d3070b84.mpabi.pl/3f4c1b8b-d54b-58d5-b92d-87a7233cbd9f}{\qrcode[level=L,height=22mm]{https://dce7fb9d-7b2f-5d49-96a2-3a30d3070b84.mpabi.pl/3f4c1b8b-d54b-58d5-b92d-87a7233cbd9f}}%
|
||||
\end{minipage}%
|
||||
\end{minipage}%
|
||||
}%
|
||||
@@ -197,7 +197,7 @@ Uczeń projektuje rozłączne maski EventGroup i dowodzi różnicy między oczek
|
||||
\vspace{0.7em}
|
||||
\noindent{\Large\bfseries Zakres karty}\par
|
||||
\vspace{0.35em}
|
||||
Koordynator p3 blokuje się na READY_ALL. Worker A ustawia READY_A i blokuje się w xEventGroupSync. Worker B potwierdza maskę częściową, ustawia READY_B, po czym koordynator wnosi SYNC_C. Ostatni SYNC_B zwalnia wszystkich; każdy wynik zawiera 0x70, a automatycznie wyczyszczona grupa kończy z 0.
|
||||
Koordynator p3 blokuje się na \texttt{READY\_ALL}. Worker A ustawia \texttt{READY\_A} i blokuje się w \texttt{xEventGroupSync}. Worker B potwierdza maskę częściową, ustawia \texttt{READY\_B}, po czym koordynator wnosi \texttt{SYNC\_C}. Ostatni \texttt{SYNC\_B} zwalnia wszystkich; każdy wynik zawiera 0x70, a automatycznie wyczyszczona grupa kończy z 0.
|
||||
\vspace{0.55em}
|
||||
\small\begin{tabularx}{\textwidth}{@{}>{\ttfamily\raggedright\arraybackslash}p{0.85cm}>{\ttfamily\raggedright\arraybackslash}p{1.45cm}X>{\raggedright\arraybackslash}p{2.45cm}>{\raggedright\arraybackslash}p{1.75cm}>{\ttfamily\raggedright\arraybackslash}p{1.50cm}@{}}
|
||||
\textbf{Lekcja} & \textbf{Task} & \textbf{Najważniejsza idea} & \textbf{Priorytet} & \textbf{Status} & \textbf{Version} \\ \hline
|
||||
@@ -319,7 +319,7 @@ Zapisz final bits, SP, PASS i digest.
|
||||
\end{ESCStepFrame}
|
||||
\end{ESCBlockFrame}
|
||||
\begin{ESCBlockFrame}{Ćwiczenie · Ćwiczenie — ANY kontra ALL}
|
||||
Uruchom kontrolowany wariant wait ANY na tej samej sekwencji READY_A/READY_B. Zachowaj osobne maski i porównaj moment release oraz wartość zwrotną.
|
||||
Uruchom kontrolowany wariant wait ANY na tej samej sekwencji \texttt{READY\_A/READY\_B}. Zachowaj osobne maski i porównaj moment release oraz wartość zwrotną.
|
||||
\par\textbf{Evidence:} Dwa timestampowane ślady i tabela semantyki clear-on-exit.
|
||||
\par\textbf{Acceptance:} Uczeń nie przypisuje API gwarancji kolejności równorzędnych waiterów.
|
||||
\end{ESCBlockFrame}
|
||||
|
||||
Reference in New Issue
Block a user