Exemplo n.º 1
0
/** \brief Função principal do módulo de IO.
  * @param  None
  * @retval None
  *
  * Loop que amostra sensores como necessário.
  *
  */
void module_imu_run()
{
	unsigned int heartBeat=0;
	char tmp[20];
  	/*Dados usados no sonar*/
	float accel[3], mag[3], gyro[3];
	long *ts;


  	while(1) {

		/* Leitura do numero de ciclos atuais */
		lastWakeTime = xTaskGetTickCount();

		oInputData.heartBeat=heartBeat++;

		/*----------------------Tratamento da IMU---------------------*/
		/* Pega e trata os valores da imu */
		//c_io_imu_getRaw(oInputData.imuOutput.accRaw, oInputData.imuOutput.gyrRaw, oInputData.imuOutput.magRaw,sample_time_gyro_us);


		/* toggle pin for debug */
		c_common_gpio_toggle(LED4);
		c_io_imuAdafruit_getRaw(accel,gyro,mag,ts);
		//imu_getRaw(accel,gyro,mag,ts);
		displayDataDetails(accel,mag,gyro);

		/* Realiza o trabalho de mutex */
		//if(pv_interface_in.oInputData != 0)
			//xQueueOverwrite(pv_interface_in.oInputData, &oInputData);

		/* A thread dorme ate o tempo final ser atingido */
		vTaskDelayUntil( &lastWakeTime, (MODULE_PERIOD / portTICK_RATE_MS));
	}
}
Exemplo n.º 2
0
// `I'm alive` kind of task
void blink_led_task(void *pvParameters)
{
    while(1) {
    	//c_io_rx24f_readPosition(0x01);
    	//c_io_rx24f_setLed(0x01, 0x01);
    	c_io_rx24f_move(0x01, 0);
    	c_common_gpio_toggle(LED);
        vTaskDelay(500/portTICK_RATE_MS);

        //c_io_rx24f_readPosition(0x01);
        //c_io_rx24f_setLed(0x01, 0x00);
        c_io_rx24f_move(0x01, 10);
        c_common_gpio_toggle(LED);
        vTaskDelay(500/portTICK_RATE_MS);
    }
}