diff options
Diffstat (limited to 'robot/io.c')
| -rw-r--r-- | robot/io.c | 14 | 
1 files changed, 3 insertions, 11 deletions
| @@ -17,21 +17,13 @@ void w2_io_object_detection() {  	if (!g_w2_io_object_detected && front_distance >= W2_IO_DISTANCE_CLOSE_THRESHOLD) {  		g_w2_io_object_detected = true;  		w2_hypervisor_time_start(W2_TIMER_OBJECT_DETECTION); -		lcd_goto_xy(0, 0); -		print("detected"); +		w2_errcatch_throw(W2_E_WARN_OBSTACLE_DETECTED);  	}  	if (g_w2_io_object_detected) { -		if (front_distance <= W2_IO_DISTANCE_FAR_THRESHOLD) { -			g_w2_io_object_detected = false; -			lcd_goto_xy(0, 0); -			print("        "); -		} -		if (w2_hypervisor_time_end(W2_TIMER_OBJECT_DETECTION) >= W2_IO_DISTANCE_TOO_CLOSE_TIMEOUT) { +		if (front_distance <= W2_IO_DISTANCE_FAR_THRESHOLD) g_w2_io_object_detected = false; +		if (w2_hypervisor_time_end(W2_TIMER_OBJECT_DETECTION) >= W2_IO_DISTANCE_TOO_CLOSE_TIMEOUT)  			w2_errcatch_throw(W2_E_CRIT_OBSTACLE_STUCK); -			lcd_goto_xy(0, 0); -			print("unavoid "); -		}  		set_motors(0, 0);  	} |