+
+uint8_t interface_command(const uint8_t *cmd, uint8_t length)
+{
+ if(cmd[0]==SET_BAUD_RATE)
+ {
+ if(length!=3)
+ return LENGTH_ERROR;
+
+ uint16_t baud = (cmd[1]<<8)|cmd[2];
+ if(baud!=baud_rate)
+ {
+ if(baud!=baud_change)
+ {
+ baud_change = baud;
+ baud_changed_at = 0;
+ }
+ else
+ {
+ baud_rate = baud_change;
+ baud_change = 0;
+ }
+ }
+ }
+ else
+ return INVALID_COMMAND;
+
+ return COMMAND_OK;
+}