NAgain
New member
Всем доброго дня.
Говоря сразу - за ESP (конкретнее - devkit 0.9) сел пару дней назад, до этого AVR/STM на чистом Си. Так что и Lua, в принципе, тоже вижу то же время. Сопсна задача:
Поскольку в проекте нужен Wi-Fi, решил наконец то приобрести esp-шку и раскурить что к чему, ибо вешать ее как гейт - uart<->tcp слишком расточительно. По условиям задачи - нужно выводить информацию на экран (ili9341) при каких-либо движениях со стороны wi-fi. Тут сетевую сторону рассматривать не будем, я до нее еще не дошел, но различные примеры, найденный в сети, работают и воодушевляют.
Так вот, расстроила крайне медленная работа с дисплеем по аппаратному SPI. Полное заполнение экрана (на глаз) - где-то секунда, или чуть более того. Естественно это никуда не годится. Нужно никак не меньше 5-7 fps.
Поскольку дури у контроллера ведро (в том же сравнении с 8-битными avr-ками), не поверю что нельзя добиться нужного частоты обновления. Соответственно вопрос - куда копать, что делать ? Может ну ее эту Lua в топку тогда и стоит перелезать сразу же на SDK ? Только вот с SDK пока не разбирался. Заметил только то, что уже несколько кастомных вариантов существует.
Ну и код примера сопсна:
Говоря сразу - за ESP (конкретнее - devkit 0.9) сел пару дней назад, до этого AVR/STM на чистом Си. Так что и Lua, в принципе, тоже вижу то же время. Сопсна задача:
Поскольку в проекте нужен Wi-Fi, решил наконец то приобрести esp-шку и раскурить что к чему, ибо вешать ее как гейт - uart<->tcp слишком расточительно. По условиям задачи - нужно выводить информацию на экран (ili9341) при каких-либо движениях со стороны wi-fi. Тут сетевую сторону рассматривать не будем, я до нее еще не дошел, но различные примеры, найденный в сети, работают и воодушевляют.
Так вот, расстроила крайне медленная работа с дисплеем по аппаратному SPI. Полное заполнение экрана (на глаз) - где-то секунда, или чуть более того. Естественно это никуда не годится. Нужно никак не меньше 5-7 fps.
Поскольку дури у контроллера ведро (в том же сравнении с 8-битными avr-ками), не поверю что нельзя добиться нужного частоты обновления. Соответственно вопрос - куда копать, что делать ? Может ну ее эту Lua в топку тогда и стоит перелезать сразу же на SDK ? Только вот с SDK пока не разбирался. Заметил только то, что уже несколько кастомных вариантов существует.
Ну и код примера сопсна:
Код:
function init_spi_display()
-- Hardware SPI CLK = GPIO14
-- Hardware SPI MOSI = GPIO13
-- Hardware SPI MISO = GPIO12 (not used)
-- CS, D/C, and RES can be assigned freely to available GPIOs
local cs = 8; -- GPIO15, pull-down 10k to GND
local dc = 2; -- GPIO4
local res = 1; -- GPIO5
spi.setup(1, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, 8, 1);
disp = ucg.ili9341_18x240x320_hw_spi(cs, dc, res);
end
init_spi_display();
disp:begin(ucg.FONT_MODE_TRANSPARENT);
disp:clearScreen();
disp:setFont(ucg.font_helvB18_hr);
disp:setColor(255, 255, 255);
disp:setColor(1, 255, 0,0);
disp:setPrintPos(0, 25);
disp:print("Hello World!");