diff options
Diffstat (limited to 'robot')
| -rw-r--r-- | robot/errcatch.c | 3 | ||||
| -rw-r--r-- | robot/mode_grid.c | 9 | ||||
| -rw-r--r-- | robot/sercomm.c | 6 | 
3 files changed, 12 insertions, 6 deletions
diff --git a/robot/errcatch.c b/robot/errcatch.c index 27026b5..3e62270 100644 --- a/robot/errcatch.c +++ b/robot/errcatch.c @@ -20,6 +20,7 @@ void w2_errcatch_display_error(uint8_t code) {  void w2_errcatch_error_beep(uint8_t code) {  	if (code == W2_E_WARN_UNCAUGHT_ERROR) return; +	if (code == W2_E_WARN_CYCLE_EXPIRED) return;  	uint8_t severity = code & W2_E_TYPE_MASK;  	if ((severity ^ W2_E_TYPE_CRIT) == 0) {  		play("L70 O6 fRfRfRfRf"); @@ -48,6 +49,8 @@ void w2_errcatch_handle_error(w2_s_error *error) {  			break;  		case W2_E_WARN_BATTERY_LOW:  			break; +		case W2_E_WARN_CYCLE_EXPIRED: +			break;  		default: {  			g_w2_error_uncaught = true;  #ifdef W2_SIM diff --git a/robot/mode_grid.c b/robot/mode_grid.c index ff80dd2..b6ed572 100644 --- a/robot/mode_grid.c +++ b/robot/mode_grid.c @@ -1,9 +1,13 @@ +#include <stdio.h> +#include <string.h> +  #include "mode_grid.h"  #include "hypervisor.h"  #include "io.h"  #include "modes.h"  #include "movement.h"  #include "orangutan_shim.h" +#include "../shared/errcatch.h"  /**   * TODO: mode_grid g_w2_target_area laten volgen @@ -204,6 +208,11 @@ void w2_turn_east() {  // signals when the product is picked  void w2_arrived_message() {  	if (g_w2_location.x == g_w2_destination.x && g_w2_location.y == g_w2_destination.y) { +		char msg[64]; +		sprintf(msg, "reached %i, %i", g_w2_destination.x, g_w2_destination.y); +		size_t len = strlen(msg); +		w2_errcatch_throw_msg(W2_E_INFO_ORDER_ARRIVED, len, msg); +  		play_frequency(400, 500, 7);  		delay(500);  	} diff --git a/robot/sercomm.c b/robot/sercomm.c index 16134d1..8df6157 100644 --- a/robot/sercomm.c +++ b/robot/sercomm.c @@ -118,17 +118,11 @@ void w2_cmd_dirc_rx(w2_s_bin *data) {  void w2_cmd_cord_rx(w2_s_bin *data) { return; } -#include <stdio.h>  void w2_cmd_bomd_rx(w2_s_bin *data) {  	W2_CAST_BIN(w2_s_cmd_bomd_rx, data, req);  	req->position = w2_bin_hton32(req->position); -	char buf[32]; -	clear(); -	// sprintf(buf, "%lu, %lu", req->position % W2_MAP_DEFAULT_WIDTH, req->position / W2_MAP_DEFAULT_WIDTH); -	sprintf(buf, "%lu", req->position); -	print(buf);  	g_w2_order[g_w2_order_index].x = req->position % W2_MAP_DEFAULT_WIDTH;  	g_w2_order[g_w2_order_index].y = req->position / W2_MAP_DEFAULT_WIDTH;  	g_w2_order_index++;  |