local outputs = { "GtSt" } local function init() setSerialBaudrate(115200) end local function run() local d local v lcd.clear() lcd.drawFilledRectangle(0, 0, LCD_W, 18, SOLID) lcd.drawText(5, 3, "CHANNEL MONITOR", INVERS) local logo = "49KS" local logoWidth = lcd.sizeText(logo, DBLSIZE) local logoX = (LCD_W - logoWidth) / 2 local logoY = 30 lcd.drawText(logoX + 2, logoY + 2, logo, DBLSIZE) lcd.drawText(logoX, logoY, logo, DBLSIZE + INVERS) local dividerY = logoY + 45 lcd.drawLine(0, dividerY, LCD_W, dividerY, SOLID, FORCE) local startY = dividerY + 15 local lineSpacing = 12 d = "$RM," for i = 1, 24 do v = getValue("ch" .. i) v = math.floor(v / 2) + 1500 d = d .. v if i < 24 then d = d .. "," end local col, row if i <= 12 then col = 15 row = startY + (i * lineSpacing) else col = (LCD_W / 2) + 10 row = startY + ((i - 12) * lineSpacing) end lcd.drawText(col, row, string.format("CH%02d: %4d", i, v), SMLSIZE) end local frameTop = dividerY + 10 lcd.drawRectangle(5, frameTop, LCD_W - 10, LCD_H - frameTop - 5, SOLID) serialWrite(d .. "\r\n") return 0 end return { output = outputs, run = run, init = init }