Ejemplo n.º 1
0
bool SrSetAnt(HANDLE hCom, unsigned char cAntMask, unsigned int *pdwErr) {
	int ret = SetAnt(hCom, cAntMask, pdwErr);
	if (ret == -1) {
		*pdwErr = ERR_CODE_SET_ANT;
		return false;
	}
	return true;
}
Ejemplo n.º 2
0
void SetupRecieveTestPacket( U8 radio )
{
	SetAnt( radio, ANT_RX );
	msleep( 50 );

	WriteRegister( radio, RFREG_FUNC_CTRL_1, xton );	// to ready mode

	//clear interrupts.
	ReadRegister( radio, RFREG_INT_STATUS_1);
	ReadRegister( radio, RFREG_INT_STATUS_2);

	WriteRegister( radio, RFREG_RX_FIFO_CTRL, 17);//rx fifo almost full threshold set to 17.

	WriteRegister( radio, RFREG_FUNC_CTRL_2, 0x03);//clear both fifos
	WriteRegister( radio, RFREG_FUNC_CTRL_2, 0x00);//second write in above opperation

	WriteRegister( radio, RFREG_INT_EN_1, 2);//enable interrupt for valid packet received

	WriteRegister( radio, RFREG_FUNC_CTRL_1, rxon | xton );//RX on in manual receiver mode.  auto clears when a valid packet is received. (does nothing in multiple packet config)
	//ready mode


}
Ejemplo n.º 3
0
void SentTestPacket( U8 radio )
{
	U8 i;

	WriteRegister( radio, RFREG_FUNC_CTRL_1, xton);	// To ready mode

	SetAnt( radio, ANT_TX );
	msleep( 50 );

	WriteRegister( radio, RFREG_FUNC_CTRL_2, 0x03 );	// FIFO reset
	WriteRegister( radio, RFREG_FUNC_CTRL_2, 0x00 );	// Clear FIFO

	WriteRegister(radio, RFREG_PREAMBLE_LEN, 64);	// preamble = 64nibble
	WriteRegister(radio, RFREG_TX_PACKET_LEN, 17);	// packet length = 17bytes


	WriteRegister(radio, RFREG_FIFO_ACCESS, 'h');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'e');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'l');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'l');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'o');
	WriteRegister(radio, RFREG_FIFO_ACCESS, ' ');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'w');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'o');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'r');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'l');
	WriteRegister(radio, RFREG_FIFO_ACCESS, 'd');
	WriteRegister(radio, RFREG_FIFO_ACCESS, '!');
	WriteRegister(radio, RFREG_FIFO_ACCESS, ' ');
	WriteRegister(radio, RFREG_FIFO_ACCESS, ' ');
	WriteRegister(radio, RFREG_FIFO_ACCESS, ' ');
	WriteRegister(radio, RFREG_FIFO_ACCESS, '1');
	WriteRegister(radio, RFREG_FIFO_ACCESS, '7');
	//for (i=0; i<17; i++)
	//{
		//WriteRegister(radio, RFREG_FIFO_ACCESS, 'h');	// send payload to the FIFO
	//}

	WriteRegister(radio, RFREG_INT_EN_1, 0x04);			// enable packet sent interrupt
	i = ReadRegister(radio, RFREG_INT_STATUS_1);		// Read Interrupt status1 register
	i = ReadRegister(radio, RFREG_INT_STATUS_2);

	WriteRegister(radio, RFREG_FUNC_CTRL_1, txon | xton );	// Start TX

	//while ((PIND & (1<<NIRQ)) != 0); 	// need to check interrupt here
	//wait for Packet Sent interrupt to be set.
	//wait up to 500ms, 10 ms at a time.
	for( i=0; i < 50; ++i )
	{
		U8 status;

		msleep( 10 ); //10ms

		status = ReadRegister( radio, RFREG_INT_STATUS_1 );
		if( ( status & (1 << 2) ) != 0 )
			break;

	}

	//__delay_cycles( 100000 * 8 );

	WriteRegister(radio, RFREG_FUNC_CTRL_1, xton );	// to ready mode

	SetAnt( radio, ANT_OFF );

}