59 lines
1.9 KiB
C
59 lines
1.9 KiB
C
/*
|
|
* Core.h
|
|
*
|
|
* Created on: 2023年5月17日
|
|
* Author: User
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
/****************** 任务模式和任务状态 *******************/
|
|
#define MODE_IDLE 0 // 空闲模式
|
|
#define MODE_HOME 1 // 回零模式
|
|
#define MODE_TEST 2 // 测试模式
|
|
|
|
#define STATE_INIT 0x00 // 任务开始
|
|
#define STATE_ERROR 0xFE // 状态异常
|
|
#define STATE_DONE 0xFF // 任务完成
|
|
|
|
#define STATE_IDLE_SHOW 0x01
|
|
|
|
#define STATE_HOME_FIRST_INIT 0x01
|
|
#define STATE_HOME_FIRST_WAIT 0x02
|
|
#define STATE_HOME_LEAVE_INIT 0x03
|
|
#define STATE_HOME_LEAVE_WAIT 0x04
|
|
#define STATE_HOME_AGAIN_INIT 0x05
|
|
#define STATE_HOME_AGAIN_WAIT 0x06
|
|
|
|
#define STATE_TEST_INIT 0x01
|
|
#define STATE_TEST_FAST_UP_WAIT 0x02
|
|
#define STATE_TEST_FAST_DOWN_WAIT 0x03
|
|
#define STATE_TEST_SLOW_WAIT 0x04
|
|
|
|
#define FUN_HOME 0
|
|
#define FUN_TEST 1
|
|
|
|
/****************** 错误代码 *******************/
|
|
#define ERROR_NONE 0xFF // 无错误
|
|
#define ERROR_BLTOUCH 0 // BLTouch报警
|
|
#define ERROR_HOME_FIRST 1 // 首次回零距离过长
|
|
#define ERROR_HOME_LEAVE 2 // 回零时零位持续闭合
|
|
#define ERROR_HOME_AGAIN 3 // 再次回零距离过长
|
|
#define ERROR_TEST_INIT 4 // 测试开始时电机解锁,需要重新回零
|
|
#define ERROR_TEST_MAX 5 // 测试距离过长
|
|
|
|
/****************** 功能参数配置 *******************/
|
|
#define STEP_PER_CIRCLE 3200 // Step/圈 => 4mm
|
|
|
|
#define HOME_PRESET_POS (STEP_PER_CIRCLE * 4) // 4圈 => 16mm
|
|
#define HOME_LEAVE_POS (STEP_PER_CIRCLE * 0.5) // 0.5圈 => 2mm
|
|
#define TEST_INIT_POS (STEP_PER_CIRCLE * 1) // 1圈 => 4mm
|
|
#define TEST_MAX_POS (STEP_PER_CIRCLE * 2.5) // 2.5圈 => 10mm
|
|
|
|
/****************** 公用变量和函数 *******************/
|
|
extern u8 runMode;
|
|
extern u8 runState;
|
|
|
|
void changeMode(u8 mode);
|
|
void changeState(u8 state);
|