2、自动/手动互相切换都闪 2 下灯;APP 发停止后再发自动模式可正常启动,手动残留停止不再挡住自动 3、自动模式 1~6 单次最长跑 10 分钟后回待机;关机时长按 12 秒进 OTA,OTA 期间红绿交替闪
113 lines
7.1 KiB
C
113 lines
7.1 KiB
C
/******************************************************************************
|
||
* @file board_pin.h
|
||
* @brief CBC2 门夹弹力绳板级引脚、电平与时序(换板只改本文件)
|
||
* @author cyWu <1917507415@qq.com>
|
||
* @date 2026.08.26
|
||
* @version V1.4.0
|
||
* @history
|
||
* - V1.0.0, 2026.08.21, cyWu, 首次发布
|
||
* - V1.1.0, 2026.08.24, cyWu, 收口:去掉实验开关与未贴件限位
|
||
* - V1.2.0, 2026.08.24, cyWu, 按键:深睡 3s 开机、5s 开机+配对
|
||
* - V1.3.0, 2026.08.24, cyWu, 电机改 MCPWM 50% 占空比降速
|
||
* - V1.4.0, 2026.08.26, cyWu, 新增 5% 自动关机门限、开机低电闪灯拦截、
|
||
* 12s 长按 OTA、自动模式单次最长运行时长;
|
||
* 取消低电闪烁 1 分钟后自动关机门限
|
||
******************************************************************************/
|
||
|
||
#ifndef __BOARD_PIN_H__
|
||
#define __BOARD_PIN_H__
|
||
|
||
#include "asm/gpio.h"
|
||
|
||
/*============================================================================*/
|
||
/* 功能开关:某路硬件异常时可单独关掉,不影响配网 */
|
||
/*============================================================================*/
|
||
|
||
#define BOARD_LED_ENABLE 1 /**< 1=红绿 LED */
|
||
#define BOARD_KEY_ENABLE 1 /**< 1=按键 PB1 */
|
||
#define BOARD_CHG_ENABLE 1 /**< 1=充电检测 PG8 + VPWR */
|
||
#define BOARD_MOTOR_ENABLE 1 /**< 1=电机 PA6/PC2 */
|
||
|
||
/*============================================================================*/
|
||
/* GPIO */
|
||
/*============================================================================*/
|
||
|
||
#define BOARD_MOTOR_INA_PIN IO_PORTA_06 /**< 电机 INA */
|
||
#define BOARD_MOTOR_INB_PIN IO_PORTC_02 /**< 电机 INB */
|
||
#define BOARD_LED_RED_PIN IO_PORTA_08 /**< 红灯 LED_PWR,低电平亮 */
|
||
#define BOARD_LED_GREEN_PIN IO_PORTA_07 /**< 绿灯 LED_CHG,低电平亮 */
|
||
#define BOARD_KEY_PIN IO_PORTB_01 /**< 按键,低电平按下 */
|
||
#define BOARD_CHG_PIN IO_PORTG_08 /**< ME4054 CHG,外部 2.2k 上拉 */
|
||
/* PA3 限位未贴件,空脚不初始化 */
|
||
|
||
#define BOARD_LED_ON_LEVEL 0 /**< LED 点亮电平:0=低亮 */
|
||
#define BOARD_KEY_ACTIVE_LEVEL 0 /**< 按键有效电平:0=按下为低 */
|
||
#define BOARD_CHG_CHARGING_LEVEL 0 /**< CHG 充电中为低 */
|
||
|
||
/**
|
||
* 收绳方向:1 = INA 高 / INB 低 为收绳(顺时针)
|
||
* 若实测方向反了,把本宏改为 0
|
||
*/
|
||
#define BOARD_MOTOR_IN_INA_HIGH 1
|
||
|
||
/*============================================================================*/
|
||
/* 电量 / 充电 */
|
||
/*============================================================================*/
|
||
|
||
#define BOARD_VBAT_FULL_MV 4200 /**< 100% */
|
||
#define BOARD_VBAT_EMPTY_MV 3200 /**< 0%,电量曲线下限(仅用于百分比换算) */
|
||
#define BOARD_VBAT_CHARGE_FULL_MV 4250 /**< 充电基准未记录时 100%(充电内阻压降,比放电阈值高)*/
|
||
#define BOARD_VBAT_CHARGE_EMPTY_MV 3350 /**< 充电基准未记录时 0% */
|
||
#define BOARD_VBAT_LOW_MV 3700 /**< 低电预警阈值:只闪红灯提示,不关机 */
|
||
#define BOARD_VBAT_LOW_HYST_MV 50 /**< 低电恢复回差 */
|
||
#define BOARD_VBAT_SHUTDOWN_MV 3250 /**< 约 5%,运行中低于此值自动关机;关机时低于此值拒绝开机 */
|
||
#define BOARD_VPWR_ONLINE_MV 4000 /**< VPWR 判定 USB 插入 */
|
||
#define BOARD_VPWR_OFF_MV 1500 /**< 低于此值认定已拔出 */
|
||
#define BOARD_CHG_FULL_MS 1000 /**< CHG 已高且 VPWR 在,满 1s 认充满 */
|
||
|
||
/*============================================================================*/
|
||
/* 按键 / 灯效 */
|
||
/*============================================================================*/
|
||
|
||
#define BOARD_KEY_CLICK_MS 1000 /**< 开机后:按下 <1s 松开为短按切模式 */
|
||
#define BOARD_KEY_POWER_MS 3000 /**< 深睡:按住 3s 开机;开机中:按住 3s 深睡 */
|
||
#define BOARD_KEY_PAIR_MS 5000 /**< 深睡:按住 5s 开机并进配对(开机中继续按不住配对) */
|
||
#define BOARD_KEY_OTA_MS 12000 /**< 深睡:按住 12s 开机并进 OTA */
|
||
#define BOARD_KEY_DEBOUNCE_MS 20 /**< 按键消抖 */
|
||
#define BOARD_PAIR_TIMEOUT_MS (120u * 1000u) /**< 配对超时 120s,失败后保持开机 */
|
||
|
||
#define BOARD_BOOT_LOWBAT_BLINK_N 5 /**< 关机时电量过低:拒绝开机前红灯闪烁次数 */
|
||
#define BOARD_BOOT_LOWBAT_ON_MS 200 /**< 拒绝开机提示:闪烁亮时间 */
|
||
#define BOARD_BOOT_LOWBAT_OFF_MS 200 /**< 拒绝开机提示:闪烁灭时间 */
|
||
|
||
#define BOARD_LED_FAST_ON_MS 100 /**< 配对绿快闪:亮 */
|
||
#define BOARD_LED_FAST_OFF_MS 100 /**< 配对绿快闪:灭 */
|
||
#define BOARD_LED_ALT_MS 200 /**< 配对失败 / OTA 红绿交替半周期 */
|
||
#define BOARD_LED_PAIR_OK_MS 3000 /**< 配对成功绿灯常亮时长 */
|
||
#define BOARD_LED_PAIR_FAIL_MS 3000 /**< 配对失败提示时长 */
|
||
#define BOARD_LED_LOWBAT_ON_MS 200 /**< 低电红闪:亮 */
|
||
#define BOARD_LED_LOWBAT_PERIOD_MS 2000 /**< 低电红闪:周期 */
|
||
#define BOARD_LED_MODE_OFF_MS 150 /**< 切模式闪:灭 */
|
||
#define BOARD_LED_MODE_ON_MS 150 /**< 切模式闪:亮 */
|
||
#define BOARD_LED_MODE_BLINK_N 2 /**< 切模式闪次数 */
|
||
#define BOARD_LED_STANDBY_ON 1 /**< 1=待机绿灯常亮;0=亮完 BOARD_LED_POWER_ON_MS 后灭(对比电流) */
|
||
#define BOARD_LED_POWER_ON_MS 3000 /**< BOARD_LED_STANDBY_ON=0 时的开机绿灯时长 */
|
||
|
||
/*============================================================================*/
|
||
/* 电机 */
|
||
/*============================================================================*/
|
||
|
||
#define BOARD_MOTOR_REVERSE_MS 1 /**< 换向前先松开,防 H 桥直通 */
|
||
#define BOARD_HAND_PULSE_MS 1000 /**< 预留;手动 1/2 一直转到写 03 停止 */
|
||
#define BOARD_MOTOR_PWM_HZ 20000 /**< MCPWM 频率(Hz),20k 避开可听啸叫 */
|
||
#define BOARD_MOTOR_PWM_DUTY 8000 /**< 占空比 0~10000=0%~100%,80% */
|
||
#define BOARD_MOTOR_PWM_IDLE_CLOSE 1 /**< 1=空闲/轻睡关 MCPWM;0=保持开着,方便对比待机电流 */
|
||
|
||
/*============================================================================*/
|
||
/* 自动玩法 */
|
||
/*============================================================================*/
|
||
|
||
#define BOARD_AUTO_MODE_MAX_MS (10u * 60u * 1000u) /**< 自动模式 1~6 单次最长运行时长,到点自动回待机 */
|
||
|
||
#endif /* __BOARD_PIN_H__ */
|