37 uint32 headerValue = ((syncFrameIndicator & 0x1) << 19) | ((startupFrameIndicator & 0x1) << 18) | ((frameId & 0x7FF) << 7) | (payloadLength &
45 uint32 headerTemp, regTemp;
54 headerTemp = headerValue & 0x80000000;
55 regTemp = crcRegX & 0x80000000;
57 if (headerTemp ^ regTemp)
85 while (eray->SUCC1.B.PBSY == 1)
88 eray->SUCC1.B.CMD = pocCommand;
91 if (eray->SUCC1.B.CMD == 0)
106 eray->EIR.U = 0xFFFFFFFFU;
107 eray->SIR.U = 0xFFFFFFFFU;
108 eray->EIER.U = 0xFFFFFFFFU;
109 eray->SIER.U = 0xFFFFFFFFU;
110 eray->MHDS.U = 0x7F7F7FFFU;
116 eray->ILE.U = 0x00000003U;
117 eray->EILS.U = 0x00000000U;
118 eray->SILS.U = 0x00000800U;
119 eray->SIES.U = 0x0303FFFFU;
120 eray->EIES.U = 0x07070FFFU;
121 eray->NDIC1.U = 0x00000000U;
122 eray->NDIC2.U = 0x00000000U;
123 eray->NDIC3.U = 0x00000000U;
124 eray->NDIC4.U = 0x00000000U;
125 eray->MSIC1.U = 0x00000000U;
126 eray->MSIC2.U = 0x00000000U;
127 eray->MSIC3.U = 0x00000000U;
128 eray->MSIC4.U = 0x00000000U;
136 uint16 length = (payloadLength + 1) / 2;
139 for (index = 0; index < length; index++)
141 *data++ = eray->RDDS_1S[index].U;
150 Ifx_ERAY_RDHS1 rdhs1;
151 rdhs1.U = eray->RDHS1.U;
152 Ifx_ERAY_RDHS2 rdhs2;
153 rdhs2.U = eray->RDHS2.U;
154 Ifx_ERAY_RDHS3 rdhs3;
155 rdhs3.U = eray->RDHS3.U;
174 eray->KRST1.B.RST = 1;
175 eray->KRST0.B.RST = 1;
177 while (eray->KRST0.B.RSTSTAT == 0)
182 eray->KRSTCLR.B.CLR = 1;
188 uint8 ix = messageBuffer / 32;
189 uint32 mask = 1 << (messageBuffer % 32);
190 Ifx_ERAY_MSIC1 *msicSFR = (Ifx_ERAY_MSIC1 *)((
uint32)&eray->MSIC1 + 4 * ix);
192 if (messageBufferDestination ==
FALSE)
205 uint8 ix = ndatDestination / 32;
206 uint32 mask = 1 << (ndatDestination % 32);
207 Ifx_ERAY_NDIC1 *ndicSFR = (Ifx_ERAY_NDIC1 *)((
uint32)&eray->NDIC1 + 4 * ix);
209 if (ndatDestination ==
FALSE)
223 while (eray->SUCC1.B.PBSY == 1)
227 eray->LCK.B.CLK = 0xCE;
228 eray->LCK.B.CLK = 0x31;
242 Ifx_ERAY_WRHS1 wrhs1;
252 eray->WRHS1.U = wrhs1.U;
255 Ifx_ERAY_WRHS2 wrhs2;
264 eray->WRHS2.U = wrhs2.U;
290 uint16 length = (payloadLength + 1) / 2;
293 for (index = 0; index < length; index++)
295 eray->WRDS_1S[index].U = *data++;