\XtoCVerification{PID FiP16 CPU TMS320F28335}
\begin{tabular}{l l}
\textbf{Date of Test} & 2026-06-19 \\
\textbf{Target controller} & TMS320F28335 \\
\end{tabular}
\vspace{1ex}
\XtoCTestCase{Inport test}{1}
Inport test for Control block PID.

\vspace{1em}
\begin{tblr}{width=\textwidth, colspec={|c|c|c|c|c|X[c]|c|}}
\hline
\SetRow{lightgray} \SetCell[c=7]{l} \textbf{Test results} \\ \hline
\textbf{Time step} & 1 & 2 & 3 & 4 & ... & 201 \\ \hline
\textbf{CPU cycles} & 80 & 80 & 80 & 165 & ... & 175 \\ \hline
\SetRow{lightgray!50} \SetCell[c=7]{l} \textit{Inputs} \\ \hline
\textbf{In (DSP)} & 0 & 0 & 0 & 0 & ... & 0 \\ \hline
\textbf{Init (DSP)} & 3604 & 3604 & 3604 & 3604 & ... & 3604 \\ \hline
\textbf{Enable (DSP)} & 0 & 0 & 0 & 1 & ... & 1 \\ \hline
\textbf{In} & 0 & 0 & 0 & 0 & ... & 0 \\ \hline
\textbf{Init} & 0.11 & 0.11 & 0.11 & 0.11 & ... & 0.11 \\ \hline
\textbf{Enable} & 0 & 0 & 0 & 1 & ... & 1 \\ \hline
\SetRow{lightgray!50} \SetCell[c=7]{l} \textit{Parameters} \\ \hline
\textbf{Kp} & \SetCell[c=6]{c}2 \\ \hline
\textbf{Ki} & \SetCell[c=6]{c}2500 \\ \hline
\textbf{Kd} & \SetCell[c=6]{c}0.003 \\ \hline
\textbf{fc} & \SetCell[c=6]{c}200 \\ \hline
\textbf{initHandling} & \SetCell[c=6]{c}initialize integral \\ \hline
\textbf{ts\_fact} & \SetCell[c=6]{c}1 \\ \hline
\SetRow{lightgray!50} \SetCell[c=7]{l} \textit{Outputs} \\ \hline
\textbf{Out} & 0 & 0 & 0 & 0.11 & ... & -0.526 \\ \hline
\textbf{Exp. Out} & 0 & 0 & 0 & 0.11 & ... & -0.526 \\ \hline
\textbf{Out (DSP)} & 0 & 0 & 0 & 3604 & ... & -17231 \\ \hline
\textbf{Exp. Out (DSP)} & 0 & 0 & 0 & 3604 & ... & -17228 \\ \hline
\end{tblr}
\vspace{1ex}

\begin{XtoCtabular}{Test settings}
Tolerance Out & $\pm$3,0518e-04 ($\pm$10 LSB) \\ \hline
\end{XtoCtabular}

\begin{XtoCtabular}{Test statistics}
Min CPU cycles & 80 \\ \hline
Max CPU cycles & 175 \\ \hline
Avg CPU cycles & 171 \\ \hline
\end{XtoCtabular}
\XtoCTestCase{Conversion test}{1}
Conversion test for Control block PID.

