]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/arducontrol.h
Detect and set arducontrol baud rate on startup
[r2c2.git] / source / libr2c2 / arducontrol.h
index e354ecf0fed0c6f88824167ee8b7138399475863..33696bea818077b1bc3aea0432a98b306a058621 100644 (file)
@@ -35,6 +35,7 @@ private:
                MFX_SPEED_FUNCS8 = 0x29,
                MFX_SPEED_FUNCS16 = 0x2A,
                S88_READ = 0x30,
+               SET_BAUD_RATE = 0x70,
                COMMAND_OK = 0x80,
                RECEIVE_OVERRUN = 0x81,
                FRAMING_ERROR = 0x82,
@@ -42,11 +43,13 @@ private:
                LENGTH_ERROR = 0x84,
                INVALID_VALUE = 0x85,
                OVERCURRENT = 0xA0,
+               BAUD_CHANGE_FAILED = 0xA1,
                TRACK_CURRENT = 0xC0,
                INPUT_VOLTAGE = 0xC1,
                POWER_STATE = 0xC2,
                S88_DATA = 0xD0,
-               MFX_FEEDBACK = 0xD1
+               MFX_SEARCH_FEEDBACK = 0xD1,
+               MFX_PING_FEEDBACK = 0xD2
        };
 
        struct Tag
@@ -253,7 +256,7 @@ private:
                Msp::Time::TimeStamp next;
                unsigned size;
                unsigned bits;
-               bool pending;
+               unsigned misses;
 
        public:
                MfxSearchTask(ArduControl &);
@@ -275,6 +278,7 @@ private:
                void exit();
        private:
                virtual void main();
+               void init_baud_rate();
                bool get_work(PendingCommand &);
                unsigned do_command(const PendingCommand &);
                unsigned process_reply(const char *, unsigned);