コード例 #1
0
ファイル: NetCom.cpp プロジェクト: wheresjames/rulib
long CNetCom::OnNetMsg(WPARAM wParam, LPARAM lParam)
{_STT();

	// Is it a message from the receiver?
	if ( wParam == CNetMsg::eRx && lParam == (LPARAM)m_prx ) 
		return OnRx();

	// Handle tx messages
	else if ( wParam == CNetMsg::eTx && lParam == (LPARAM)m_ptx ) 
		return OnTx();

	return FALSE;
}
コード例 #2
0
ファイル: WspStream.cpp プロジェクト: aminsyed/rulib
BOOL CWspStream::OnWrite( int nErr )
{
	// Lock the transmit buffer
	CTlLocalLock ll( *Tx() );
	if ( !ll.IsLocked() ) 
		return FALSE;		

	// Not blocking now
	m_bTxBusy = FALSE;

	// Send more data
	return OnTx();
}
コード例 #3
0
ファイル: ssi_peripheral.cpp プロジェクト: anol/justscale
//--------------------------------
void ssi_peripheral::OnInterrupt() {
	uint32_t nIntStatus = SSIIntStatus(m_rSpecification.m_nSSIBase, false);
	uint32_t nSsiStatus = (HWREG(m_rSpecification.m_nSSIBase + SSI_O_SR));
	SSIIntClear(m_rSpecification.m_nSSIBase, nIntStatus);
	if (SSI_SR_TFE & nSsiStatus) { // SSI Transmit FIFO Empty (status)
		m_nSRTFE++;
		OnTx();
	}
	if ( SSI_TXFF & nIntStatus) { // TX FIFO half full or less
		m_nTXFF++;
	}
	if ( SSI_RXFF & nIntStatus) { // RX FIFO half full or more
		m_nRXFF++;
		UnloadRxFIFO();
	}
	if ( SSI_RXTO & nIntStatus) {  // RX timeout
		m_nRXTO++;
	}
	if ( SSI_RXOR & nIntStatus) {  // RX overrun
		m_nRXOR++;
	}
}