fix(display): 改用 #m2 模式显示 PIN 数字,修复 #m3 不支持数字导致的显示错误
Made-with: Cursor
This commit is contained in:
@@ -113,15 +113,14 @@ class Display {
|
|||||||
showPinMiddle4(pin) {
|
showPinMiddle4(pin) {
|
||||||
const s = String(pin || '');
|
const s = String(pin || '');
|
||||||
const mid4 = s.length >= 6 ? s.slice(1, 5) : s.padStart(4, '0').slice(-4);
|
const mid4 = s.length >= 6 ? s.slice(1, 5) : s.padStart(4, '0').slice(-4);
|
||||||
// 不加空格分隔符,内容直接跟在 #m3 后,否则空格占用第一个显示位
|
// #m2 模式支持数字,4字符直接跟在模式号后(无空格)
|
||||||
this._write('#m3' + mid4);
|
this._write('#m2' + mid4);
|
||||||
log.info('display', `显示屏 → PIN 中间4位: ${mid4}`);
|
log.info('display', `显示屏 → PIN 中间4位: ${mid4}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
_write(val) {
|
_write(val) {
|
||||||
try {
|
try {
|
||||||
// 用 printf 避免 echo 的换行符导致 sysfs 写入失败
|
execSync(`echo "${val}" | tee ${DISPLAY_PATH} > /dev/null`, { timeout: 3000 });
|
||||||
execSync(`printf '%s' "${val}" | tee ${DISPLAY_PATH} > /dev/null`, { timeout: 3000 });
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log.warn('display', `写入失败: ${e.message}`);
|
log.warn('display', `写入失败: ${e.message}`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user