/******************************************************************************\

                 This file is part of the Buildbotics firmware.

                   Copyright (c) 2015 - 2018, Buildbotics LLC
                              All rights reserved.

      This file ("the software") is free software: you can redistribute it
      and/or modify it under the terms of the GNU General Public License,
       version 2 as published by the Free Software Foundation. You should
       have received a copy of the GNU General Public License, version 2
      along with the software. If not, see <http://www.gnu.org/licenses/>.

      The software 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
                Lesser General Public License for more details.

        You should have received a copy of the GNU Lesser General Public
                 License along with the software.  If not, see
                        <http://www.gnu.org/licenses/>.

                 For information regarding this software email:
                   "Joseph Coffland" <joseph@buildbotics.com>

\******************************************************************************/

//(CODE, NAME,      SYNC)
CMD('$', var,          0) // Set or get variable
CMD('#', sync_var,     1) // Set variable synchronous
CMD('s', seek,         1) // [switch][flags:active|error]
CMD('a', set_axis,     1) // [axis][position] Set axis position
CMD('l', line,         1) // [targetVel][maxJerk][axes][times]
CMD('%', sync_speed,   1) // [offset][speed] Command synchronized speed
CMD('p', speed,        1) // [speed] Spindle speed
CMD('I', input,        1) // [a|d][port][mode][timeout] Read input
CMD('d', dwell,        1) // [seconds]
CMD('P', pause,        1) // [type] Pause control
CMD('S', stop,         0) // Stop move, spindle and load outputs
CMD('U', unpause,      0) // Unpause
CMD('j', jog,          0) // [axes]
CMD('r', report,       0) // <0|1>[var] Enable or disable var reporting
CMD('R', reboot,       0) // Reboot the controller
CMD('c', resume,       0) // Continue processing after a flush
CMD('E', estop,        0) // Emergency stop
CMD('X', shutdown,     0) // Power shutdown
CMD('C', clear,        0) // Clear estop
CMD('F', flush,        0) // Flush command queue
CMD('D', dump,         0) // Report all variables
CMD('h', help,         0) // Print this help screen
