Compare commits
4
Commits
692b406d0f
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5f7082c0ba | ||
|
|
d6a50893dd | ||
|
|
2e4e40935c | ||
|
|
befe99bb1a |
@@ -54,7 +54,7 @@ uint8_t g_rs485_id = 0;
|
|||||||
* PA8 : RLY1 存在继电器 (单刀双掷, 低电平有效)
|
* PA8 : RLY1 存在继电器 (单刀双掷, 低电平有效)
|
||||||
* PB22 : LEDA 绿色指示灯 (有车亮/无车灭, 低电平有效)
|
* PB22 : LEDA 绿色指示灯 (有车亮/无车灭, 低电平有效)
|
||||||
* PB23 : LEDB 红色指示灯 (呼吸灯, 低电平有效)
|
* PB23 : LEDB 红色指示灯 (呼吸灯, 低电平有效)
|
||||||
* PA12 : FLEVEL 线圈调频 (一级, 0=33nF, 1=0nF)
|
* PA12 : FLEVEL 线圈调频 (一级, 0=66nF(低频), 1=33nF(高频))
|
||||||
* PA14 : UART0_Tx RS485发送 (700BS 协议)
|
* PA14 : UART0_Tx RS485发送 (700BS 协议)
|
||||||
* PA15 : UART0_Rx RS485接收 (700BS 协议)
|
* PA15 : UART0_Rx RS485接收 (700BS 协议)
|
||||||
* PA13 : UART0_RE RS485方向控制 (700BS 协议)
|
* PA13 : UART0_RE RS485方向控制 (700BS 协议)
|
||||||
@@ -101,7 +101,7 @@ uint8_t g_rs485_id = 0;
|
|||||||
#define BREATH_HOLD_LOW 3
|
#define BREATH_HOLD_LOW 3
|
||||||
|
|
||||||
/* 光耦有信号时加速参数 (周期 ~1s) */
|
/* 光耦有信号时加速参数 (周期 ~1s) */
|
||||||
#define BREATH_OPTO_DUTY_STEP 64 // 步长 4x → 渐亮/渐灭各 4 步 (~0.5s 周期)
|
#define BREATH_OPTO_DUTY_STEP 64 // 步长 8x → 渐亮/渐灭各 2 步 (~0.55s 周期, 光耦有信号加速)
|
||||||
#define BREATH_OPTO_HOLD_TICKS 1 // 保持 50ms
|
#define BREATH_OPTO_HOLD_TICKS 1 // 保持 50ms
|
||||||
|
|
||||||
/* 看门狗超时: Fsys=60MHz, WDOG_CLK=Fsys/131072≈458Hz, 0xFF≈558ms */
|
/* 看门狗超时: Fsys=60MHz, WDOG_CLK=Fsys/131072≈458Hz, 0xFF≈558ms */
|
||||||
@@ -360,7 +360,7 @@ void para_store_init(void)
|
|||||||
g_freq_level = 0;
|
g_freq_level = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// DLD154Pro: 一级调频, 0=33nF(低频), 1=0nF(高频)
|
// DLD154Pro: 一级调频, 0=66nF(低频), 1=33nF(高频)
|
||||||
if (g_freq_level == 0) {
|
if (g_freq_level == 0) {
|
||||||
FLEVEL_LOW;
|
FLEVEL_LOW;
|
||||||
} else {
|
} else {
|
||||||
@@ -415,7 +415,7 @@ void gpio_uart_init(void)
|
|||||||
/*--- 线圈调频 (PA12=FLEVEL, 一级) ---*/
|
/*--- 线圈调频 (PA12=FLEVEL, 一级) ---*/
|
||||||
GPIOA_SetBits(GPIO_Pin_12);
|
GPIOA_SetBits(GPIO_Pin_12);
|
||||||
GPIOA_ModeCfg(GPIO_Pin_12, GPIO_ModeOut_PP_5mA);
|
GPIOA_ModeCfg(GPIO_Pin_12, GPIO_ModeOut_PP_5mA);
|
||||||
FLEVEL_LOW; // 默认接入 33nF
|
FLEVEL_LOW; // 默认接入 66nF (低频)
|
||||||
|
|
||||||
/*--- 继电器 (PA8=RLY1) ---*/
|
/*--- 继电器 (PA8=RLY1) ---*/
|
||||||
GPIOA_SetBits(GPIO_Pin_8);
|
GPIOA_SetBits(GPIO_Pin_8);
|
||||||
@@ -642,12 +642,18 @@ void vd1_task(void){
|
|||||||
*================================================================*/
|
*================================================================*/
|
||||||
loop1_dlt_ORG = ((uint32_t)loop1_Origin * g_loop_sens_list.sens[g_freq_sens].sens_in) >> 16;
|
loop1_dlt_ORG = ((uint32_t)loop1_Origin * g_loop_sens_list.sens[g_freq_sens].sens_in) >> 16;
|
||||||
{
|
{
|
||||||
|
/* V4B V4.20 同步: 双向对称保护 — 负variation(铁块磁导率)也冻结基线
|
||||||
|
* 原单边只挡 dev>+4×dlt, 负variation会把Origin污染抬高 → 离开时假进入 → 锁死不释放
|
||||||
|
* 修复: ① 对称窗口 [-4×dlt, +4×dlt] ② 负偏差只冻结永不超时更新 */
|
||||||
int32_t dev = (int32_t)loop1_CAPVD - (int32_t)loop1_Origin;
|
int32_t dev = (int32_t)loop1_CAPVD - (int32_t)loop1_Origin;
|
||||||
if (dev < (int32_t)(loop1_dlt_ORG * 4)) {
|
int32_t freeze_band = (int32_t)(loop1_dlt_ORG * 4);
|
||||||
|
if (dev < freeze_band && dev > -freeze_band) {
|
||||||
|
/* 对称窗口内 → 正常基线跟踪 */
|
||||||
loop1_freeze_cnt = 0;
|
loop1_freeze_cnt = 0;
|
||||||
|
loop1_freeze_ref = 0;
|
||||||
update_moving_average(&loop1_ORG_SUM, &loop1_ORG_CNT, &loop1_Origin, loop1_CAPVD, WINDOW_ORIGIN);
|
update_moving_average(&loop1_ORG_SUM, &loop1_ORG_CNT, &loop1_Origin, loop1_CAPVD, WINDOW_ORIGIN);
|
||||||
} else {
|
} else if (dev < 0) {
|
||||||
/*--- CAPVD 异常偏高: 暂停跟踪, 冻结超时 + 稳定性双条件 ---*/
|
/* 正variation (疑似车) → 冻结, 保留超时兜底更新 */
|
||||||
if (loop1_freeze_cnt == 0) {
|
if (loop1_freeze_cnt == 0) {
|
||||||
loop1_freeze_ref = loop1_CAPVD;
|
loop1_freeze_ref = loop1_CAPVD;
|
||||||
} else {
|
} else {
|
||||||
@@ -666,6 +672,15 @@ void vd1_task(void){
|
|||||||
}
|
}
|
||||||
loop1_ORG_CNT = 0;
|
loop1_ORG_CNT = 0;
|
||||||
loop1_ORG_SUM = 0;
|
loop1_ORG_SUM = 0;
|
||||||
|
} else {
|
||||||
|
/* 负variation (CAPVD高于Origin, 特殊铁块磁导率主导) → 只冻结, 永不更新 Origin */
|
||||||
|
if (loop1_freeze_cnt == 0) {
|
||||||
|
loop1_freeze_ref = loop1_CAPVD;
|
||||||
|
}
|
||||||
|
loop1_freeze_cnt++;
|
||||||
|
if (loop1_freeze_cnt > FREEZE_TIMEOUT) loop1_freeze_cnt = FREEZE_TIMEOUT;
|
||||||
|
loop1_ORG_CNT = 0;
|
||||||
|
loop1_ORG_SUM = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ DLD154Pro是一个单线圈的蓝牙车辆检测器功能说明:
|
|||||||
|
|
||||||
| 引脚 | 标识 | 功能 | 说明 |
|
| 引脚 | 标识 | 功能 | 说明 |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| PA12 | F1, FLEVEL\_H | 33nF | 调频电容,0=33nF,1=0nF |
|
| PA12 | F1, FLEVEL_H | 66nF/33nF | 调频电容,0=66nF(低频),1=33nF(高频) |
|
||||||
|
|
||||||
### 继电器
|
### 继电器
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
# DLD154Pro 小程序现场评估报告分析(2026-08-27)
|
||||||
|
|
||||||
|
> 设备: DLD154Pro | SN: E04E7AA1DEA4 | HW 3.01 | **FW V3.05**
|
||||||
|
> 评估窗口: 2026-08-27 13:10:51 ~ 13:11:51(60s)
|
||||||
|
> 原始报告: 小程序导出 `DLD154Pro_Report_1787807522640.md`(本文件为技术核对归档)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 结论速览
|
||||||
|
|
||||||
|
| 项 | 结论 |
|
||||||
|
|---|---|
|
||||||
|
| **归一化基数(LOOP_MEASURE_BASE)** | ✅ **正确使用 524288**(V3.04 协议对齐生效) |
|
||||||
|
| 检测功能 | ✅ 2 次车辆事件正常触发,灵敏度阈值判定正确 |
|
||||||
|
| 线圈状态 | ✅ 已连接、稳定(基线漂移 ±2Hz)、窗口内无断开 |
|
||||||
|
| 环境评估 | ✅ 良好(2/15),无车波动基本正常 |
|
||||||
|
| **电容档识别(评估端)** | ⚠ **错误**:判 76nF(DLD110S 的档),154Pro 实际两档 **33/66nF**,当前低频档=66nF |
|
||||||
|
| **实测电感** | ✅ 121.276μH 正确(66nF 低频档反推零误差) |
|
||||||
|
|
||||||
|
## 2. 关键数字溯源
|
||||||
|
|
||||||
|
### 2.1 归一化基数 ✅(本次最核心验证)
|
||||||
|
|
||||||
|
```
|
||||||
|
有车峰值 variation = 12352
|
||||||
|
ΔL/L = 2 × 12352 / 524288 = 4.7119% ← 报告 4.71% 逐位吻合
|
||||||
|
若照搬 131072(DLD154V4B/vd960Loop): 2×12352/131072 = 18.85% ← 错误场景
|
||||||
|
```
|
||||||
|
|
||||||
|
- 无车最大瞬态 483 → `483/524288 = 0.0921%`(报告 0.1%)
|
||||||
|
- 有车频域交叉验证:Δf/f = (57607−56255)/56255 = +2.40% ≈ variation/524288 = 2.36% ✓
|
||||||
|
|
||||||
|
**结论:小程序正确读取了 0x24 偏移 8-10 的 LOOP_MEASURE_BASE=524288,V3.04 协议对齐闭环。**
|
||||||
|
|
||||||
|
### 2.2 电容档 ⚠(评估端缺陷)
|
||||||
|
|
||||||
|
```
|
||||||
|
报告检测表: f=56255Hz, L=121.276μH → C = 1/(4π²×56255²×121.276e-6) = 66.00nF 零误差
|
||||||
|
报告几何表: 识别电容档 76nF(用理论 L=110.84μH 反推 C=72.2nF → 匹配档表 76nF)
|
||||||
|
```
|
||||||
|
|
||||||
|
- **154Pro 固件实际**:PA12 FLEVEL 一级调频,**0=66nF(低频,默认)、1=33nF(高频)**(2026-08-27 勘误确认,代码+文档 9 处已修正)
|
||||||
|
- **76nF 是 DLD110S 的档**(两级调频低频档)——评估端把 vd960Loop 四档表 {33,43,66,76} 通用到 154Pro,判定逻辑自相矛盾
|
||||||
|
- 正确判定:当前低频档 66nF → L=121.276μH 正确,电感偏差 (121.276−110.84)/110.84 = 9.42% 正常 ✓
|
||||||
|
|
||||||
|
### 2.3 灵敏度验证 ✅
|
||||||
|
|
||||||
|
- 配置 SENS=2 级(协议层,内部索引 1 → sens_in=54 → ΔL/L 触发 = 2×54/65536 = 0.165%)
|
||||||
|
- 实际触发 variation=464 → ΔL/L=0.177% > 阈值 ✓ 正常触发
|
||||||
|
- 两次事件峰值:第一次 ~3.95%(variation 10348)、第二次 **4.71%**(variation 12352)→ 轿车信号强度正常
|
||||||
|
|
||||||
|
### 2.4 线圈稳定性 ✅
|
||||||
|
|
||||||
|
- 无车基线 56256Hz vs 当前 56254Hz,漂移 ±2Hz(0.004%)
|
||||||
|
- 断开次数:上电累计 1 次(装线圈时)vs 评估窗口 0 次(语义正确,V3.04 双变量)
|
||||||
|
- 直流电阻实测 0.65Ω(理论 1.09Ω,±50% 内正常)
|
||||||
|
|
||||||
|
## 3. 次要发现
|
||||||
|
|
||||||
|
1. **无车波动 0.1% 擦边**:判据 `<0.1% 正常`,报告 0.1%(最大 0.08%)。溯源:最大瞬态 483(0.092%)出现在 13:09:50,紧邻 13:09:53 车辆事件前 3 秒——是**车辆接近前兆**而非环境干扰。排除前兆段实际 <0.01%。**建议:无车窗口排除车辆进入前 2~3s 前兆段**
|
||||||
|
2. **频率 +360 补偿未减**:0xC0 上报 `freq = 实测 + 360`(dbn_ble_srv.c:477),评估端反推 L/C 前应先减 360(0.64% 系统误差,影响小)
|
||||||
|
|
||||||
|
## 4. 待办
|
||||||
|
|
||||||
|
- [ ] 小程序"识别电容档"改为**按产品型号配置档表**:154Pro={33,66}nF、110S={76,…}、vd960Loop={33,43,66,76};用实测 f 减 360 后反推 C 再匹配
|
||||||
|
- [ ] 无车窗口排除车辆前兆段
|
||||||
|
- [ ] (已闭环)154Pro 代码/文档电容档勘误 9 处 → commit `2e4e409`
|
||||||
|
|
||||||
|
## 5. 相关
|
||||||
|
|
||||||
|
- 固件 V3.05 发布: `d1fde88`(RS485 减配)/ `692b406`(协议 V1.8 标注)/ `befe99b`(呼吸灯注释)/ `2e4e409`(电容档勘误)
|
||||||
|
- 归一化基数对齐背景: `vehicle-detector-development` skill → `references/measure-base-cross-product-trap.md`
|
||||||
|
- 检查清单: `loop-measure-base-alignment` skill(E 段 18/19 条为本次新增)
|
||||||
@@ -4,6 +4,37 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2026-08-27 — 电容档位勘误:一级调频实为 33nF/66nF(现场评估实锤)
|
||||||
|
|
||||||
|
### 背景
|
||||||
|
|
||||||
|
小程序现场评估报告(E04E7AA1DEA4, V3.05)检测频率 56255Hz + 电感 121.276μH → 反推 `C = 1/(4π²f²L) = 66.00nF` **零误差**;用户确认 154Pro 只有两档 **33nF / 66nF**。此前代码与文档全部标注"0=33nF(低频), 1=0nF(高频)"为**错误认知**(高频不接电容不可能振荡,当时注释就存疑)。
|
||||||
|
|
||||||
|
### 实际档位(用户确认 + 报告反推实锤)
|
||||||
|
|
||||||
|
| FLEVEL (PA12) | 电容 | 档位 | 证据 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 0 (FLEVEL_LOW) | **66nF** | **低频(默认)** | 报告 f=56255Hz, L=121.276μH → C=66.00nF 零误差 |
|
||||||
|
| 1 (FLEVEL_HIGH) | **33nF** | 高频 | 两档 33/66nF(用户确认) |
|
||||||
|
|
||||||
|
### 修正(9 处)
|
||||||
|
|
||||||
|
| 文件 | 处数 | 内容 |
|
||||||
|
|------|------|------|
|
||||||
|
| `APP/peripheral_main.c` | 3 | 引脚注释 / 调频逻辑注释 / 默认接入注释 |
|
||||||
|
| `docs/DLD154Pro硬件资源.md` | 1 | FLEVEL 行 |
|
||||||
|
| `docs/product-manual.md` | 2 | §3 频率档位说明 / §4 配置表 |
|
||||||
|
| `docs/technical-spec.md` | 3 | 架构图 / 电气参数 / 引脚表 |
|
||||||
|
|
||||||
|
### 影响
|
||||||
|
|
||||||
|
- 报告 L=121.276μH **正确**(66nF 低频档);此前按旧注释推 33nF→242μH 是错判方向
|
||||||
|
- 小程序"识别电容档"逻辑仍有缺陷:报告内部不一致(检测表隐含 66nF、几何表判 76nF——76nF 是 DLD110S 的档),**需按产品档表(33/66nF)修正,不能通用 vd960Loop 四档表 {33,43,66,76}**
|
||||||
|
- 频率上报 +360 补偿评估端未减(0.64% 系统误差,影响小)
|
||||||
|
- devlog 2026-07 历史条目"33nF"为早期认知,保留
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 2026-08-27 — RS485 协议省 Flash 减配(文档如实标注未实现,V3.05 固件 + 协议 V1.8)
|
## 2026-08-27 — RS485 协议省 Flash 减配(文档如实标注未实现,V3.05 固件 + 协议 V1.8)
|
||||||
|
|
||||||
### 背景
|
### 背景
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ DLD154Pro 是一款基于 RISC-V 微控制器的**单通道环形线圈蓝牙车
|
|||||||
|
|
||||||
| 项目 | 说明 |
|
| 项目 | 说明 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| 频率档位 | 通过 BLE 小程序设置,IO 控制 PA12 切换 33nF 调频电容:0=接 33nF(低频),1=不接(高频) |
|
| 频率档位 | 通过 BLE 小程序设置,IO 控制 PA12 切换调频电容:0=接 66nF(低频),1=接 33nF(高频) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ DLD154Pro **无物理拨码开关**,所有参数通过手机 BLE 小程序配
|
|||||||
| 输出模式 | 0 (存在) / 1 (进入脉冲) / 2 (离开脉冲) | 0 | 继电器输出类型 |
|
| 输出模式 | 0 (存在) / 1 (进入脉冲) / 2 (离开脉冲) | 0 | 继电器输出类型 |
|
||||||
| 离开延时 | 0 ~ 255 (×100ms) | 5 (500ms) | 车辆离开后延时释放 |
|
| 离开延时 | 0 ~ 255 (×100ms) | 5 (500ms) | 车辆离开后延时释放 |
|
||||||
| 有限存在 | 0 (永久) 或 1~255 (×5s) | 0 | 超时后释放并复位 |
|
| 有限存在 | 0 (永久) 或 1~255 (×5s) | 0 | 超时后释放并复位 |
|
||||||
| 频率档位 | 0 (高频) / 1 (低频) | 0 | 调频电容切换 |
|
| 频率档位 | 0 (高频=33nF) / 1 (低频=66nF) | 0 | 调频电容切换 (PA12) |
|
||||||
| 融合模式 | 0 ~ 6 | 4 (仅地感) | 见 §4.6 |
|
| 融合模式 | 0 ~ 6 | 4 (仅地感) | 见 §4.6 |
|
||||||
| 功能码 (function_mode) | bit0: RS485 协议, bit1: 光耦功能 | 0 | 700BS/Modbus 切换 |
|
| 功能码 (function_mode) | bit0: RS485 协议, bit1: 光耦功能 | 0 | 700BS/Modbus 切换 |
|
||||||
| RS485 协议 | 700BS / Modbus RTU | 700BS | bit0=0→700BS, bit0=1→Modbus |
|
| RS485 协议 | 700BS / Modbus RTU | 700BS | bit0=0→700BS, bit0=1→Modbus |
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
RS485 ──────────────┤ PA14 TX / PA15 RX / PA13 RE (UART0) │
|
RS485 ──────────────┤ PA14 TX / PA15 RX / PA13 RE (UART0) │
|
||||||
│ ├── PA8 (GPIO) ──── 继电器 RLY1
|
│ ├── PA8 (GPIO) ──── 继电器 RLY1
|
||||||
BLE ────────────────┤ 2.4GHz 无线 │
|
BLE ────────────────┤ 2.4GHz 无线 │
|
||||||
│ ├── PA12 (GPIO) ──── 调频电容 (33nF)
|
│ ├── PA12 (GPIO) ──── 调频电容 (66nF/33nF)
|
||||||
└──────────────────────────────────────┘
|
└──────────────────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ Main_Circulation (无 RTOS, 裸机轮询)
|
|||||||
| 工作温度 | -40 | — | +85 | °C | 工业级 |
|
| 工作温度 | -40 | — | +85 | °C | 工业级 |
|
||||||
| 存储温度 | -55 | — | +125 | °C | — |
|
| 存储温度 | -55 | — | +125 | °C | — |
|
||||||
| 线圈电感范围 | 50 | 200 | 1000 | μH | 超出范围可工作但精度下降 |
|
| 线圈电感范围 | 50 | 200 | 1000 | μH | 超出范围可工作但精度下降 |
|
||||||
| 线圈频率范围 | 20 | 80 | 200 | kHz | 含 33nF 调频电容 |
|
| 线圈频率范围 | 20 | 80 | 200 | kHz | 含调频电容 (33/66nF) |
|
||||||
| 线圈 Q 值 | 5 | — | — | — | 过低导致振荡不稳定 |
|
| 线圈 Q 值 | 5 | — | — | — | 过低导致振荡不稳定 |
|
||||||
| 继电器触点电压 | — | — | 250 | VAC | 单刀双掷 (SPDT) |
|
| 继电器触点电压 | — | — | 250 | VAC | 单刀双掷 (SPDT) |
|
||||||
| 继电器触点电流 | — | — | 3 | A | — |
|
| 继电器触点电流 | — | — | 3 | A | — |
|
||||||
@@ -72,7 +72,7 @@ Main_Circulation (无 RTOS, 裸机轮询)
|
|||||||
|------|------|------|------|------|---------|------|
|
|------|------|------|------|------|---------|------|
|
||||||
| **PA9** | **LP** | **线圈频率捕获** | IN | **TMR0** | — | **核心输入,下降沿→下降沿** |
|
| **PA9** | **LP** | **线圈频率捕获** | IN | **TMR0** | — | **核心输入,下降沿→下降沿** |
|
||||||
| PA8 | RLY1 | 继电器输出 | OUT | GPIO PP | 0 (释放) | 单刀双掷,低电平有效 |
|
| PA8 | RLY1 | 继电器输出 | OUT | GPIO PP | 0 (释放) | 单刀双掷,低电平有效 |
|
||||||
| PA12 | FLEVEL | 线圈调频 | OUT | GPIO PP | L (33nF) | 0=接33nF(低频), 1=0nF(高频) |
|
| PA12 | FLEVEL | 线圈调频 | OUT | GPIO PP | L (66nF) | 0=接66nF(低频), 1=接33nF(高频) |
|
||||||
| PA14 | UART0_TX | RS485 发送 | OUT | UART0 | — | 700BS / Modbus |
|
| PA14 | UART0_TX | RS485 发送 | OUT | UART0 | — | 700BS / Modbus |
|
||||||
| PA15 | UART0_RX | RS485 接收 | IN | UART0 | — | 700BS / Modbus |
|
| PA15 | UART0_RX | RS485 接收 | IN | UART0 | — | 700BS / Modbus |
|
||||||
| PA13 | UART0_RE | RS485 方向控制 | OUT | GPIO PP | RX (接收) | 高=发送, 低=接收 |
|
| PA13 | UART0_RE | RS485 方向控制 | OUT | GPIO PP | RX (接收) | 高=发送, 低=接收 |
|
||||||
|
|||||||
Reference in New Issue
Block a user