art_command_protocol.h
Go to the documentation of this file.
00001 /*
00002  *  Description:  ART Throttle Controller command/protocol
00003  *
00004  *  Copyright (C) 2007 Austin Robot Technology                    
00005  *
00006  *  License: Modified BSD Software License Agreement
00007  *
00008  *  $Id: art_command_protocol.h 1161 2011-03-26 02:10:49Z jack.oquin $
00009  */
00010 
00011 #ifndef _ART_COMMAND_PROTOCOL_H_
00012 #define _ART_COMMAND_PROTOCOL_H_
00013 
00019 #undef CLI_ECHO
00020 
00021 #define COM_OFFSET  0
00022 #define LEN_OFFSET  0
00023 #define SEQ_OFFSET  1
00024 #define DATA_OFFSET 2
00025 
00026 #define FLAG_ENABLE  1
00027 #define FLAG_DISABLE 0
00028 
00029 enum {
00030   ACK_CMD=0,
00031   NAK_CMD,
00032   STATUS_CMD,
00033   GOTO_CMD,
00034   PID_KP_CMD,
00035   PID_KI_CMD,
00036   PID_KD_CMD,
00037   PID_LIMITS_CMD,
00038   DEBUG_STATUS_CMD,
00039   CLI_SET_CMD,
00040   SET_IDLE_CMD,
00041   GET_REV_CMD,
00042   INVALID_CMD,
00043   MAX_CMD=INVALID_CMD
00044 };
00045 
00046 enum {
00047   NAK_BAD_CMD=0,
00048   NAK_BAD_LEN,
00049   NAK_BAD_CSUM,
00050   NAK_BAD_PARAM
00051 };
00052 
00053 typedef struct status_data_st_ {
00054   u08 position;
00055   u16 rpms;
00056   union {
00057     struct {
00058       u08  general:1;
00059       u08  throttle:1;
00060       u08  rpms:1;
00061       u08  estop:1;
00062       u08  diag:4;
00063     }flags;
00064     u08 flag_byte;
00065   };
00066   u08 direction;
00067   s16 dstate;
00068   s16 istate;
00069   u16 pwm_count;
00070 } status_data_t;
00071 
00072 typedef struct firmware_rev_st_ {
00073   u08 fw_rev[2];
00074   u08 fw_repos_status[1];
00075   u08 uc_lib_rev[2];
00076   u08 uc_lib_repos_status[1];
00077   u08 build_time[6];
00078 } firmware_rev_t;
00079 
00080 #endif /* _ART_COMMAND_PROTOCOL_H_ */


art_servo
Author(s): Austin Robot Technology, Jack O'Quin
autogenerated on Fri Jan 3 2014 11:09:12