00001 #ifndef _HPGL_H 00002 #define _HPGL_H 00003 00007 enum _hpgl_command { 00008 CMD_ERR = -1, 00009 CMD_CONT = 0, 00010 CMD_PA = 1, 00011 CMD_PD, 00012 CMD_PU, 00013 CMD_ARCABS, 00014 CMD_INIT, 00015 CMD_SEEK0, 00016 CMD_LB0, 00017 CMD_LB, 00018 CMD_SI, 00019 CMD_SR, 00020 CMD_DI, 00021 }; 00022 00025 enum _scanner_state { 00026 STATE_EXP1 = 0, 00027 STATE_EXP_P, 00028 STATE_EXP_S, 00029 STATE_EXP_I, 00030 STATE_EXP_A, 00031 STATE_EXP_L, 00032 STATE_EXP_D, 00033 STATE_X, 00034 STATE_Y, 00035 STATE_SP, 00036 STATE_SC, 00037 STATE_IP, 00038 STATE_LB, 00039 STATE_SI, 00040 STATE_SR, 00041 STATE_DT, 00042 STATE_DI, 00043 00044 STATE_EXP4, 00045 STATE_ARC, 00046 STATE_SKIP_END, 00047 }; 00048 00050 void hpgl_init(); 00051 00059 int8_t hpgl_char(char c, STEPPER_COORD* x, STEPPER_COORD* y, uint8_t* lb); 00060 00061 00062 #endif