\vspace{1em}
\begin{tblr}{width=\textwidth, colspec={|c|c|c|c|c|X[c]|c|}}
\hline
\SetRow{lightgray} \SetCell[c=7]{l} \textbf{Test results} \\ \hline
\textbf{Time step} & 1 & 2 & 3 & 4 & ... & 37 \\ \hline
\SetRow{lightgray!50} \SetCell[c=7]{l} \textit{Mask parameters} \\ \hline
\textbf{Kp} & -10 & -9.444 & -8.889 & -8.333 & ... & 10 \\ \hline
\textbf{Ki} & -11 & -10.389 & -9.778 & -9.167 & ... & 11 \\ \hline
\textbf{Kd} & -10 & -9.444 & -8.889 & -8.333 & ... & 10 \\ \hline
\textbf{fc} & 0 & 13.889 & 27.778 & 41.667 & ... & 500 \\ \hline
\textbf{initHandling} & initialize integral & initialize integral & initialize integral & initialize integral & ... & initialize output \\ \hline
\textbf{ts\_fact} & 1 & 1 & 1 & 1 & ... & 1 \\ \hline
\SetRow{lightgray!50} \SetCell[c=7]{l} \textit{Controller parameters} \\ \hline
\textbf{sfrd} & 15 & 5 & 4 & 3 & ... & 0 \\ \hline
\textbf{b1d} & 0 & -26374 & -24822 & -17453 & ... & 31416 \\ \hline
\textbf{a0d} & -32767 & -32483 & -32201 & -31921 & ... & -23934 \\ \hline
\textbf{b0d} & 0 & 26374 & 24822 & 17453 & ... & -31416 \\ \hline
\textbf{initHandling} & 0 & 0 & 0 & 0 & ... & 1 \\ \hline
\textbf{sfrb0} & 15 & 15 & 15 & 15 & ... & 15 \\ \hline
\textbf{sfrb1} & 11 & 11 & 11 & 11 & ... & 11 \\ \hline
\textbf{b0} & -36 & -34 & -32 & -30 & ... & 36 \\ \hline
\textbf{b1} & -20480 & -19342 & -18204 & -17067 & ... & 20480 \\ \hline
\textbf{Exp. sfrd} & 15 & 5 & 4 & 3 & ... & 0 \\ \hline
\textbf{Exp. b1d} & 0 & -26374 & -24822 & -17453 & ... & 31416 \\ \hline
\textbf{Exp. a0d} & -32767 & -32483 & -32201 & -31921 & ... & -23934 \\ \hline
\textbf{Exp. b0d} & 0 & 26374 & 24822 & 17453 & ... & -31416 \\ \hline
\textbf{Exp. initHandling} & 0 & 0 & 0 & 0 & ... & 1 \\ \hline
\textbf{Exp. sfrb0} & 15 & 15 & 15 & 15 & ... & 15 \\ \hline
\textbf{Exp. sfrb1} & 11 & 11 & 11 & 11 & ... & 11 \\ \hline
\textbf{Exp. b0} & -36 & -34 & -32 & -30 & ... & 36 \\ \hline
\textbf{Exp. b1} & -20480 & -19342 & -18204 & -17067 & ... & 20480 \\ \hline
\end{tblr}
\vspace{1ex}

\begin{XtoCtabular}{Test settings}
Tolerance sfrd & $\pm$0,0000e+00 \\ \hline
Tolerance b1d & $\pm$0,0000e+00 \\ \hline
Tolerance a0d & $\pm$0,0000e+00 \\ \hline
Tolerance b0d & $\pm$0,0000e+00 \\ \hline
Tolerance initHandling & $\pm$0,0000e+00 \\ \hline
Tolerance sfrb0 & $\pm$0,0000e+00 \\ \hline
Tolerance sfrb1 & $\pm$0,0000e+00 \\ \hline
Tolerance b0 & $\pm$0,0000e+00 \\ \hline
Tolerance b1 & $\pm$0,0000e+00 \\ \hline
\end{XtoCtabular}
\XtoCTestCase{Conversion-on-Target test}{1}
Conversion-on-Target test for Control block PID.

