📄 lib.h
字号:
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#define HOST_INTERRUPT_BIT_MASK 0x01
#define INTERRUPT_BIT_SENSE 0 /* a 0 here means an interrupt is active
when the bit is 0, a value equal to the
bit mask means it is active when the
bit is 1 */
#define DOUBLE double
#define FLOAT float
#define ULONG unsigned long int
#define LONG long int
#define UWORD unsigned short int
#define WORD short int
#define BYTE unsigned char
#define CHAR char
/* other type definitions */
typedef enum {CHIPSET_SET, CHIPSET_REQUEST} command_type;
typedef enum {CHECKSUM_BAD, CHECKSUM_GOOD} checksum_result;
typedef enum {HIGH, LOW} long_encoding;
typedef enum {NO_CHECKSUM_ERROR, CHECKSUM_ERROR} checksum_error;
long set_1(void);
long set_2(void);
long set_3(void);
long set_4(void);
long set_i(void);
long set_base_address(long);
long set_prfl_s_crv(void);
long set_prfl_trap(void);
long set_prfl_vel(void);
long set_prfl_gear(void);
long set_pos(long);
long set_vel(long);
long set_acc(long);
long set_max_acc(long);
long set_jerk(long);
long set_ratio(long);
long synch_prfl(void);
long zero_pos(void);
long get_pos(void);
long get_vel(void);
long get_acc(void);
long get_max_acc(void);
long get_jerk(void);
long get_ratio(void);
long get_desired_pos(void);
long get_desired_vel(void);
long set_kp(long);
long set_kd(long);
long set_ki(long);
long set_kvff(long);
long set_i_lm(long);
long set_pos_err(long);
long get_kp(void);
long get_kd(void);
long get_ki(void);
long get_kvff(void);
long get_i_lm(void);
long get_pos_err(void);
long get_intgr(void);
long get_actl_pos_err(void);
long set_auto_stop_on(void);
long set_auto_stop_off(void);
long set_time_brk(void);
long set_pos_brk(void);
long set_neg_brk(void);
long set_actl_pos_brk(void);
long set_actl_neg_brk(void);
long set_brk_off(void);
long set_brk_pnt(long);
long update(void);
long multi_update(long);
long set_auto_update_on(void);
long set_auto_update_off(void);
long get_brk_pnt(void);
long set_intrpt_mask(void);
long get_intrpt(void);
long rst_intrpt(long);
long get_intrpt_mask(void);
long clr_status(void);
long get_status(void);
long get_mode(void);
long set_capt_index(void);
long set_capt_home(void);
long get_capt(void);
long set_output_pwm(void);
long set_output_dac16(void);
long mtr_on(void);
long mtr_off(void);
long set_mtr_cmd(long);
long get_output_mode(void);
long axis_on(void);
long axis_off(void);
long get_actl_pos(void);
long set_lmt_sense(long);
long get_lmt_swtch(void);
long lmts_on(void);
long lmts_off(void);
long get_home(void);
long set_smpl_time(long);
long get_smpl_time(void);
long reset(void);
long get_time(void);
long stop(void);
long smooth_stop(void);
long get_io_input(void);
long set_io_output(long output_value);
long get_mtr_cmd(void);
long set_actl_pos(long the_value);
//long set_fltr_pid(long);
checksum_error send_chipset_cmd(short int, command_type, short int, WORD *, WORD *);
void write_a_cmd(BYTE, WORD *);
void write_a_word(WORD, WORD *);
void read_a_word(WORD *, WORD *);
checksum_result read_n_check_checksum(WORD, WORD *);
void write_cmd(BYTE);
void write_byte(BYTE);
BYTE read_byte(void);
void wait_until_not_busy(void);
void hardware_reset(void);
/* chipset commands */
#define SET_1 1
#define SET_2 2
#define SET_3 3
#define SET_4 4
#define GET_HOME 5
#define SET_MTR_LMT 6
#define GET_MTR_LMT 7
#define SET_I 8
#define SET_PRFL_TRAP 9
#define SET_PRFL_VEL 0xa
#define SET_PRFL_S_CRV 0xb
#define SET_PRFL_GEAR 0xc
#define SET_MTR_BIAS 0xf
#define SET_POS 0x10
#define SET_VEL 0x11
#define SET_ACC 0x12
#define SET_JERK 0x13
#define SET_RATIO 0x14
#define SET_MAX_ACC 0x15
#define SET_BRK_PNT 0x16
#define SET_TIME_BRKPNT 0x17
#define SET_POS_BRKPNT 0x18
#define SET_NEG_BRKPNT 0x19
#define UPDATE 0x1a
#define SET_ACTL_POS_BRK 0x1b
#define SET_ACTL_NEG_BRK 0x1c
#define GET_TRGT_POS 0x1d
#define GET_TRGT_VEL 0x1e
#define SET_KP 0x25
#define SET_KI 0x26
#define SET_KD 0x27
#define SET_I_LM 0x28
#define SET_POS_ERR 0x29
#define SET_KVFF 0x2b
#define GET_MTR_BIAS 0x2d
#define GET_INTGR 0x2e
#define SET_INTRPT_MASK 0x2f
#define GET_INTRPT 0x30
#define GET_STATUS 0x31
#define RST_INTRPT 0x32
#define CLR_STATUS 0x33
#define RST_STATUS 0x34
#define SET_MTN_CMPLT_BRK 0x35
#define GET_CAPT 0x36
#define GET_ACTL_POS 0x37
#define SET_SMPL_TIME 0x38
#define RESET 0x39
#define GET_MTR_CMD 0x3a
#define SET_OUTPUT_DAC16 0x3b
#define SET_OUTPUT_PWM 0x3c
#define GET_TIME 0x3e
#define ZERO_POS 0x3f
#define AXIS_OFF 0x40
#define AXIS_ON 0x41
#define MTR_OFF 0x42
#define MTR_ON 0x43
#define SET_AUTO_STOP_OFF 0x44
#define SET_AUTO_STOP_ON 0x45
#define STOP 0x46
#define SYNCH_PRFL 0x47
#define GET_MODE 0x48
#define GET_POS 0x4a
#define GET_VEL 0x4b
#define GET_ACC 0x4c
#define SET_ACTL_POS 0x4d
#define SMOOTH_STOP 0x4e
#define GET_MAX_ACC 0x4f
#define GET_KP 0x50
#define GET_KI 0x51
#define GET_KD 0x52
#define GET_I_LM 0x53
#define GET_KVFF 0x54
#define GET_POS_ERR 0x55
#define GET_INTRPT_MASK 0x56
#define GET_BRK_PNT 0x57
#define GET_JERK 0x58
#define GET_RATIO 0x59
#define MULTI_UPDATE 0x5b
#define SET_AUTO_UPDATE_ON 0x5c
#define SET_AUTO_UPDATE_OFF 0x5d
#define SET_EXT_BRK 0x5e
#define GET_ACTL_POS_ERR 0x60
#define GET_SMPL_TIME 0x61
#define SET_MTR_CMD 0x62
#define SET_CAPT_INDEX 0x64
#define SET_CAPT_HOME 0x65
#define SET_LMT_SENSE 0x66
#define GET_LMT_SWTCH 0x67
#define SET_BRK_OFF 0x6d
#define GET_OUTPUT_MODE 0x6e
#define LMTS_ON 0x70
#define LMTS_OFF 0x71
//#endif
//#define GET_CNTS 0x6f
//#define GET_VRSN 0x6c
//#define SET_CNTS 0x68
//#define GET_KV 0x5a
//#define SET_OUTPUT_DAC12 0x3d
//#define SET_KV 0x2a
//#define SET_FLTR_PID 0x21
//#define SET_FLTR_PIVFF 0x22
//#define SET_HALL_SENSE 0x23
//#define GET_HALL_SENSE 0x24
//#define GET_STEP_RATIO 0x6f
//#define SET_PHASE_TIME 0x72
//#define SET_PHASE_BRUSH 0x73
//#define SET_PHASE_STEPPER 0x74
//#define SET_PHASE_CNTS 0x75
//#define SET_PHASE_OFFSET 0x76
//#define SET_BUF_MTR_CMD 0x77
//#define SET_PHASE_HALL 0x78
//#define SET_PHASE_ALGOR 0x79
//#define INIT_PHASE 0x7a
//#define GET_PHASE_OFFSET 0x7b
//#define GET_PHASE_TIME 0x7c
//#define GET_PHASE_CNTS 0x7d
//#define GET_HALLS 0x7e
//#define GET_PHASE_INFO 0x7f
//#define SET_PRESCALE_ON 0xd
//#define SET_PRESCALE_OFF 0xe
//#define GET_PHASE 0x2c
//#define SET_KPHASE 0x1f
//#define GET_KPHASE 0x20
//#define CLR_PRFL 0x46
//#define SET_OUTPUT_HIGH 0x3b
//#define SET_PHASE_ENC 0x5f
//#define SET_PHASE_MICRO 0x63
//#define SET_OUTPUT_STNDRD 0x3c
//#define SET_STEP_RATIO 0x68
//#define GET_BUF_MTR_CMD 0x69
//#define SET_START_VEL 0x6a
//#define GET_START_VEL 0x6b
//long set_start_vel(long);
//long get_start_vel(long);
//long set_buf_mtr_cmd(long);
//long get_buf_mtr_cmd(long);
//long set_phase_brush(long);
//long set_phase_stepper(long);
//long set_phase_micro(long);
//long set_phase_enc(long);
//long set_phase_hall(long);
//long set_phase_algor(long);
//long set_prescale_off(long);
//long set_prescale_on(long);
//long set_phase_cnts(long);
//long set_phase_time(long);
//long set_phase_offset(long);
//long init_phase(long);
//long get_phase_info(long);
//long get_phase_cnts(long);
//long get_phase_time(long);
//long get_phase_offset(long);
//long get_halls(long);
//long set_step_ratio(long);
//long set_output_stndrd(long);
//long set_output_high(long);
//long clr_prfl(long);
//long get_kphase(long);
//long set_kphase(long);
//long get_step_ratio(long);
//long get_hall_sense(long);
//long set_hall_sense(long);
//long set_fltr_pivff(long);
//long set_kv(long);
//long get_vrsn(long);
//long set_cnts(long);
//long get_kv(long);
//long set_output_dac12(long);
//long get_phase(long);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -