예제 #1
0
SingleEncoder::SingleEncoder(uint8_t interrupt1, uint8_t interrupt2, uint8_t analog1,uint8_t analog2)
{
    intPinA = interrupt1;
    intPinB = interrupt2;
    anaPinA = analog1;
    anaPinB = analog2;
    pinMode(intPinA, INPUT);
    pinMode(intPinB, INPUT);
    attachInterrupt(0, updateEnc1, CHANGE);
    attachInterrupt(1, updateEnc2, CHANGE);
    init_Timer();
}
예제 #2
0
/*! \brief	Initializes all configuration variables.
*/
void Configuration::init() {
	// MISC
	Oscillator_Freq = 16000000;		//Oscillator frequency in Hz
	CPUCLK = Oscillator_Freq;
	PBACLK = Oscillator_Freq;
	PWMCLK = Oscillator_Freq;
	ADCCLK = Oscillator_Freq;
	
	init_Timer();
	init_PWM();
	init_Motor();
	init_Sensors();
	init_UART();
	init_StatusLEDs();
}
예제 #3
0
void start_Measuring(){
	uint8_t numBytes;
	mpu_regs->fifo_en |= (BIT_FIFO_EN_XYZA | BIT_FIFO_EN_XYZG); /* Turn on sensors */
	mpu_regs->user_ctrl |= (BIT_FIFO_EN);					/* turn on the fifo for data */
	enQueue(mpuTxQueue, reg.fifo_en);			  			/* enqueue the register */
	enQueue(mpuTxQueue, mpu_regs->fifo_en);				 /* enqueue values of regs */
	numBytes = 1; 															 /* number of reg VALUES written */
	mpu_writeRegister(numBytes, reg.fifo_en, false); 
	/* Turn on/off device sectors */
	enQueue(mpuTxQueue, reg.user_ctrl);			  			/* enqueue the register */
	enQueue(mpuTxQueue, mpu_regs->user_ctrl);				 /* enqueue values of regs */
	numBytes = 1; 															 /* number of reg VALUES written */
	mpu_writeRegister(numBytes, reg.user_ctrl, false); /* can burst write consecutive regs */

	init_Timer(MS_PER_SAMPLE);	/* Set timer to periodically update motion */
	start_Timer();
	
}
예제 #4
0
int main(void)
{
	int i;		
	unsigned char add[5]={110,110,8,110,110};
  /*!< At this stage the microcontroller clock setting is already configured to 
       120 MHz, this is done through SystemInit() function which is called from
       startup file (startup_stm32f2xx.s) before to branch to application main.
       To reconfigure the default setting of SystemInit() function, refer to
       system_stm32f2xx.c file
     */
  
#ifdef SERIAL_DEBUG
  DebugComPort_Init();
#endif
  
	initLED();
	init_Timer();
	//while(1);
	
  /*Initialize LCD and Leds */ 
  //LCD_LED_Init();
	
	delay_ms(500);				
	
	for(i=0;i<100;i++)
	{
		setNumber(i);
		delay_ms(10);				
	}
	beep(40);
	offSegment(3);
	delay_ms(100);
	setNumber(0);
	delay_ms(100);
	beep(40);
	offSegment(3);
	delay_ms(100);
	setNumber(0);
	delay_ms(100);
	beep(40);
	
	//USART2_Init();
	//USART3_Init();
	
	init_NRF1_IO();
	init_NRF2_IO();
	SPI1_Config();
	SPI3_Config();
	SPI_Cmd(SPI1, ENABLE);
	SPI_Cmd(SPI3, ENABLE);
	
  nrf24l01_initialize_debug(false, TX_PAYLOAD_SIZE, false);
	nrf24l01_clear_flush();
	add[2]=8;
	nrf24l01_set_tx_addr(add , 5);
	add[2]=30;
	nrf24l01_set_rx_addr(add,5,0);
	nrf24l01_set_rf_ch(tx_channel);


	nrf24l02_initialize_debug(false, RX_PAYLOAD_SIZE, false);	
 	nrf24l02_clear_flush();
	add[2]=8;
	nrf24l02_set_tx_addr(add , 5);
	add[2]=30;
	nrf24l02_set_rx_addr(add,5,0);	
	nrf24l02_set_rf_ch(rx_channel);
	nrf24l02_set_as_rx(true);		
	
  /* configure ethernet */ 
  ETH_BSP_Config();
    
  /* Initilaize the LwIP stack */
  LwIP_Init();
  
  /* UDP echoserver */
  udp_echoserver_init();
  
    
  /* Infinite loop */
  while (1)
  {  
    /* check if any packet received */
					
    if (ETH_CheckFrameReceived())
    {
      /* process received ethernet packet */
      LwIP_Pkt_Handle();
    }
    /* handle periodic timers for LwIP */
    LwIP_Periodic_Handle(LocalTime);
		
		process_incoming_rf();
		
		if(firstPacketRecieved==0)
		{
			demo();
			setNumber(22);			
		}
							
  }   
}