Ejemplo n.º 1
0
void timer_intr(softvec_type_t type, unsigned long sp)
{
  if( timer_is_expired(0))
    {
      puts("timer expired 0. \n");
      timer_expire(0);
    }
  if( timer_is_expired(1))
    {
      puts("timer expired 1. \n");
      timer_cancel(1);
    }
}
Ejemplo n.º 2
0
int main (void)
{
	U8 msg[32] = "Hi ArduSub\n\r";
	pmic_init();
	sysclk_init();
	
	adc_init();
	thruster_init();
	ioport_init();
	timer_init(10000);
	timer_set_counts(TIMER_HEARTBEAT,timer_ms_to_counts(250));
	timer_start(TIMER_HEARTBEAT);
	cpu_irq_enable();

	volatile U8 count = 0;
	ioport_set_pin_dir(LED1,IOPORT_DIR_OUTPUT);
	ioport_set_pin_dir(LED2,IOPORT_DIR_OUTPUT);
	ioport_set_pin_dir(UARTD_TX,IOPORT_DIR_OUTPUT);
	ioport_set_pin_dir(UARTD_RX,IOPORT_DIR_INPUT);
	ioport_set_pin_dir(TXEN,IOPORT_DIR_OUTPUT);
	board_init();
	uart_init(19200);
	do 
	{
		message_tasks();

		count++;
		if (count > 52)
		{
			
			count  = 0;
			
		}
		if(timer_is_expired(TIMER_HEARTBEAT))
		{
			timer_reset(TIMER_HEARTBEAT);
			board_pres_read();
			ext_temp_read();
			//ioport_set_pin_level(TXEN,1);
			//uart_write(&msg[0],12);
			//while(uart_tx_count() != 0);
			//blink heart beat LED
			ioport_set_pin_level(LED2,!ioport_get_pin_level(LED2));
		}
	} while (1);

	// Insert application code here, after the board has been initialized.
}
Ejemplo n.º 3
0
//Check that the sent values did not time-out
// The timed-out values are re-sent
void values_timeout_check(void* arg) {
	client * cl = arg;
	
	gettimeofday(&cl->current_time, NULL);
	
	client_proposal * c;
	unsigned i;
	for(i = 0; i < CONCURRENT_VALUES; i++) {
		c = &cl->pending_values[i];
		if(timer_is_expired(&c->timeout, &cl->current_time)) {
			cl->timeout_count += 1;
			// printf("Value %u timed-out\n", i);
			submit_value(cl->us, c->submit_msg);
			save_submit_time(c, &cl->current_time);
			timer_set_timeout(&cl->current_time, &c->timeout, &cl->value_timeout_interval);
		}
	}
	
}