]> git.tdb.fi Git - model-railway-devices.git/blobdiff - arducontrol/motorola.c
Fix a bug in interpreting Motorola commands
[model-railway-devices.git] / arducontrol / motorola.c
index 33cf1c0a9209054391b6c380000cdf34ce1ebd85..3e1a41c6a3f6d2dbdb12aefa15cab7739ca4e938 100644 (file)
@@ -1,4 +1,4 @@
-#include "interface.h"
+#include "commands.h"
 #include "motorola.h"
 #include "output.h"
 
@@ -125,7 +125,7 @@ void motorola_solenoid_packet(uint8_t addr, uint8_t output, uint8_t state)
        packet.ready = 1;
 }
 
-uint8_t motorola_command(void)
+uint8_t motorola_command(const uint8_t *cmd_buf, uint8_t cmd_length)
 {
        if(cmd_buf[0]==MOTOROLA_SPEED || cmd_buf[0]==MOTOROLA_SPEED_DIRECTION || cmd_buf[0]==MOTOROLA_SPEED_FUNCTION)
        {
@@ -136,7 +136,7 @@ uint8_t motorola_command(void)
                if(addr>80)
                        return INVALID_VALUE;
 
-               if(cmd_buf[2]&0x0E)
+               if(cmd_buf[2]&0x0C)
                        return INVALID_VALUE;
                uint8_t aux = cmd_buf[2]&0x01;