WindhoverLabs / airliner

7 stars 3 forks source link

RCIN app didn't detect error when it received continuous NoHdr frame #339

Open ynielson opened 1 year ago

ynielson commented 1 year ago

When the app received continuous NoHdr frame, it didn't count error for 25 frames in this test case. And the function, "ReadDevice()", considered the measuring was TRUE(No Error), and set the StrikeCount to Zero, and published the obsolete InputRcMsg with renewed timestamp for 25 times. The total_error_count was 1. (The first frame is always error). And the StrikeCount was 0.

The StrikeCount threshold that app starts to send error event, "RCIN is NOT publishing fresh data", is 10(RCIN_STRIKE_COUNT_THRES). And the errorCount that the Custom source start change the status from "RCIN_CUSTOM_NOTSTREAMING" to "RCIN_CUSTOM_RC_LOST" is 25(RCIN_MAX_ERROR_COUNT).

This behavior will continue if it keep receiving NoHdr frames unitil it receive nominal frame or the frame accidently have 0xf(15) value(header value) in the middle of the frame.

I am not sure if this is the extreme case, but it happened in this case.