Ejemplo n.º 1
0
void oled_on()
{
nrk_time_t t;
nrk_gpio_set(NRK_DEBUG_1);
t.secs=1;
t.nano_secs=500*NANOS_PER_MS;
nrk_kprintf( PSTR( "start wait\r\n" ));
nrk_wait(t);
nrk_kprintf( PSTR( "stop wait\r\n" ));
putc0(0x55);
}
Ejemplo n.º 2
0
//------------------------------------------------------------------------------
//      void main (void)
//
//      DESCRIPTION:
//              Startup routine and main loop
//------------------------------------------------------------------------------
int main (void)
{
    uint8_t cnt,i,length;

    nrk_setup_ports(); 
    nrk_setup_uart (UART_BAUDRATE_115K2);
 
    printf( "Basic TX...\r\n" ); 
    nrk_led_clr(0); 
    nrk_led_clr(1); 
    nrk_led_clr(2); 
    nrk_led_clr(3); 

    nrk_gpio_set(NRK_DEBUG_0);
    nrk_gpio_set(NRK_DEBUG_1);

    rfRxInfo.pPayload = rx_buf;
    rfRxInfo.max_length = RF_MAX_PAYLOAD_SIZE;
    rf_init (&rfRxInfo, 25, 0x2420, 0x1215);
    cnt=0;
    while(1)
	{
		nrk_led_set(1);
    		rfTxInfo.pPayload=tx_buf;
    		sprintf( tx_buf, "This is my string counter %d", cnt); 
    		rfTxInfo.length=strlen(&tx_buf);
    		rfTxInfo.cca=0;
		nrk_gpio_set(NRK_DEBUG_0);
		printf( "Sending\r\n" );
		rf_tx_packet (&rfTxInfo);
		nrk_gpio_clr(NRK_DEBUG_0);
		cnt++;
		for(i=0; i<10; i++ )
			halWait(10000);
		nrk_led_clr(1);
		for(i=0; i<10; i++ )
			halWait(10000);
	}


}
Ejemplo n.º 3
0
//------------------------------------------------------------------------------
//      void main (void)
//
//      DESCRIPTION:
//              Startup routine and main loop
//------------------------------------------------------------------------------
int main (void)
{
    uint8_t cnt,i,length;

    nrk_setup_ports(); 
    nrk_setup_uart (UART_BAUDRATE_115K2);
 
    printf( "Basic TX...\r\n" ); 
    nrk_led_set(0); 
    nrk_led_set(1); 
    nrk_led_clr(2); 
    nrk_led_clr(3); 
/*
	    while(1) {
		   
				for(i=0; i<40; i++ )
					halWait(10000);
		    nrk_led_toggle(1);

	    }

*/

    rfRxInfo.pPayload = rx_buf;
    rfRxInfo.max_length = RF_MAX_PAYLOAD_SIZE;
		nrk_int_enable();
    rf_init (&rfRxInfo, 13, 0x2420, 0x1214);
    cnt=0;
    while(1){
				nrk_led_set(GREEN_LED);
    		rfTxInfo.pPayload=tx_buf;
    		sprintf( tx_buf, "This is my string counter %d", cnt); 
    		rfTxInfo.length= strlen(tx_buf) + 1;
				rfTxInfo.destAddr = 0x1215;
				rfTxInfo.cca = 0;
				rfTxInfo.ackRequest = 0;
				
				printf( "Sending\r\n" );
				nrk_gpio_set(NRK_DEBUG_0);
				if(rf_tx_packet(&rfTxInfo) != 1)
					printf("--- RF_TX ERROR ---\r\n");
				nrk_gpio_clr(NRK_DEBUG_0);
				cnt++;
		
				for(i=0; i<80; i++ )
					halWait(10000);
				nrk_led_clr(GREEN_LED);
				for(i=0; i<20; i++ )
					halWait(10000);
		}

}
Ejemplo n.º 4
0
void cc259x_tx()
{
    nrk_gpio_set(NRK_DEBUG_1);
    nrk_gpio_set(NRK_DEBUG_0);
}
Ejemplo n.º 5
0
void cc259x_rx()
{
    nrk_gpio_set(NRK_DEBUG_1);
    nrk_gpio_clr(NRK_DEBUG_0);
}
Ejemplo n.º 6
0
void deep_sleep_button()
{
    int i,cnt;
    nrk_int_disable();
    nrk_eeprom_write_byte(EEPROM_SLEEP_STATE_ADDR,1);
    nrk_led_set(0);
    nrk_spin_wait_us(50000);
    nrk_led_clr(0);
    nrk_led_clr(1);
    nrk_led_clr(2);
    nrk_led_clr(3);
    nrk_watchdog_disable();
    nrk_int_disable();
    _nrk_os_timer_stop();
    nrk_gpio_direction(NRK_BUTTON, NRK_PIN_INPUT);
    rf_power_down();
    // Enable Pullup for button
    //PORTD = 0xff;
    nrk_gpio_set(NRK_BUTTON);
    nrk_ext_int_configure( NRK_EXT_INT_1,NRK_LEVEL_TRIGGER, &wakeup_func);
    EIFR=0xff;
    nrk_ext_int_enable( NRK_EXT_INT_1);
    nrk_int_enable();
    DDRA=0x0;
    DDRB=0x0;
    DDRC=0x0;
    ASSR=0;
    TRXPR = 1 << SLPTR;
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
    sleep_enable();
    sleep_cpu();
    // reboot
    while(1) {
        //printf( "awake!\r\n" );
        nrk_led_clr(0);
        nrk_led_clr(1);
        nrk_led_set(1);
        cnt=0;
        for(i=0; i<100; i++ )
        {
            //if((PIND & 0x2)==0x2)cnt++;
            if(nrk_gpio_get(NRK_BUTTON)==0)cnt++;
            nrk_spin_wait_us(10000);
        }
        printf( "cnt=%d\n",cnt );
        if(cnt>=50 ) {
            // reboot
            nrk_led_clr(1);
            nrk_led_set(0);
            nrk_eeprom_write_byte(EEPROM_SLEEP_STATE_ADDR,0);
            nrk_spin_wait_us(50000);
            nrk_spin_wait_us(50000);
            nrk_watchdog_enable();
            while(1);

        }
        nrk_led_clr(0);
        nrk_led_clr(1);
        TRXPR = 1 << SLPTR;
        set_sleep_mode(SLEEP_MODE_PWR_DOWN);
        sleep_enable();
        sleep_cpu();
    }
}