Files
wangfq bbf5492fe2 fix(vd960Loop): 灵敏度收敛 4 级制 + 运行中配置立即生效 (协议 V1.08)
根因: 设置不同灵敏度感应高度无区别
1. unpack_pkg_set_mcjq_param 未同步 loop_SensLevel → 改灵敏度需重启才生效
2. 9级制映射 sensitvity & 0x03 折叠 (默认7→3, 3→3, 8→0)
3. (测试陷阱) 金属块过大信号饱和, 建议小金属块测临界高度

修复:
- 提取 sens_level_from_config() 映射函数, 4级制 0~3 一一对应 (9级制后改)
- unpack_pkg_set_mcjq_param 补 loop_SensLevel 同步 (运行中立即生效)
- para_store_init 上电路径改用同一函数
- 协议 V1.08: Sensitivity 0~9级 → 4级制 0~3 (默认2)
- tests/test_sens_mapping.c gcc 隔离单测 PASS (0~3无折叠/兼容旧默认7→3)
2026-08-25 11:52:14 +08:00

16 lines
513 B
C

/* mock flash.h — gcc 隔离测试用 (storage.c 依赖的 flash API + 宏) */
#ifndef MOCK_FLASH_H
#define MOCK_FLASH_H
#include <stdint.h>
#define DLD_BUFEER_SIZE 100
#define DLD_FLASH_ADDRESS_START (0x08000000 + 1024 * 63 + 512)
#define DLD_FLASH_MAX_SIZE (0x08000000 + 1024 * 64)
#define MAX_Store_Size DLD_BUFEER_SIZE
void flash_write(uint32_t addr, uint16_t *buf, uint16_t len);
void flash_read(uint32_t addr, uint16_t *buf, uint16_t len);
#endif