\vspace{1em}
\begin{tblr}{width=\textwidth, colspec={|c|c|c|c|c|X[c]|c|}}
\hline
\SetRow{lightgray} \SetCell[c=7]{l} \textbf{Test results} \\ \hline
\textbf{Time step} & 1 & 2 & 3 & 4 & ... & 37 \\ \hline
\SetRow{lightgray!50} \SetCell[c=7]{l} \textit{Mask parameters} \\ \hline
\textbf{Kp} & -10 & -9.444 & -8.889 & -8.333 & ... & 10 \\ \hline
\textbf{Ki} & -11 & -10.389 & -9.778 & -9.167 & ... & 11 \\ \hline
\textbf{Kd} & -10 & -9.444 & -8.889 & -8.333 & ... & 10 \\ \hline
\textbf{fc} & 0 & 13.889 & 27.778 & 41.667 & ... & 500 \\ \hline
\textbf{initHandling} & initialize integral & initialize integral & initialize integral & initialize integral & ... & initialize output \\ \hline
\textbf{ts\_fact} & 1 & 1 & 1 & 1 & ... & 1 \\ \hline
\SetRow{lightgray!50} \SetCell[c=7]{l} \textit{Controller parameters} \\ \hline
\textbf{sfrd} & 15 & 5 & 4 & 3 & ... & 0 \\ \hline
\textbf{b1d} & 0 & -26373 & -24822 & -17453 & ... & 31415 \\ \hline
\textbf{a0d} & -32767 & -32483 & -32201 & -31921 & ... & -23933 \\ \hline
\textbf{b0d} & 0 & 26373 & 24822 & 17453 & ... & -31415 \\ \hline
\textbf{initHandling} & 0 & 0 & 0 & 0 & ... & 1 \\ \hline
\textbf{sfrb0} & 15 & 15 & 15 & 15 & ... & 15 \\ \hline
\textbf{sfrb1} & 11 & 11 & 11 & 11 & ... & 11 \\ \hline
\textbf{b0} & -36 & -34 & -32 & -30 & ... & 36 \\ \hline
\textbf{b1} & -20480 & -19342 & -18204 & -17066 & ... & 20480 \\ \hline
\textbf{Exp. sfrd} & 15 & 5 & 4 & 3 & ... & 0 \\ \hline
\textbf{Exp. b1d} & 0 & -26374 & -24822 & -17453 & ... & 31416 \\ \hline
\textbf{Exp. a0d} & -32767 & -32483 & -32201 & -31921 & ... & -23934 \\ \hline
\textbf{Exp. b0d} & 0 & 26374 & 24822 & 17453 & ... & -31416 \\ \hline
\textbf{Exp. initHandling} & 0 & 0 & 0 & 0 & ... & 1 \\ \hline
\textbf{Exp. sfrb0} & 15 & 15 & 15 & 15 & ... & 15 \\ \hline
\textbf{Exp. sfrb1} & 11 & 11 & 11 & 11 & ... & 11 \\ \hline
\textbf{Exp. b0} & -36 & -34 & -32 & -30 & ... & 36 \\ \hline
\textbf{Exp. b1} & -20480 & -19342 & -18204 & -17067 & ... & 20480 \\ \hline
\end{tblr}
\vspace{1ex}

\begin{XtoCtabular}{Test settings}
Tolerance sfrd & $\pm$0,0000e+00 \\ \hline
Tolerance b1d & $\pm$1,0000e+00 \\ \hline
Tolerance a0d & $\pm$1,0000e+00 \\ \hline
Tolerance b0d & $\pm$1,0000e+00 \\ \hline
Tolerance initHandling & $\pm$0,0000e+00 \\ \hline
Tolerance sfrb0 & $\pm$0,0000e+00 \\ \hline
Tolerance sfrb1 & $\pm$0,0000e+00 \\ \hline
Tolerance b0 & $\pm$1,0000e+00 \\ \hline
Tolerance b1 & $\pm$1,0000e+00 \\ \hline
\end{XtoCtabular}

\begin{XtoCtabular}{Test statistics}
Min CPU cycles & 5087 \\ \hline
Max CPU cycles & 14657 \\ \hline
Avg CPU cycles & 12746 \\ \hline
\end{XtoCtabular}
