void main_task(intptr_t unused) {

	shared_memory = new SharedMemory();
	sensor_data = new SensorData();
	sensors = new Sensors();

	aa = new AvoidAction(shared_memory, sensor_data, sensors);
	ca = new ColorAction(shared_memory, sensor_data, sensors);
	wa = new WalkAction(shared_memory, sensor_data, sensors);

	init();

	Arbitrator arbitrator(sensor_data, sensors);

	// Start the tasks, will sleep imidiatly
	act_tsk(aa->taskID());
	act_tsk(ca->taskID());
	act_tsk(wa->taskID());

	arbitrator.apply(aa);
	arbitrator.apply(ca);
	arbitrator.apply(wa);

	arbitrator.start();
	return;
}
Example #2
0
void sensors(void)
{
	
	bluetooth_task();
//	zigbee_manual_task();
//	origin_pos_task();
//	magnav_task();
	arbitrator();
}