#ifndef APP_CONFIG_H #define APP_CONFIG_H // ============================================================ // 系统编译期配置总入口 // 所有可调参数集中在此文件,修改后重新编译生效。 // 若需恢复 SD 卡运行时加载,将 CFG_LOAD_FROM_FILE 置 1, // 其余编译期值将作为加载失败时的 fallback 默认值。 // ============================================================ // ------------------------------------------------------------ // 配置加载方式 // ------------------------------------------------------------ // 是否在启动时从 SD 卡 CONFIG.TXT 加载配置 // 1 = 运行时加载(文件内容覆盖以下编译期值) // 0 = 仅使用以下编译期值,不读取文件(安全,可重复) #define CFG_LOAD_FROM_FILE 0 // ------------------------------------------------------------ // 数据输出控制 // ------------------------------------------------------------ // RS485 串口输出开关 // 1 = 每帧 ADC 数据通过 USART1 以 2Mbps 发送 // 0 = 禁用串口输出,降低功耗和 CPU 占用 #define CFG_UART_OUTPUT_ENABLED 1 // SD 卡数据存储开关 // 1 = 每帧数据写入 SD 卡 DATA/SESSION_xxx/ 目录下的文件 // 0 = 禁用存储,SD 卡仅用于 USB MSC 访问 #define CFG_STORAGE_ENABLED 1 // ------------------------------------------------------------ // 功能模块开关 // ------------------------------------------------------------ // 系统监控统计模块 // 1 = 启用:统计采样次数、丢帧数、SD 写入量、串口发送量, // 并定期输出到调试串口 / 写入 LOG.TXT // 0 = 禁用:相关代码被条件编译剔除,节省 Flash 和运行时开销 #define CFG_ENABLE_SYSTEM_MONITOR 0 // 数据包中包含 GPS 经纬度和海拔字段 // 1 = 每帧包含 latitude(float) + longitude(float) + altitude(float),包体增大 12 字节 // 0 = 仅保留 GPS 时间戳(gps_time),包体更小,适合不需要位置信息的场景 #define CFG_ENABLE_GPS_POSITION 0 // ------------------------------------------------------------ // 调试与监控定时参数 // ------------------------------------------------------------ // 调试信息通过 RS485 输出的时间间隔(毫秒) // 控制 DebugOutput_PrintSystemStats() 的调用频率 // 建议范围:5000(5秒)~ 60000(1分钟) #define CFG_DEBUG_OUTPUT_INTERVAL_MS 30000 // 监控统计数据写入 SD 卡 LOG.TXT 的时间间隔(毫秒) // 间隔越短日志越详细,但 SD 卡写入操作越频繁 // 建议范围:10000(10秒)~ 300000(5分钟) #define CFG_MONITOR_SAVE_INTERVAL_MS 30000 // ------------------------------------------------------------ // SD 卡存储参数 // ------------------------------------------------------------ // SD 卡写入双缓冲区单个缓冲区大小(字节) // 更大的缓冲区可减少写入次数,提升吞吐量,但占用更多 RAM // STM32F405 RAM 为 192KB,建议不超过 65536(64KB) // 典型值:32768(32KB) / 65536(64KB) #define CFG_STORAGE_BUFFER_SIZE 32768 // 单个数据文件的最大大小(字节),超过后自动创建新文件 // 较小的文件便于传输和分析,较大的文件减少文件切换开销 // 典型值:100MB / 500MB / 1024MB #define CFG_STORAGE_FILE_MAX_SIZE (100 * 1024 * 1024) #endif // APP_CONFIG_H