// 同步模块后向处理
// 杭州秒寻科技有限公司
// 周涛
// 2023-11-15

#include "includes.h"

// 模块处理线程
void syncback_process_func(void)
{
    uint8 byFlag = 0;
    uint8 byRxCplt = 0;
    int16 wRssi = 0;
    uint8 byTxCplt = 0;

    // 接收完成状态
    byRxCplt = sync_rxtx_query_rx_cplt_flag();
    if (byRxCplt)
    {
        // 读取RSSI电平值
        sync_read_rssi();
        byFlag = sync_rxtx_ready_receive_signal_over(); // 做接收完成后向处理
        if (!byFlag)
        {
            sync_rxtx_update_rx_alarm(1); // 产生告警
        }
        else
        {
            sync_rxtx_update_rx_cplt_flag(0); // 更新接收完成标识
        }
    }

    // 发射完成状态
    byTxCplt = synctx_rxtx_query_tx_cplt_flag();
    if (byTxCplt == 2)
    {

        // 发送完成后向处理
        byFlag = synctx_rxtx_send_signal_over();

        // 后向处理失败
        if (!byFlag)
        {
            // TODO，若多次都不成功，该怎么处理，还需要考虑
            synctx_rxtx_update_tx_alarm(1); // 产生告警
        }
        // 后向处理成功
        else
        {
            // 更新发送标识符
            synctx_rxtx_update_tx_cplt_flag(0); // 空闲可发送
        }
    }

    return;
}