Я использую ESP8266 с Nodemcu для связи с последовательным терминалом с помощью Putty. Использование escape-последовательностей, как указано в этих вопросах:
Чтение побега ANSI с терминала
Как определить размер терминала ANSI?
Список escape-последовательностей https://vt100.net/docs/vt100-ug/chapter3.html
Я пытаюсь прочитать escape-последовательность, которая является ответом на поиск позиции курсора с помощью LUA. Кажется, я не получаю видимого ответа (ожидаемого), но я также ничего не получаю. Все работает, кроме ответа.
Что я делаю не так, как я могу получить ответ?
-- Clear screen
uart.write(0, "\033[2J")
-- Setup event handler callback to read data from terminal
-- Control sequence is terminated with an 'R'
-- I'm replacing ESC in the reply so that I can hopefully get a visible reply like _[25;80R
uart.on("data", 0, function(data)
if data ~= 'R' then
uart.write(0, data)
end
if data == '\033' then
uart.write(0, "_")
end
end, 0)
-- ESC = \033
-- cursorpos(v,h) CUP Move cursor to screen location v,h ^[[<v>;<h>H
uart.write(0, "\033[20;20H")
uart.write(0, "\033[6n")
-- Response:
-- cursorpos CPR Response: cursor is at v,h ^[<v>;<h>R