aboutsummaryrefslogtreecommitdiff
path: root/robot/sim.h
diff options
context:
space:
mode:
Diffstat (limited to 'robot/sim.h')
-rw-r--r--robot/sim.h27
1 files changed, 19 insertions, 8 deletions
diff --git a/robot/sim.h b/robot/sim.h
index 249414d..7d7c091 100644
--- a/robot/sim.h
+++ b/robot/sim.h
@@ -9,21 +9,21 @@
#include "../shared/bin.h"
#include "../shared/protocol.h"
-extern bool g_w2_sim_headless;
-
// debug fine-tuning
-#define DBG_ENABLE_PRINTFUNC (1)
+#define DBG_ENABLE_PRINTFUNC (0)
#define DBG_ENABLE_SIMWARN (1)
#define DBG_ENABLE_SIMINFO (1)
#define DBG_ENABLE_CYCLEINFO (0)
-#define DBG_ENABLE_SERIAL (1)
+#define DBG_ENABLE_SERIAL (0)
-#define DBG_MAX_CYCLES (10)
+#define DBG_CYCLE_DELAY (10e3)
+#define DBG_MAX_CYCLES (-1)
// debug print options
#define DBG_BYTES_PER_LINE 16
// debug colors
+#ifdef DBG_ENABLE_COLOR
#define COL_BLK "\e[0;30m"
#define COL_RED "\e[0;31m"
#define COL_GRN "\e[0;32m"
@@ -33,9 +33,20 @@ extern bool g_w2_sim_headless;
#define COL_CYN "\e[0;36m"
#define COL_WHT "\e[0;37m"
#define COL_RST "\e[0m"
+#else
+#define COL_BLK ""
+#define COL_RED ""
+#define COL_GRN ""
+#define COL_YEL ""
+#define COL_BLU ""
+#define COL_MAG ""
+#define COL_CYN ""
+#define COL_WHT ""
+#define COL_RST ""
+#endif
// debug stdout print macros
-#define simprintf(message, ...) if (!g_w2_sim_headless) printf(COL_RED "[SIM] " COL_RST message, ##__VA_ARGS__)
+#define simprintf(message, ...) fprintf(stderr, COL_RED "[SIM] " COL_RST message, ##__VA_ARGS__)
#define simprint(message) simprintf(message "\n")
#define simprintfunc(name, fmt, ...) if (DBG_ENABLE_PRINTFUNC) { simprintf(COL_BLU "[FUNC] " \
COL_CYN name COL_RST "(" COL_YEL fmt COL_RST ")\n", ##__VA_ARGS__); }
@@ -60,7 +71,7 @@ void green_led(unsigned char on); // NOLINT
void clear(); // NOLINT
void play(const char *melody); // NOLINT
void serial_set_baud_rate(unsigned int rate); // NOLINT
-void serial_send(char *message, unsigned int length); // NOLINT
+void serial_send_blocking(char *message, unsigned int length); // NOLINT
void serial_receive_ring(char *buffer, unsigned char size); // NOLINT
unsigned char serial_get_received_bytes(); // NOLINT
void set_motors(int left, int right); // NOLINT
@@ -69,7 +80,7 @@ void qtr_read(unsigned int* sensor_values, unsigned char read_mode); // NOLINT
unsigned int analog_read(unsigned char channel); // NOLINT
void print(const char* str); // NOLINT
-void w2_sim_setup(int argc, char **argv);
+void w2_sim_setup();
void w2_sim_cycle_begin();
void w2_sim_print_serial(w2_s_bin *data);