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 }
/* * 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 }