Hello Jens,
DALI lib (which source code is not available in this project) handles the reception and transmission of DALI frames using the CT32B0 timer/capture unit. You can check then void TIMER32_0_IRQHandler(void) ISR and check how this frame is obtained.
Basically, you will see that received frame is stored on FFrame variable and FFrameReceived flag indicates when a complete DALI frame is received:
if (BitPositionRx == FORWARD_FRAME_BIT_LENGTH)
{
FFrameReceived = true;
}
And, once this frame is received, it is decoded on DALI_Decode function inside the DALI_ReadForwardFrame function:
/* any forward frame received? */
if (FFrameReceived)
{
uint32_t rawData = FFrame;
FFrameReceived = false;
if (DALI_Decode(rawData, pForwardFrame))
{
// Forward Frame did not have encoding violations
return true;
}
}
You can check what value is decoded (what value rawData has) and validate that DALI_Decode function can decode this value correctly.
I hope this helps!
Regards,
Isaac