void PCT_HandleMoudleMsg(PTC_ProtocolCon *pstruContoller, MSG_Buffer *pstruBuffer)
{
    ZC_MessageHead *pstruMsg;
    pstruMsg = (ZC_MessageHead*)pstruBuffer->u8MsgBuffer;

    //u8 *u8Buf;

    //u8 u8Buf1[7] = {0xAA,0x83,0x01,0x01,0xaf,0x01,0x55};  /* ¿ª·äÃùÆ÷ */
    //u8 u8Buf2[7] = {0xAA,0x84,0x01,0x01,0x30,0x01,0x55};  /* ¿ªµÆ */

    /*start send timer*/
    pstruContoller->pstruMoudleFun->pfunSetTimer(PCT_TIMER_SENDMOUDLE, 
        PCT_TIMER_INTERVAL_SENDMOUDLE, &pstruContoller->u8SendMoudleTimer);

    /*copy buffer, prepare for retx*/
    memcpy((u8*)g_struRetxBuffer.u8MsgBuffer, pstruBuffer->u8MsgBuffer, 
        pstruBuffer->u32Len);

    g_struRetxBuffer.u32Len = pstruBuffer->u32Len;
    g_struRetxBuffer.u8Status = MSG_BUFFER_FULL;

    pstruContoller->pu8SendMoudleBuffer = (u8*)&g_struRetxBuffer;
    pstruContoller->u8ReSendMoudleNum = 0;

    /*Send to Moudle*/
    pstruContoller->pstruMoudleFun->pfunSendToMoudle((u8*)pstruMsg, pstruBuffer->u32Len);


    /*restart heart timer*/
    if (PCT_TIMER_INVAILD != pstruContoller->u8HeartTimer)
    {
        TIMER_StopTimer(pstruContoller->u8HeartTimer);
    }

    pstruContoller->pstruMoudleFun->pfunSetTimer(PCT_TIMER_SENDHEART, 
        PCT_TIMER_INTERVAL_HEART, &pstruContoller->u8HeartTimer);
#if 0
    if (0x03 == pstruBuffer->u8MsgBuffer[9] && 0x01 == pstruBuffer->u8MsgBuffer[11])
    {
        //u8Buf = u8Buf2;
        custom_log("open light");
        UartProcess(u8Buf1, 7);
    }
#if 0
    else if (0x04 == pstruBuffer->u8MsgBuffer[9] && 0x00 == pstruBuffer->u8MsgBuffer[11])
    {
        //u8Buf = u8Buf1;
        custom_log("close light");
        UartProcess(u8Buf1, 7);
    }
#endif

#endif
}
예제 #2
0
파일: main2.c 프로젝트: witc/Muj_Obojek_GPS
/*
 * Main application entry point.
 */
int main( void )
{
    
    
    Radio = RadioDriverInit( );
    
    Radio->Init( );

    Radio->StartRx( );
    
    while( 1 )
    {
        if( EnableMaster == true )
        {
            OnMaster( );
        }
        else
        {
            OnSlave( );
        }    
#if( PLATFORM == SX12xxEiger ) && ( USE_UART == 1 )

        UartProcess( );
        
        {
            uint8_t data = 0;
            if( UartGetChar( &data ) == UART_OK )
            {
                UartPutChar( data );
            }
        }
#endif        
    }
#ifdef __GNUC__
    return 0;
#endif
}