Esempio n. 1
0
void
nRFCMD_Execute (void)
{
	nRFCMD_Config (NRF_CONFIG_BYTE | NRF_CONFIG_PWR_UP);
	sleep_jiffies (JIFFIES_PER_MS (1.5));
	CONFIG_PIN_CE = 1;
	sleep_jiffies (JIFFIES_PER_MS (1));
	CONFIG_PIN_CE = 0;
	nRFCMD_Config (NRF_CONFIG_BYTE);
}
Esempio n. 2
0
void pwm(uint16_t jiffies)
{
	CONFIG_PIN_LED = 1;
	CONFIG_PIN_TX_POWER = 1;
	sleep_jiffies (jiffies);

	CONFIG_PIN_LED = 0;
	CONFIG_PIN_TX_POWER = 0;
	sleep_jiffies (JIFFIES_PER_MS (20)-jiffies);
}
Esempio n. 3
0
void
nRFCMD_Init (void)
{
	/* update CPU default pin settings */
	CONFIG_PIN_CSN = 1;
	CONFIG_PIN_CE = 0;
	CONFIG_PIN_MOSI = 0;
	CONFIG_PIN_SCK = 0;

	sleep_jiffies (JIFFIES_PER_MS (2));

	/* send initialization macro to RF chip */
	nRFCMD_Macro (g_MacroInitialization);
}
Esempio n. 4
0
void
nRFCMD_Listen (uint8_t jiffies)
{
	nRFCMD_Config (NRF_CONFIG_BYTE | NRF_CONFIG_PWR_UP);
	sleep_jiffies (JIFFIES_PER_MS (1.5));
	nRFCMD_Config (NRF_CONFIG_BYTE | NRF_CONFIG_PWR_UP | NRF_CONFIG_PRIM_RX);

	CONFIG_PIN_CE = 1;
	sleep_jiffies (jiffies);
	CONFIG_PIN_CE = 0;

	/* keep powered after IRQ */
	nRFCMD_Config (CONFIG_PIN_IRQ ? NRF_CONFIG_BYTE : NRF_CONFIG_BYTE |
				   NRF_CONFIG_PWR_UP);
}
Esempio n. 5
0
void
main (void)
{
	uint8_t j;

	/* configure CPU peripherals */
	OSCCON = CONFIG_CPU_OSCCON_SLOW;
	OPTION_REG = CONFIG_CPU_OPTION;
	PORTA = CONFIG_CPU_PORTA;
	PORTC = CONFIG_CPU_PORTC;
	TRISA = CONFIG_CPU_TRISA;
	TRISC = CONFIG_CPU_TRISC;
	WPUA = CONFIG_CPU_WPUA;
	WPUC = CONFIG_CPU_WPUC;
	ANSELA = CONFIG_CPU_ANSELA;
	ANSELC = CONFIG_CPU_ANSELC;

	INTE = 0;
	CONFIG_PIN_SENSOR = 0;
	CONFIG_PIN_TX_POWER = 0;

	/* initalize hardware */
	timer_init ();

	/* verify RF chip */
	nRFCMD_Init ();
	while(1)
	{
		nRFCMD_Channel (23);
		if(nRFCMD_RegGet (NRF_REG_RF_CH)==23)
		{
			nRFCMD_Channel (42);
			if(nRFCMD_RegGet (NRF_REG_RF_CH)==42)
				break;
		}

		CONFIG_PIN_LED = 1;
		sleep_jiffies (JIFFIES_PER_MS (25));
		CONFIG_PIN_LED = 0;
		sleep_jiffies (JIFFIES_PER_MS (25));
	}

	/* blink to show readyiness */
	for (j = 0; j <= 10; j++)
	{
		CONFIG_PIN_LED = j & 1;
		sleep_jiffies (JIFFIES_PER_MS (25));
	}

	// switch to listening channel
	nRFCMD_Channel (CONFIG_TRACKER_CHANNEL);

	while (1)
	{
/*
		nRFCMD_Listen (JIFFIES_PER_MS (500));

		if (!CONFIG_PIN_IRQ)
		{
			while ((nRFCMD_RegGet (NRF_REG_FIFO_STATUS) &
					NRF_FIFO_RX_EMPTY) == 0)
			{
				// receive raw data
				nRFCMD_RegRead (RD_RX_PLOAD, pkt, sizeof (pkt));
				nRFCMD_RegPut (NRF_REG_STATUS | WRITE_REG,
							   NRF_CONFIG_MASK_RX_DR);

				CONFIG_PIN_LED = 1;
				sleep_jiffies (JIFFIES_PER_MS (100));
			}
		}

		CONFIG_PIN_LED = 1;

		// blink for 1ms
		sleep_jiffies (JIFFIES_PER_MS (1));

		// disable LED
		CONFIG_PIN_LED = 0;
*/

		for(j=0;j<200;j++)
			pwm(10);

		for(j=0;j<200;j++)
			pwm(30);
	}
}
Esempio n. 6
0
void
sleep_2ms (void)
{
  sleep_jiffies (JIFFIES_PER_MS(2));
}
Esempio n. 7
0
void
nRFCMD_StartRX (void)
{
  nRFCMD_Macro (g_MacroStartRX);
  sleep_jiffies ( JIFFIES_PER_MS(1) );
}