странно все это. на a7 должен быть инвертированный pwm. а заваленные фронты в дополнение к отсутствию выбросов после цапа на относительно невысокой частоте - где-то высокая емкость. щупы+осцил?
А можно переделать скетч 3.6 под экран 2.2 с контроллером ILI9341 ?
Заменить библиотеку на Adafruit_ILI9341 и в той части программы, которая называется "ВЫВОД НА ДИСПЛЕЙ", поменять координаты вывода под Ваш дисплей (tft.setCursor). Для начала просто библиотеку подменить, а если запустится, то колдовать с tft.setCursor.
Заменить библиотеку на Adafruit_ILI9341 и в той части программы, которая называется "ВЫВОД НА ДИСПЛЕЙ", поменять координаты вывода под Ваш дисплей (tft.setCursor). Для начала просто библиотеку подменить, а если запустится, то колдовать с tft.setCursor.
Простой подменой библиотеки видимо не получится, посыпались ошибки:
C:\Users\Alex\AppData\Local\Temp\arduino_modified_sketch_181033\gen_3.6.ino: In function 'void setup()':
gen_3.6:45:13: error: 'class Adafruit_ILI9341' has no member named 'initR'
tft.initR(INITR_BLACKTAB);
^
gen_3.6:45:19: error: 'INITR_BLACKTAB' was not declared in this scope
tft.initR(INITR_BLACKTAB);
^
C:\Users\Alex\AppData\Local\Temp\arduino_modified_sketch_181033\gen_3.6.ino: In function 'void mon_out()':
gen_3.6:131:21: error: 'ST7735_GREEN' was not declared in this scope
tft.setTextColor(ST7735_GREEN, paper);
^
gen_3.6:150:18: error: 'ST7735_WHITE' was not declared in this scope
tft.setTextColor(ST7735_WHITE, paper);
^
gen_3.6:165:98: error: 'ST7735_BLACK' was not declared in this scope
if (mode==3) { sprintf(mybuf," %3ld ", freq/10 ); if (imp_mode_menu == 0) {tft.setTextColor(ST7735_BLACK,ST7735_WHITE);} }
^
gen_3.6:171:33: error: 'ST7735_RED' was not declared in this scope
tft.setTextColor(ST7735_RED,paper); //красный цет строки для всех вариантов
^
gen_3.6:187:70: error: 'ST7735_WHITE' was not declared in this scope
if (imp_mode_menu == 1) {tft.setTextColor(ST7735_RED,ST7735_WHITE);}
^
gen_3.6:205:32: error: 'ST7735_MAGENTA' was not declared in this scope
tft.drawRect(0,67, 160,61,ST7735_MAGENTA);//рамка: вправо, вниз, ширина вправо, длина вниз
^
gen_3.6:207:38: error: 'ST7735_CYAN' was not declared in this scope
tft.drawFastVLine(5, 90, 30, ST7735_CYAN); // восход фронта статическая вер линия
^
gen_3.6:208:41: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastHLine(5, 91, duty, ST7735_YELLOW);//длина единицы
^
gen_3.6:221:53: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastHLine(5,123,28,ST7735_YELLOW);// смещ вправо, смещ вниз, длина вправо
^
gen_3.6:235:86: error: 'ST7735_YELLOW' was not declared in this scope
for(uint8_t n=0; n<100; n++){tft.drawPixel(5+n, 78+ sine_logo[n],ST7735_YELLOW);
^
gen_3.6:239:47: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawLine(5,98,30,73,ST7735_YELLOW);
^
gen_3.6:244:54: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawLine(5,123,105,73,ST7735_YELLOW);
^
gen_3.6:248:59: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastVLine(5, 73, 50, ST7735_YELLOW); // восход фронта статическая вер линия
^
gen_3.6:252:61: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastVLine(5,73,25,ST7735_YELLOW);
^
gen_3.6:261:54: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastVLine(5+n,123-y,y ,ST7735_YELLOW);
^
gen_3.6:271:35: error: 'ST7735_WHITE' was not declared in this scope
tft.setTextColor(ST7735_WHITE, paper);
^
gen_3.6:288:72: error: 'ST7735_BLACK' was not declared in this scope
if (imp_mode_menu==2) { tft.setTextColor(ST7735_BLACK,ST7735_WHITE);}
^
gen_3.6:323:33: error: 'ST7735_YELLOW' was not declared in this scope
tft.setTextColor(modevolt? ST7735_YELLOW : ST7735_WHITE , paper);//выбрать жёлтый цвет если активен
^
Несколько библиотек найдено для "Wire.h"
Используется: D:\Arduino_gen3_6\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Wire
Не используется: D:\Arduino_gen3_6\Arduino\hardware\Arduino_STM32\STM32F1\libraries\WireSlave
exit status 1
'class Adafruit_ILI9341' has no member named 'initR'
и настройки соединения проверить, нужен ли ресет. у меня линуховый st-flash из-под arduino ide шьет без оглядки на него. можно и родную виндовую утилиту пнуть, чтоб не смотрела.
Если я правильно понял, в самой программе запрещается использование JTAG, соответственно СТ-Линк не работает. После нажатия на пумпочку Ресет на плате надо успеть включить Коннект, пока эта команда не прошла.
Установлен Software System Reset, Из 3-4 раз разок коннектится только после ресета на плате. Да и не люблю я эти бинарники шить, в скетче что-то под себя подправить можно. Ну это дело вкуса :-)
Из под Ардуино ИДЕ без проблем прошивается. Система - ВИН7
Из по Ардуины пишет: maple_loader v0.1 Resetting to bootloader via DTR pulse Searching for DFU device [1EAF:0003]... dfu-util - (C) 2007-2008 by OpenMoko Inc. Couldn't find the DFU device: [1EAF:0003] This program is Free Software and has ABSOLUTELY NO WARRANTY
хотел проверить, как шьет виндовая утилита stlink, если прошит gen36. под рукой была одна плата с клоном stm32/64kb. сдул с нее чип, взял новый заведомо оригинальный stm32f103c8t6 с производства, впаял. и обломался, на нем 64kb. :) значит, бывает и такое, не обязательно перемаркированный cbt6. разве что от долгого лежания в упаковке у него половина отсохла. есть еще чипы, возможно из других партий, но паять уже нет желания.
шьется из винды без ресета, порты в настройках стоят не jtag, а swd.
наткнулся на такое: "Adafruit ILI9341, в отличие от UTFT, написана специально для модулей производства Adafruit и, похоже, несовместима с тачскринами китайских модулей."
так что, может стоит посмотреть на другую либу или попробовать допилить 7735 либу под зеркальные 320x240, раз она работает.
вряд ли кто поможет, не имея экрана, pdf на него или даже точного названия. вы бы не начинали мучать скетч с генератором, а определились с экраном. с каждой либой, в том числе с Adafruit_ILI9341, идут примеры, доступны в file->examples. там и отладка есть кое-какая через последовательный порт. запустить, подобрать настройки.. теоретически, контроллер очень похож на st7735, но все же отличается. гугль немало выдает о попытках зеркального вывода на него. но правильнее все же использоваться либу именно для такого дисплея.
а просто купить дисплей на st7735 рублей за 300 - не вариант?
Adafruit_GFX используется и с ST7735, и с ILI9341, она есть в дистрибутиве и подгружается сама. Тут дело, скорее всего в самой либе 9341, может ей -1 в ините не нравится, попробуйте туда какой-нибудь неиспользуемый порт подсунуть, РС13 например . (Туда светодиод подключен)
Провел один эксперимент. Делалось все в Ардуино ИДЕ, архив которой Автор выкладывал.
Подключил к плате СТМ32 дисплей на ST7735, закомментировал проверку наличия Si5351, залил прошивку 3.6 - работает
Заменил библиотеку на ILI9341 - фиг вам. Дисплей даже не стартует, белый экран. Но после замены -1 на РВ12 (PC13 тоже пробовал) все нормально, правда цвета попутаны и изображение зеркальное, но ведь и библиотека не родная для данного дисплея. CS физически к земле подключен, как по схеме.
там про spi2-i2c2, в скетче spi2 и i2c1, да и st7735 работает.
на мой взгляд, надо смотреть и запускать примеры. с дебагом по uart, а то не поймешь, команды не подходят, или оно тупо при ините виснет на чтение ноги. а потом, если заработает, применять к генератору.
imho, маловероятно, что эта проблема связана именно с использованием spi2, они же все вызывают через свою gfx либу стандартные функции, описанные в spi.h.
А я вообще не понял, нафига прикручивать тот дисплей ? Ну допустим заработает, появиться картинка в 1/4 экрана, а дальше что? Дизайн рассчитывался под 160x128 точек. Даже для того что-б банально растянуть всё тоже самое на полный экран понадобится целый день заниматься скучной рутиной , пересчитывая каждую строчку. А загрузив может выясниться, что всё равно что-то не так, и опять сидеть считать точки. Трудозатраты в итоге выйдут на порядок больше, чем стоимость нужного дисплея. Причём это уже не будет так красиво как было на маленьком дисплее. Вот и подумай ShAlex13, нужен ли тебе этот гемор.
странно все это. на a7 должен быть инвертированный pwm. а заваленные фронты в дополнение к отсутствию выбросов после цапа на относительно невысокой частоте - где-то высокая емкость. щупы+осцил?
А можно переделать скетч 3.6 под экран 2.2 с контроллером ILI9341 ?
А можно переделать скетч 3.6 под экран 2.2 с контроллером ILI9341 ?
Заменить библиотеку на Adafruit_ILI9341 и в той части программы, которая называется "ВЫВОД НА ДИСПЛЕЙ", поменять координаты вывода под Ваш дисплей (tft.setCursor). Для начала просто библиотеку подменить, а если запустится, то колдовать с tft.setCursor.
Про какой кварц речь?
Тот, который на 8 МГц
Заменить библиотеку на Adafruit_ILI9341 и в той части программы, которая называется "ВЫВОД НА ДИСПЛЕЙ", поменять координаты вывода под Ваш дисплей (tft.setCursor). Для начала просто библиотеку подменить, а если запустится, то колдовать с tft.setCursor.
Простой подменой библиотеки видимо не получится, посыпались ошибки:
C:\Users\Alex\AppData\Local\Temp\arduino_modified_sketch_181033\gen_3.6.ino: In function 'void setup()':
gen_3.6:45:13: error: 'class Adafruit_ILI9341' has no member named 'initR'
tft.initR(INITR_BLACKTAB);
^
gen_3.6:45:19: error: 'INITR_BLACKTAB' was not declared in this scope
tft.initR(INITR_BLACKTAB);
^
C:\Users\Alex\AppData\Local\Temp\arduino_modified_sketch_181033\gen_3.6.ino: In function 'void mon_out()':
gen_3.6:131:21: error: 'ST7735_GREEN' was not declared in this scope
tft.setTextColor(ST7735_GREEN, paper);
^
gen_3.6:150:18: error: 'ST7735_WHITE' was not declared in this scope
tft.setTextColor(ST7735_WHITE, paper);
^
gen_3.6:165:98: error: 'ST7735_BLACK' was not declared in this scope
if (mode==3) { sprintf(mybuf," %3ld ", freq/10 ); if (imp_mode_menu == 0) {tft.setTextColor(ST7735_BLACK,ST7735_WHITE);} }
^
gen_3.6:171:33: error: 'ST7735_RED' was not declared in this scope
tft.setTextColor(ST7735_RED,paper); //красный цет строки для всех вариантов
^
gen_3.6:187:70: error: 'ST7735_WHITE' was not declared in this scope
if (imp_mode_menu == 1) {tft.setTextColor(ST7735_RED,ST7735_WHITE);}
^
gen_3.6:205:32: error: 'ST7735_MAGENTA' was not declared in this scope
tft.drawRect(0,67, 160,61,ST7735_MAGENTA);//рамка: вправо, вниз, ширина вправо, длина вниз
^
gen_3.6:207:38: error: 'ST7735_CYAN' was not declared in this scope
tft.drawFastVLine(5, 90, 30, ST7735_CYAN); // восход фронта статическая вер линия
^
gen_3.6:208:41: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastHLine(5, 91, duty, ST7735_YELLOW);//длина единицы
^
gen_3.6:221:53: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastHLine(5,123,28,ST7735_YELLOW);// смещ вправо, смещ вниз, длина вправо
^
gen_3.6:235:86: error: 'ST7735_YELLOW' was not declared in this scope
for(uint8_t n=0; n<100; n++){tft.drawPixel(5+n, 78+ sine_logo[n],ST7735_YELLOW);
^
gen_3.6:239:47: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawLine(5,98,30,73,ST7735_YELLOW);
^
gen_3.6:244:54: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawLine(5,123,105,73,ST7735_YELLOW);
^
gen_3.6:248:59: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastVLine(5, 73, 50, ST7735_YELLOW); // восход фронта статическая вер линия
^
gen_3.6:252:61: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastVLine(5,73,25,ST7735_YELLOW);
^
gen_3.6:261:54: error: 'ST7735_YELLOW' was not declared in this scope
tft.drawFastVLine(5+n,123-y,y ,ST7735_YELLOW);
^
gen_3.6:271:35: error: 'ST7735_WHITE' was not declared in this scope
tft.setTextColor(ST7735_WHITE, paper);
^
gen_3.6:288:72: error: 'ST7735_BLACK' was not declared in this scope
if (imp_mode_menu==2) { tft.setTextColor(ST7735_BLACK,ST7735_WHITE);}
^
gen_3.6:323:33: error: 'ST7735_YELLOW' was not declared in this scope
tft.setTextColor(modevolt? ST7735_YELLOW : ST7735_WHITE , paper);//выбрать жёлтый цвет если активен
^
Несколько библиотек найдено для "Wire.h"
Используется: D:\Arduino_gen3_6\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Wire
Не используется: D:\Arduino_gen3_6\Arduino\hardware\Arduino_STM32\STM32F1\libraries\WireSlave
exit status 1
'class Adafruit_ILI9341' has no member named 'initR'
Строку инициализации
Adafruit_ST7735 tft = Adafruit_ST7735(-1, PB11,PB10);
tft.initR(INITR_BLACKTAB); тоже надо изменить,
ну и названия цвета в соответствии с новой библиотекой
Строку инициализации
Adafruit_ST7735 tft = Adafruit_ST7735(-1, PB11,PB10);
tft.initR(INITR_BLACKTAB); тоже надо изменить,
ну и названия цвета в соответствии с новой библиотекой
Конечно сразу поменял
Adafruit_ILI9341 tft = Adafruit_ILI9341(-1, PB11,PB10);
В сетапе tft.initR(INITR_BLACKTAB); надо изменить на
tft.begin();
tft.fillScreen(ILI9341_BLACK);
и есть еще одна библиотека - Adafruit_ILI9341_STM
В сетапе tft.initR(INITR_BLACKTAB); надо изменить на
tft.begin();
tft.fillScreen(ILI9341_BLACK);
и есть еще одна библиотека - Adafruit_ILI9341_STM
Компиляция завершена! P.S. Еще все заменил в "ВЫВОД НА ДИСПЛЕЙ"
Спасибо, буду пока пробовать на версии 3.5, т.к. пока нет СИ-шки
Дисплей заработал?
Дисплей заработал?
Завтра уже буду проверять...STM-ка на работе
На схеме вывод дисплея А0, это что за вывод? SDA-это я так понимаю MOSI.
P/S нашел, это вывод на дисплее DC/RS
Еще вопрос, при нормальной заливке прошивки, как ведет себя зеленый сидик на плате STM-ки ?
Еще вопрос, при нормальной заливке прошивки, как ведет себя зеленый сидик на плате STM-ки ?
никак, его никто не трогает.
никак, его никто не трогает.
Значит что-то залилось не правильно, мыргает у меня
попробую через ST-Link hex залить. Перемычки в каком положении надо ставить при заливке?
попробую через ST-Link hex залить. Перемычки в каком положении надо ставить при заливке?
стлинк на перемычки не смотрит
После прошивки ST-Link уже больше не видит STM-ку, как вернуть в исходное состояние чтобы еще раз прошить?
Нажать "Ресет" и быстренько кликнуть "Коннект". Может не с первого раза, но прокатывает.
и настройки соединения проверить, нужен ли ресет. у меня линуховый st-flash из-под arduino ide шьет без оглядки на него. можно и родную виндовую утилиту пнуть, чтоб не смотрела.
Если я правильно понял, в самой программе запрещается использование JTAG, соответственно СТ-Линк не работает. После нажатия на пумпочку Ресет на плате надо успеть включить Коннект, пока эта команда не прошла.
да можно и заранее нажать, отпустив сразу после запуска коннекта.
Из под Ардуино ИДЕ без проблем прошивается, а вот при прошивке бинарника из STM32 ST-LINK Utility такое бывает. Система - ВИН7
так там наверное включен режим "connect under reset" в отличие от ide, который гоняет экзешник из hardware\Arduino_STM32\tools\win\
отключить. хотя не уверен, не на чем проверить, будет ли работать при прошитом ген3.6.
Установлен Software System Reset, Из 3-4 раз разок коннектится только после ресета на плате. Да и не люблю я эти бинарники шить, в скетче что-то под себя подправить можно. Ну это дело вкуса :-)
Из под Ардуино ИДЕ без проблем прошивается. Система - ВИН7
Из по Ардуины пишет: maple_loader v0.1 Resetting to bootloader via DTR pulse Searching for DFU device [1EAF:0003]... dfu-util - (C) 2007-2008 by OpenMoko Inc. Couldn't find the DFU device: [1EAF:0003] This program is Free Software and has ABSOLUTELY NO WARRANTY
Хотя пишет "Загрузка завершена"
Ресет топтал.
Из-под Ардуины через СТ-Линк надо шить
Получилось следующее:
С родной библиотекой Adafruit_ST7735 картинка такая
С библиотекой Adafruit_ILI9341 такая
чистый экран и мигает зеленый сидик на плате
оба видео тут:
https://cloud.mail.ru/public/C7ia/y2YhKMBTs
https://cloud.mail.ru/public/3P2u/5bbktYZGH
Попробуйте библиотеку Adafruit_ILI9341_STM, она под этот контроллер подзаточена
Попробуйте библиотеку Adafruit_ILI9341_STM, она под этот контроллер подзаточена
С ней вообще не компилируется, пишет "Ошибка компиляции для платы Generic STM32F103C series."
хотел проверить, как шьет виндовая утилита stlink, если прошит gen36. под рукой была одна плата с клоном stm32/64kb. сдул с нее чип, взял новый заведомо оригинальный stm32f103c8t6 с производства, впаял. и обломался, на нем 64kb. :) значит, бывает и такое, не обязательно перемаркированный cbt6. разве что от долгого лежания в упаковке у него половина отсохла. есть еще чипы, возможно из других партий, но паять уже нет желания.
шьется из винды без ресета, порты в настройках стоят не jtag, а swd.
старый-то явно паленый был.
наткнулся на такое: "Adafruit ILI9341, в отличие от UTFT, написана специально для модулей производства Adafruit и, похоже, несовместима с тачскринами китайских модулей."
так что, может стоит посмотреть на другую либу или попробовать допилить 7735 либу под зеркальные 320x240, раз она работает.
попробовать допилить 7735 либу под зеркальные 320x240, раз она работает.
Кто бы помог, я не шарю в этом. И еще вроде пишут что нужна Adafruit_GFX для Adafruit_ILI9341, должны использоваться совместно.
P.S. Добавил библиотеку Adafruit_GFX, но на экране ни чего не появилось, только перестал мигать сидик.
вряд ли кто поможет, не имея экрана, pdf на него или даже точного названия. вы бы не начинали мучать скетч с генератором, а определились с экраном. с каждой либой, в том числе с Adafruit_ILI9341, идут примеры, доступны в file->examples. там и отладка есть кое-какая через последовательный порт. запустить, подобрать настройки.. теоретически, контроллер очень похож на st7735, но все же отличается. гугль немало выдает о попытках зеркального вывода на него. но правильнее все же использоваться либу именно для такого дисплея.
а просто купить дисплей на st7735 рублей за 300 - не вариант?
Adafruit_GFX используется и с ST7735, и с ILI9341, она есть в дистрибутиве и подгружается сама. Тут дело, скорее всего в самой либе 9341, может ей -1 в ините не нравится, попробуйте туда какой-нибудь неиспользуемый порт подсунуть, РС13 например . (Туда светодиод подключен)
должна она понимать -1
Adafruit_ILI9341::Adafruit_ILI9341(int8_t cs, int8_t dc, int8_t rst)
@param cs Chip select pin # (optional, pass -1 if unused and CS is tied to GND).
с примеров бы начинать. а то может и не библиотеке дело.
варианты под st7735 и ili9241 оба компилились самостоятельно в одной программе, или 7735 заливался готовый бинарник?
Может с SPI2 она не дружит, попробовать
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
Adafruit_ILI9341 tft = Adafruit_ILI9341(-1, PB11, PB15, PB13, PB10, -1);
т.е. в лоб прописать софтверный СПИ
а просто купить дисплей на st7735 рублей за 300 - не вариант?
Да купить не проблема, просто этот есть в наличии и лежит без дела.
варианты под st7735 и ili9241 оба компилились самостоятельно в одной программе, или 7735 заливался готовый бинарник?
Оба варианта компилировались самостоятельно в Ардуино ИДЕ, потом бинарники заливал через ST-Link
т.е. в лоб прописать софтверный СПИ
Попробую еще так
Провел один эксперимент. Делалось все в Ардуино ИДЕ, архив которой Автор выкладывал.
Подключил к плате СТМ32 дисплей на ST7735, закомментировал проверку наличия Si5351, залил прошивку 3.6 - работает
Заменил библиотеку на ILI9341 - фиг вам. Дисплей даже не стартует, белый экран. Но после замены -1 на РВ12 (PC13 тоже пробовал) все нормально, правда цвета попутаны и изображение зеркальное, но ведь и библиотека не родная для данного дисплея. CS физически к земле подключен, как по схеме.
А почему сразу из ИДЕ не залить?
Может с SPI2 она не дружит, попробовать
А в проекте I2C не используется?
Используется для управления Si5351
т.е. в лоб прописать софтверный СПИ
Попробую еще так
Прописал так: Adafruit_ILI9341 tft = Adafruit_ILI9341(-1,PB11,PB15,PB13,PB10,-1);
Тишина, экран белый и все. Вместо -1 (CS) ставил РВ12, то же самое
А в проекте I2C не используется?
Используется для управления Si5351
https://www.st.com/resource/en/errata_sheet/cd00190234-stm32f101x8-b-stm32f102x8-b-and-stm32f103x8-b-medium-density-device-limitations-stmicroelectronics.pdf
там про spi2-i2c2, в скетче spi2 и i2c1, да и st7735 работает.
на мой взгляд, надо смотреть и запускать примеры. с дебагом по uart, а то не поймешь, команды не подходят, или оно тупо при ините виснет на чтение ноги. а потом, если заработает, применять к генератору.
imho, маловероятно, что эта проблема связана именно с использованием spi2, они же все вызывают через свою gfx либу стандартные функции, описанные в spi.h.
У меня заработало со строкой
Adafruit_ILI9341 tft = Adafruit_ILI9341(PB12, PB11, PB10);
Дисплей, правда, ST7735. Экран при старте заливается черным - в Сетапе эти строки на первом месте
SPI.setModule(2);// выбор SPI2
tft.begin();
tft.fillScreen(ILI9341_BLACK);
потом пауза секунд 10 и появляется изображение. Все это на голой плате, без Си5351.
А я вообще не понял, нафига прикручивать тот дисплей ? Ну допустим заработает, появиться картинка в 1/4 экрана, а дальше что? Дизайн рассчитывался под 160x128 точек. Даже для того что-б банально растянуть всё тоже самое на полный экран понадобится целый день заниматься скучной рутиной , пересчитывая каждую строчку. А загрузив может выясниться, что всё равно что-то не так, и опять сидеть считать точки. Трудозатраты в итоге выйдут на порядок больше, чем стоимость нужного дисплея. Причём это уже не будет так красиво как было на маленьком дисплее. Вот и подумай ShAlex13, нужен ли тебе этот гемор.