static uint8_t sbusFrameStatus(rxRuntimeConfig_t *rxRuntimeConfig) { sbusFrameData_t *sbusFrameData = rxRuntimeConfig->frameData; if (!sbusFrameData->done) { return RX_FRAME_PENDING; } sbusFrameData->done = false; DEBUG_SET(DEBUG_SBUS, DEBUG_SBUS_FRAME_FLAGS, sbusFrameData->frame.frame.channels.flags); return sbusChannelsDecode(rxRuntimeConfig, &sbusFrameData->frame.frame.channels); }
static uint8_t sbusFrameStatus(rxRuntimeConfig_t *rxRuntimeConfig) { sbusFrameData_t *sbusFrameData = rxRuntimeConfig->frameData; if (!sbusFrameData->frameDone) { return RX_FRAME_PENDING; } // Decode channel data and store return value const uint8_t retValue = sbusChannelsDecode(rxRuntimeConfig, (void *)&sbusFrameData->frame.channels); // Reset the frameDone flag - tell ISR that we're ready to receive next frame sbusFrameData->frameDone = false; return retValue; }