From 309fb6f5bd18e23bbccd6f8013d66e397d5b18cc Mon Sep 17 00:00:00 2001 From: lxinyu Date: Sat, 2 Nov 2024 16:57:31 +0800 Subject: [PATCH] Signed-off-by: lxinyu --- 大彩.go | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 204 insertions(+), 19 deletions(-) diff --git a/大彩.go b/大彩.go index 7f2b274..bc79f1f 100644 --- a/大彩.go +++ b/大彩.go @@ -1,32 +1,54 @@ package dc import ( - . "gitlab.lxinyu.cn/lxinyu/go/c" + . "git.lxinyu.cn/lxinyu/c" ) -func D更新控件内容(ID1, ID2 int64, 内容 string, 是否unicode bool) string { +func DC到字节集(内容 string) []byte { + return C十六进制到字节集(C子文本替换(内容, " ", "")) +} +func D更新控件内容(画面ID, 控件ID int64, 内容 string, 是否unicode bool) string { var aa string if 是否unicode == true { aa = C字节集到十六进制([]byte(内容)) } else { aa = C字节集到十六进制([]byte(C编码_utf8到gbk(内容))) } - return C格式化文本("EEB110%04X%04X", ID1, ID2) + aa + "FFFCFFFF" + return C格式化文本("EEB110%04X%04X", 画面ID, 控件ID) + aa + "FFFCFFFF" } -func D读取控件内容(ID1, ID2 int64, 内容 string, 是否unicode bool) string { - return C格式化文本("EEB111%04X%04XFFFCFFFF", ID1, ID2) +func D更新控件内容1(画面ID, 控件ID int64, 内容 string, 是否unicode bool) []byte { + return DC到字节集(D更新控件内容(画面ID, 控件ID, 内容, 是否unicode)) } -func D更新控件数值(ID1, ID2, 数值 int64) string { - return C格式化文本("EEB110%04X%04X%08XFFFCFFFF", ID1, ID2, 数值) +func D读取控件内容(画面ID, 控件ID int64) string { + return C格式化文本("EEB111%04X%04XFFFCFFFF", 画面ID, 控件ID) } -func D更新控件角度(ID1, ID2, 开始角度, 结束角度 int64) string { +func D读取控件内容1(画面ID, 控件ID int64) []byte { + return DC到字节集(D读取控件内容(画面ID, 控件ID)) +} +func D更新控件数值(画面ID, 控件ID, 数值 int64) string { + return C格式化文本("EEB110%04X%04X%08XFFFCFFFF", 画面ID, 控件ID, 数值) +} +func D更新控件数值1(画面ID, 控件ID, 数值 int64) []byte { + return DC到字节集(D更新控件数值(画面ID, 控件ID, 数值)) +} +func D更新控件角度(画面ID, 控件ID, 开始角度, 结束角度 int64) string { if 结束角度 < 0 { 结束角度 = C到整数(360 + 结束角度) } - return C格式化文本("EEB110%04X%04X%04X%04XFFFCFFFF", ID1, ID2, 开始角度, 结束角度) + if 开始角度 == 结束角度 { + 开始角度 = 0 + 结束角度 = 360 + } + return C格式化文本("EEB110%04X%04X%04X%04XFFFCFFFF", 画面ID, 控件ID, 开始角度, 结束角度) } -func D读取控件数值(ID1, ID2 int64) string { - return C格式化文本("EEB110%04X%04XFFFCFFFF", ID1, ID2) +func D更新控件角度1(画面ID, 控件ID, 开始角度, 结束角度 int64) []byte { + return DC到字节集(D更新控件角度(画面ID, 控件ID, 开始角度, 结束角度)) +} +func D读取控件数值(画面ID, 控件ID int64) string { + return C格式化文本("EEB110%04X%04XFFFCFFFF", 画面ID, 控件ID) +} +func D读取控件数值1(画面ID, 控件ID int64) []byte { + return DC到字节集(D读取控件数值(画面ID, 控件ID)) } func D发送自定义(内容 string, 是否unicode bool) string { var aa string @@ -49,15 +71,178 @@ func D发送自定义1(内容, 头, 尾巴 string, 是否unicode bool) string { func D鸣叫(毫秒 int64) string { return C格式化文本("EE61%02XFFFCFFFF", 毫秒) } -func D更新控件图标(ID1, ID2, 数值 int64) string { - return C格式化文本("EEB123%04X%04X%02XFFFCFFFF", ID1, ID2, 数值) +func D鸣叫1(毫秒 int64) []byte { + return DC到字节集(D鸣叫(毫秒)) } -func D读取控件图标(ID1, ID2 int64) string { - return C格式化文本("EEB111%04X%04XFFFCFFFF", ID1, ID2) +func D更新控件图标(画面ID, 控件ID, 数值 int64) string { + return C格式化文本("EEB123%04X%04X%02XFFFCFFFF", 画面ID, 控件ID, 数值) } -func D更新控件图标上一帧(ID1, ID2 int64) string { - return C格式化文本("EEB124%04X%04XFFFCFFFF", ID1, ID2) +func D更新控件图标1(画面ID, 控件ID, 数值 int64) []byte { + return DC到字节集(D更新控件图标(画面ID, 控件ID, 数值)) } -func D更新控件图标下一帧(ID1, ID2 int64) string { - return C格式化文本("EEB125%04X%04XFFFCFFFF", ID1, ID2) +func D读取控件图标(画面ID, 控件ID int64) string { + return C格式化文本("EEB111%04X%04XFFFCFFFF", 画面ID, 控件ID) +} +func D读取控件图标1(画面ID, 控件ID int64) []byte { + return DC到字节集(D读取控件图标(画面ID, 控件ID)) +} +func D更新控件图标上一帧(画面ID, 控件ID int64) string { + return C格式化文本("EEB124%04X%04XFFFCFFFF", 画面ID, 控件ID) +} +func D更新控件图标上一帧1(画面ID, 控件ID int64) []byte { + return DC到字节集(D更新控件图标上一帧(画面ID, 控件ID)) +} +func D更新控件图标下一帧(画面ID, 控件ID int64) string { + return C格式化文本("EEB125%04X%04XFFFCFFFF", 画面ID, 控件ID) +} +func D更新控件图标下一帧1(画面ID, 控件ID int64) []byte { + return DC到字节集(D更新控件图标下一帧(画面ID, 控件ID)) +} +func D更新画面(画面ID int64) string { + return C格式化文本("EEB100%04XFFFCFFFF", 画面ID) +} +func D更新画面1(画面ID int64) []byte { + return DC到字节集(D更新画面(画面ID)) +} +func D读取画面() string { + return "EEB101FFFCFFFF" +} +func D读取画面1() []byte { + return DC到字节集(D读取画面()) +} +func D背光调节(数值 int64) string { //0-100 + return C格式化文本("EE60%02XFFFCFFFF", 数值) +} +func D背光调节1(数值 int64) []byte { //0-100 + return DC到字节集(D背光调节(数值)) +} +func D设置文本滚动(画面ID, 控件ID, 数值 int64) string { //停止滚动 + return C格式化文本("EEB116%04X%04X%04XFFFCFFFF", 画面ID, 控件ID, 数值) +} +func D设置文本滚动1(画面ID, 控件ID, 数值 int64) []byte { + return DC到字节集(D设置文本滚动(画面ID, 控件ID, 数值)) +} +func D设置指定时间(年, 月, 日, 时, 分, 秒, 星期 int64) string { //停止滚动 + if 年 < 2000 || 年 > 2999 { + return "" + } + 年 = C到整数(C取文本右边(C到文本(年), 2)) + return C格式化文本("EE81%02d%02d%02d%02d%02d%02d%02dFFFCFFFF", 秒, 分, 时, 日, 星期, 月, 年) +} +func D设置指定时间1(年, 月, 日, 时, 分, 秒, 星期 int64) []byte { //停止滚动 + return DC到字节集(D设置指定时间(年, 月, 日, 时, 分, 秒, 星期)) +} +func D设置系统时间() string { + s := C取现行时间() + return D设置指定时间(s.C取年份(), s.C取月份(), s.C取日(), s.C取小时(), s.C取分钟(), s.C取秒(), s.C取星期几()) +} +func D设置系统时间1() []byte { + return DC到字节集(D设置系统时间()) +} +func D设置前景色(颜色值 int64) string { + // EE41 F800 FFFCFFFF + return C格式化文本("EE41%04XFFFCFFFF", 颜色值) +} +func D设置背景色(颜色值 int64) string { + // EE42 F800 FFFCFFFF + return C格式化文本("EE42%04XFFFCFFFF", 颜色值) +} +func D清屏() string { + return "EE01FFFCFFFF" +} +func D画线(X1, Y1, X2, Y2 int64) string { + return C格式化文本("EE51%04X%04X%04X%04XFFFCFFFF", X1, Y1, X2, Y2) +} +func D画圆(中心X, 中心Y, 半径 int64, 是否填充 bool) string { + 类型 := 52 + if 是否填充 == true { + 类型 = 53 + } + return C格式化文本("EE%02d%04X%04X%04XFFFCFFFF", 类型, 中心X, 中心Y, 半径) +} +func D画矩形(X1, Y1, X2, Y2 int64, 是否填充 bool) string { + 类型 := 54 + if 是否填充 == true { + 类型 = 55 + } + return C格式化文本("EE%02d%04X%04X%04X%04XFFFCFFFF", 类型, X1, Y1, X2, Y2) +} +func D局部清屏(X, Y, 宽, 高 int64) string { + return D画矩形(X, Y, 宽, 高, true) +} +func D画椭圆(X1, Y1, X2, Y2 int64, 是否填充 bool) string { + 类型 := 56 + if 是否填充 == true { + 类型 = 57 + } + return C格式化文本("EE%02d%04X%04X%04X%04XFFFCFFFF", 类型, X1, Y1, X2, Y2) +} +func D画点(X1, Y1 int64, 是否前景色 bool) string { + 类型 := 58 + if 是否前景色 == true { + 类型 = 50 + } + return C格式化文本("EE%02d%04X%04XFFFCFFFF", 类型, X1, Y1) +} +func D画圆弧(圆点X, 圆点Y, 半径, 起始角, 终止角 int64) string { + return C格式化文本("EE67%04X%04X%04X%04X%04XFFFCFFFF", 圆点X, 圆点Y, 半径, 起始角, 终止角) +} +func D清除图层(图层 int64) string { + return C格式化文本("EE05%02XFFFCFFFF", 图层) +} +func D自动清除图层(是否切换时自动清除 bool) string { + 类型 := 0 + if 是否切换时自动清除 == true { + 类型 = 1 + } + return C格式化文本("EE06%02XFFFCFFFF", 类型) +} +func D设置文本控件背景色(画面ID, 控件ID, 颜色值 int64) string { + //EE B1 18 00 02 00 02 00 1F FF FC FF FF + return C格式化文本("EEB118%04X%04X%04XFFFCFFFF", 画面ID, 控件ID, 颜色值) +} +func D设置文本控件前景色(画面ID, 控件ID, 颜色值 int64) string { + //EE B1 19 00 02 00 02 00 1F FF FC FF FF + return C格式化文本("EEB119%04X%04X%04XFFFCFFFF", 画面ID, 控件ID, 颜色值) +} +func D设置文本控件背景透明(画面ID, 控件ID int64) string { + //EE B1 17 00 02 00 02 00 1F FF FC FF FF + return C格式化文本("EEB117%04X%04XFFFCFFFF", 画面ID, 控件ID) +} +func D表格添加记录(画面ID, 控件ID int64, 内容 string, 是否unicode bool) string { // 列1;列2; 结尾需要加; + var aa string + if 是否unicode == true { + aa = C字节集到十六进制([]byte(内容)) + } else { + aa = C字节集到十六进制([]byte(C编码_utf8到gbk(内容))) + } + return C格式化文本("EEB152%04X%04X", 画面ID, 控件ID) + aa + "FFFCFFFF" +} +func D表格清除记录(画面ID, 控件ID int64) string { + //EE B1 53 00 01 00 02 FF FC FF FF + return C格式化文本("EEB153%04X%04XFFFCFFFF", 画面ID, 控件ID) +} +func D表格修改一行记录(画面ID, 控件ID, 行数 int64, 内容 string, 是否unicode bool) string { // 列1;列2; 结尾需要加; + var aa string + if 是否unicode == true { + aa = C字节集到十六进制([]byte(内容)) + } else { + aa = C字节集到十六进制([]byte(C编码_utf8到gbk(内容))) + } + return C格式化文本("EEB157%04X%04X%04X", 画面ID, 控件ID, 行数) + aa + "FFFCFFFF" +} +func D表格删除一行记录(画面ID, 控件ID, 行数 int64) string { + return C格式化文本("EEB158%04X%04X%04XFFFCFFFF", 画面ID, 控件ID, 行数) +} +func D关闭省电模式() string { + return "EE7700FFFE0011FFFCFFFF" +} +func D开启省电模式(待机时间, 激活亮度, 待机亮度 int64, 是否开启通知 bool) string { + // EE 77 01 FD FC 00 1D FFFCFFFF 关闭通知 + // EE 77 03 FD FC 00 1D FFFCFFFF 开启通知 + 类型 := 1 + if 是否开启通知 == true { + 类型 = 3 + } + return C格式化文本("EE77%02X%02X%02X00%02XFFFCFFFF", 类型, 激活亮度, 待机亮度, 待机时间) }