本文主要闡述的是大彩串口屏如何實(shí)現(xiàn)串口更新菜單選項(xiàng)。本例子采用的是文本控件,按鈕控件以及數(shù)據(jù)記錄控件結(jié)合lua腳本去實(shí)現(xiàn)下拉菜單的功能,同時(shí)使用大彩協(xié)議的指令通過數(shù)據(jù)記錄控件完成菜單選項(xiàng)的更新。
本文適用于大彩串口屏M系列、物聯(lián)型以及F系列等支持lua腳本的型號。
3.1 界面配置
圖 3-1界面配置
圖3-2文本控件屬性
按鈕控件,主要用于觸發(fā)下拉菜單的顯示,即點(diǎn)擊按鈕可以顯示數(shù)據(jù)記錄控件,相應(yīng)的屬性如圖3-3所示。
圖3-3按鈕控件屬性
數(shù)據(jù)記錄控件,主要用于替代菜單控件的顯示,通過選中對應(yīng)的選項(xiàng),在文本控件中顯示最終選中的選項(xiàng),相應(yīng)的屬性如圖3-4所示。
圖3-4數(shù)據(jù)記錄控件屬性
3.3 實(shí)現(xiàn)步驟
3.3.1 下拉菜單功能
下拉菜單的功能主要通過lua腳本來實(shí)現(xiàn),實(shí)現(xiàn)原理是通過按鈕控件來觸發(fā)下拉菜單選項(xiàng)的顯示,通過對數(shù)據(jù)記錄控件的選中操作,通過控件通知函數(shù)on_control_notify(screen,control,value)來觸發(fā)回調(diào),實(shí)現(xiàn)將數(shù)據(jù)記錄控件選中的選項(xiàng)讀取出來,再將讀取出來的選項(xiàng)顯示到文本控件中實(shí)現(xiàn)。相應(yīng)的lua腳本代碼如圖3-5所示。
圖3-5Lua腳本代碼
3.3.2 串口指令更新選項(xiàng)
串口指令更新的步驟主要是:先將原來的菜單選項(xiàng)清空,然后重新更新需要顯示的選項(xiàng)。對應(yīng)的操作即串口給屏幕發(fā)送相應(yīng)的指令即可,關(guān)于實(shí)現(xiàn)上面兩個(gè)步驟,用到的指令有清除記錄數(shù)據(jù)指令以及添加多行記錄的指令。清除記錄數(shù)據(jù)的指令參考圖3-6。
圖3-6清除記錄數(shù)據(jù)指令
添加多條記錄指令就是一條指令更新多個(gè)選項(xiàng)的顯示。比如:將里面的選項(xiàng)更新成對應(yīng)的電壓參數(shù),相應(yīng)的指令參考圖3-7。
圖3-7添加多條記錄指令
3.3.3 虛擬調(diào)試
通過串口發(fā)送指令去更新顯示的選項(xiàng),同時(shí)可以通過按鈕來實(shí)現(xiàn)下拉菜單的功能。將里面的選項(xiàng)更新成對應(yīng)的電壓參數(shù),相應(yīng)的調(diào)試效果如圖3-8所示。
圖3-8調(diào)試效果
本例子主要是結(jié)合數(shù)據(jù)記錄控件可以通過串口靈活更新的特點(diǎn),直接用數(shù)據(jù)記錄控件替代菜單控件,同時(shí)使用lua腳本來處理按鈕控件的下拉菜單的功能,并可以將選中的選項(xiàng)顯示文本控件。通過數(shù)據(jù)記錄控件的靈活更新功能并結(jié)合lua腳本的邏輯應(yīng)用,可以有效實(shí)現(xiàn)串口更新菜單選項(xiàng)的功能。