summaryrefslogtreecommitdiffstats
path: root/source/ct-Bot/include/bot-2-sim.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/ct-Bot/include/bot-2-sim.h')
-rw-r--r--source/ct-Bot/include/bot-2-sim.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/source/ct-Bot/include/bot-2-sim.h b/source/ct-Bot/include/bot-2-sim.h
new file mode 100644
index 0000000..2a3fe46
--- /dev/null
+++ b/source/ct-Bot/include/bot-2-sim.h
@@ -0,0 +1,71 @@
+/*
+ * c't-Sim - Robotersimulator fuer den c't-Bot
+ *
+ * This program is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ * This program is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the Free
+ * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307, USA.
+ *
+ */
+
+/*! @file bot-2-sim.h
+ * @brief Verbindung c't-Bot zu c't-Sim
+ * @author Benjamin Benz (bbe@heise.de)
+ * @date 26.12.05
+*/
+#ifndef __bot_2_sim
+#define __bot_2_sim
+
+#include "ct-Bot.h"
+#include "global.h"
+
+/*!
+ * Ein wenig Initilisierung kann nicht schaden
+ */
+void bot_2_sim_init(void);
+
+/*!
+ * Frage Simulator nach Daten
+ */
+int bot_2_sim_ask(uint8 command, uint8 subcommand,int16* data_l,int16* data_r);
+
+/*!
+ * Schickt einen Thread in die Warteposition
+ * @param timeout_us Wartezeit in Mikrosekunden
+ */
+void wait_for_time(long timeout_us);
+/*!
+ * Wartet auf die Antwort des PC
+ * Achtung blockierend ohne Timeout
+ * @param command Das kommando auf das gewartet wird.
+ * @return 0, wenn Ok
+ */
+int wait_for_special_command(uint8 command);
+
+/*!
+ * Schleife, die Kommandis empfaengt und bearbeitet, bis ein Kommando vom Typ Frame kommt
+ * @param frame Kommando zum abbruch
+ */
+int8 receive_until_Frame(int8 frame);
+
+#ifdef WIN32
+ #include <sys/time.h>
+ /*!
+ * Hilfsfunktion, die es nur auf dem PC gibt
+ */
+ void gettimeofday_win(struct timeval* p, void* tz /* IGNORED */);
+ #define GETTIMEOFDAY gettimeofday_win
+#else
+ #define GETTIMEOFDAY gettimeofday
+#endif // WIN32
+
+#endif