Beispiel #1
0
void main(void) {

    init();

    while(1) // main loop
    {

/*        if (btn_pressed)
        {
            if (btn_pressed==BTN_BACK) LCDoff();
            if (btn_pressed==BTN_OK) LCDon();
            if (btn_pressed==BTN_UP) backlightOn();
            if (btn_pressed==BTN_DOWN) backlightOff();
            btn_pressed=0;
        };
*/
        defaultRX = 1;
        NRF_init(85);

        while(!isThereTemperatureReady())
        {
            setAddr(17, 0);
            showTime();
            delay_sec(1);
        };

        defaultRX = 0;
        NRF_init(86);

        TXBuf[0] = 0x10;
        TXBuf[1] = 0xff;
        TXBuf[2] = RXBuf[2];
        TXBuf[3] = RXBuf[3];
        TXBuf[4] = RXBuf[4];

        NRF_transmit(5);

        NRF_down();

    char i;

    for (i=0; i<9; i++)
    {
        delay_sec(60);
    };
        delay_sec(30);

    };

}
Beispiel #2
0
void init()
{
    WDTCTL = WDTPW + WDTHOLD; // disable WDT
    BCSCTL1 = CALBC1_1MHZ; // 1MHz clock
    DCOCTL = CALDCO_1MHZ;

    P1OUT = 0;
    P2OUT = 0;
    P1DIR = 0;
    P2DIR = 0;

    WDTCTL = WDT_ADLY_1000;                   // WDT 1s interval timer
    IE1 = WDTIE;                             // Enable WDT interrupt

    P1DIR |= LCD5110_SCE_PIN + LCD5110_DC_PIN + BACKLIGHT;
    P1OUT |= LCD5110_SCE_PIN + LCD5110_DC_PIN;

    SPI_init();
    __delay_cycles(50000);
    initLCD();
    clearLCD();

    defaultRX = 0;
    NRF_init(86);
    NRF_down();

    initKeyboard();
    // end init
};
Beispiel #3
0
 int main (void)
 {
	set_micro();
	NRF_init();
	MS5611_reset();
	MS5611_read_PROM();
	SHT11_softreset();  
	variable_init();
	
	TCD0_CNT=0;
 	
 while (1)
 {

		while (TCD0_CNT!=0xF9FF); //10 ms timer lock.
		SHT11_measure();
 		MS5611_measure();
 		
 		if (MS5611_dataflag) 
 		{
 			NRF_Transmit();
 			MS5611_dataflag=0;	
 		}
		
  		if (nrf_flag)  //doroste inja?
  		{
  			PTX_IRQ();
  			nrf_flag=0;
  		}
 		//if (twi_flag)    nashod
 		//{
 		//TWI_MasterInterruptHandler(&twiMaster);
 		//twi_flag=0;	
 		//}

 }
 
 }
