Files
STM32F4-Base/App/task/protect_task.h
T
wandering1 04997e48aa refactor(编号): test/host 与 App/Drivers 注释去测试层级号(73 站点 / 64 文件)
同族第二道:代码注释面。41 个 run_unit_test.py 文件头与引用行、common harness 与两份
README、4 个 *_test.c 文件头、App/** 14 处(含 BOM 文件 App/cfg/cfg_file.c)、
GD5F nand_ftl.c 1 处,共 73 站点 / 64 文件;措辞取「主机侧纯逻辑单元测试运行器
(纯标准库)」避免同行「主机侧」重复。

零行为改动(机器证据,不是口头):
- 17 个 .c/.h 剥掉注释后与 HEAD **逐字节相同**;
- 42 个 .py 走 ast.dump 比较、仅归一 docstring(真实字符串字面量参与比较,故旗标或
  输出文本被动过必然报红)→ 全部相等;behaviour_changed=0。
- py_compile 42/42;抽跑 watchdog 47/47、freq 46/46(动手前先取基线,改后同数);
  CR 字节 0、EF BF BD 0、BOM 与 HEAD 逐一一致、check_bom_drift rc=0。

刻意未动:6 处字符串字面量(FTP 应答 "215 UNIX Type: L8"、lftpd_test.c SYST 断言、
console_log_test.c 的 "L1\r\n"、phasor_test.c 的 "L2-in ring" 文案与 printf 标题)——
改了就是改测试输出/行为;UI 设计令牌层 L0(ui_tokens.h、ui_content_page.c)与
test/host/README.md 的算法层号是**另外的族**。

两条 SyntaxWarning(ftp_cfg / net_cfg 文件头 \S 转义)**HEAD 同样存在**,已对 HEAD 副本
复现证明非本次引入,未顺手改。
2026-10-28 17:52:55 +08:00

27 lines
1.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 模块名称:保护任务(L3 板端接线,B5)
* 模块功能:protectTask 线程入口——以固定节拍驱动保护判据
* (`prot_elm_run()`:phasor rms → 元件步进),并落实 自检失败闭锁 采样
*(保护功能清单见 docs/算法/继电保护功能复现规划.md)
* 故障闭锁(`adc_health_flags()` 电平位 → 元件状态复位 + 本拍不判据)。
* 判据本体在 `App/algo/prot_elm.c`(纯逻辑,主机侧纯逻辑单测已覆盖),本文件
* 只做消费/编排(AGENTS 目录地图:task 不装算法)。
* 线程约定:仅本任务调 prot_elm_run / prot_set_selfcheck(prot_elm.h 线程约定);
* prot_set 写在 P4 前无第二写者(104 定值写经 pts→prot_set,见注)。
* 创建日期:2026-10-12(B5)
*/
#ifndef PROTECT_TASK_H
#define PROTECT_TASK_H
/* 判据节拍(ms):V0.1 元件吃 50 Hz 基波 rms(phasor 每工频周更新)→ 20 ms
* = 一个工频周;延时精度由 prot_elm 的 now_ms 差值法保证,与节拍无关。
* 规划 §4 的"1 ms 高优先级"是参考系统瞬时值元件口径,随 P2 瞬时值元件再评。 */
#define PROTECT_TASK_CYCLE_MS 20u
/*
* 函数功能:protectTask 线程入口(freertos.c USER CODE 区创建)
*/
void protect_task(void *argument);
#endif /* PROTECT_TASK_H */