Hi Team
Could you check my feedback from Customer?
The target is S32K5 with RTD(MCAL).
1. To allow ReadGroup to read the result, the conversion‑complete flag must be set to 1.
1-1) Which flag does this refer to—EOC, ECH, etc.?
→ It is EOC.
1-2) If the flag is not set, does ReadGroup return E_NOT_OK?
→ Yes, it returns E_NOT_OK. (The state is checked in Adc_ValidateStateNotIdle.)
1-3) Is there any retry logic inside ReadGroup when a read fails?
→ No, there isn’t. The user must handle retry logic.
1-4) If I implement the retry logic myself,
is it okay to call ReadGroup repeatedly after StartGroupConversion, until I get E_OK?
For example, trying ReadGroup 100 times in a for‑loop.
2. When the value is successfully read, the group state is said to change. Does it change to E_IDLE?
→ It becomes ADC_COMPLETED.
3. After Adc_StartConversion, once Adc_ReadGroup returns E_OK, is it okay to call StartConversion again without StopConversion?
→ STOP is used to stop an ongoing conversion.
So, calling START again without STOP is correct.
4. Also, for the next StartGroupConversion call,
is the state transition supposed to be COMPLETED → BUSY?
Or should it be COMPLETED → IDLE → BUSY,
instead of directly COMPLETED → BUSY?
Thank you.
Hi @Luke_Chun,
Those are my answers:
1-1 Which flag does this refer to—EOC, ECH, etc.?
1-2 => OK
1-3 => OK
1-4 is it okay to call ReadGroup repeatedly after StartGroupConversion, until I get E_OK?
=> Yes, it's okay, but NOT the most efficient approach. User should check status first by calling Adc_GetGroupStatus before call ReadGroup.
2. Group state must be ADC_COMPLETED before reading, and it will be changed to ADC_IDLE after successful read.
3 => OK
4. ADC_COMPLETED → (ReadGroup) → ADC_IDLE → (StartGroupConversion) → ADC_BUSY
Best regards,
Dan
Hi @Luke_Chun,
If you are supporting a Direct Customer, Could you let me know below information?
Best regards,
Dan