Beispiel #4
0
int main (void)
{
	En_RC32M();

	//Enable LowLevel & HighLevel Interrupts
	PMIC_CTRL |= PMIC_HILVLEN_bm | PMIC_LOLVLEN_bm |PMIC_MEDLVLEN_bm;

	PORT_init();
	TimerD0_init();
	TimerC0_init();
	TimerE1_init();
	USARTE0_init();
	ADCA_init();
	//wdt_enable();

	// Globally enable interrupts
	sei();

	//Address[0]=Address[0] + RobotID ;

	//// NRF Initialize
	NRF_init () ;
	
	while(1)
	  {  
		    asm("wdr");
		   // BUZZER
		    //adc = adc +(adc_get_unsigned_result(&ADCA,ADC_CH0)-adc)*0.01;
		   adc = adc_get_unsigned_result(&ADCA,ADC_CH0);
		    if (adc<=2250)//10 volt
			Buzzer_PORT.OUTSET = Buzzer_PIN_bm;
		    else if(shoot_alarm_flg && (charge_count>=30000))
		    Buzzer_PORT.OUTSET = Buzzer_PIN_bm;
		    else
		    Buzzer_PORT.OUTCLR = Buzzer_PIN_bm;
			
			//SHOOT
			PORTC_OUTCLR=KCK_SH_PIN_bm;
			if((KCK_Ch_Limit_PORT.IN & KCK_Ch_Limit_PIN_bm)>>KCK_Ch_Limit_PIN_bp)
			{
				full_charge=1;
				tc_disable_cc_channels(&TCC0,TC_CCDEN);
				charge_count=0;
			}
			else
			{
				if((flg || flg_sw)==0)
				{
					tc_enable_cc_channels(&TCC0,TC_CCDEN);
				}
			}
			if (charge_flg)//full_charge 
			{
				if (Robot_D[RobotID].KCK )
				{
					if( KCK_Sens || (Robot_D[RobotID].KCK%2))
					{
						flg = 1;
					}
				}
			}
			if (KCK_DSH_SW)//bazi vaghta begir nagir dare
			{
				flg_sw = 1;
			}
			if (free_wheel >= 500 )
			{
				NRF_init();
			}
			if(KCK_Sens)
			LED_Green_PORT.OUTSET = LED_Green_PIN_bm;
			else
			LED_Green_PORT.OUTCLR = LED_Green_PIN_bm;
		   // //motor test
		   //switch(flag2sec)
			  //{ case 200:
			   //// M.Setpoint=1000;
			   //Robot_D[RobotID].M0b  = 0xE8;//low
			   //Robot_D[RobotID].M0a  = 0X03;//high
			   //break;
			   //
			   //case 400:
			   ////M.Setpoint=2000;
			   //Robot_D[RobotID].M0b  = 0xD0;//low
			   //Robot_D[RobotID].M0a  = 0X07;//high
			   //break;
			   //
			   //case 600:
			   ////M.Setpoint=500;
			   //Robot_D[RobotID].M0b  = 0xF4;//low
			   //Robot_D[RobotID].M0a  = 0X01;//high
			   //break;
			   //
			   //case 800:
			   ////M.Setpoint=4000;
			   //Robot_D[RobotID].M0b  = 0xA0;//low
			   //Robot_D[RobotID].M0a  = 0X0F;//high
			   //break;
			   //
			   //case 1000:
			   ////M.Setpoint=1000;
			   //Robot_D[RobotID].M0b  = 0xE8;//low
			   //Robot_D[RobotID].M0a  = 0X03;//high
			   //break;
			   //
			   //case 1200:
			   ////M.Setpoint=500;
			   //Robot_D[RobotID].M0b  = 0xF4;//low
			   //Robot_D[RobotID].M0a  = 0X01;//high
			   //break;
			   //
			   //case 1400:
			   ////M.Setpoint=-500;
			   //Robot_D[RobotID].M0b  = 0x0C;//low
			   //Robot_D[RobotID].M0a  = 0XFE;//high
			   //break;
			   //
			   //case 1600:
			   ////M.Setpoint=400;
			   //Robot_D[RobotID].M0b  = 0x90;//low
			   //Robot_D[RobotID].M0a  = 0X01;//high
			   //break;
			   //
			   //case 1800:
			   ////M.Setpoint=350;
			   //Robot_D[RobotID].M0b  = 0x5E;//low
			   //Robot_D[RobotID].M0a  = 0X01;//high
			   //break;
			   //
			   //case 2000:
			   ////M.Setpoint=340;
			   //Robot_D[RobotID].M0b  = 0x54;//low
			   //Robot_D[RobotID].M0a  = 0X01;//high
			   //break;
			   //
			   //case 2200:
			   ////M.Setpoint=330;
			   //Robot_D[RobotID].M0b  = 0x4A;//low
			   //Robot_D[RobotID].M0a  = 0X01;//high
			   //break;
			   //
			   //case 2600:
			   ////M.Setpoint=100;
			   //Robot_D[RobotID].M0b  = 0x64;//low
			   //Robot_D[RobotID].M0a  = 0X00;//high
			   //break;
			   //
			   //case 2800:
			   ////M.Setpoint=50;
			   //Robot_D[RobotID].M0b  = 0x32;//low
			   //Robot_D[RobotID].M0a  = 0X00;//high
			   //break;
			   //
			   //case 3000:
			   ////M.Setpoint=1000;
			   //Robot_D[RobotID].M0b  = 0xE8;//low
			   //Robot_D[RobotID].M0a  = 0X03;//high
			   //break;
			   //
			   //case 3200:
			   ////M.Setpoint=-50;
			   //Robot_D[RobotID].M0b  = 0xCE;//low
			   //Robot_D[RobotID].M0a  = 0XFF;//high
			   //flag2sec=0;
			   //break;
	  //
			   //}
		 //Robot_D[RobotID].M0b  = 0xD0;//0X18;//-1000//01;//low37121
		 //Robot_D[RobotID].M0a  = 0x07;//0XFC;//high
		 //Robot_D[RobotID].M1b  = 0XE8;//2000//ghalat17325
		 //Robot_D[RobotID].M1a  = 0X03;
		 //Robot_D[RobotID].M2b  = 0XDC;//1000//low13703
		 //Robot_D[RobotID].M2a  = 0X05;//high
		 //Robot_D[RobotID].M3b  = 0xF4;//3000//32;//ghalat30258
		 //Robot_D[RobotID].M3a  = 0X01;//76;
		    
			////SEND TEST DATA TO FT232
			//char str1[20];
		    //uint8_t count1 = sprintf(str1,"%d\r",adc);
			//
			//for (uint8_t i=0;i<count1;i++)
			//{
				//usart_putchar(&USARTE0,str1[i]);
				//
			//}
			//usart_putchar(&USARTE0,'a');
			
	  }