Таймер не работает
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
А набортная флэшь уже закончилась или ты её солить собрался?
- Реклама
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Набортной в stm32f412 вроде 1 или 2 метра, а один только лис весит метр
Добавлено after 4 minutes 5 seconds:
Еще шрифт подгрузил не хилый, мне кажется я когда программу шью, где то с другой стороны spam выпадает
Добавлено after 4 minutes 5 seconds:
Еще шрифт подгрузил не хилый, мне кажется я когда программу шью, где то с другой стороны spam выпадает
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3756723#p3756723"]Набортной в stm32f412 вроде 1 или 2 метра, а один только лис весит метр[/uquote]
Разве он не должен весить 240 * 240 * 2 / 1024 = 112.5 КБ?
Разве он не должен весить 240 * 240 * 2 / 1024 = 112.5 КБ?
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Не, 24bit красивше
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3756734#p3756734"]Не, 24bit красивше[/uquote]
У тебя 24-х битный дисплей? По идее там 18-ть бит, но судя по коду используются только 16-ть. В любом случае даже если 3 байта на цвет, все равно выходит 169 КБ.
У тебя 24-х битный дисплей? По идее там 18-ть бит, но судя по коду используются только 16-ть. В любом случае даже если 3 байта на цвет, все равно выходит 169 КБ.
- Реклама
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
У меня конвертор на 24Бит или 16 Бит, на дисплее разница небо и земля. 240x240x24 = 1.3MB
Re: Таймер не работает
Сам же только что сказал, 24 БИТ, а не байт 
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Спойлер

Я запутался уже
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3756748#p3756748"]
[/uquote]
Зачем мне картинка в BMP... Кстати, судя по схеме дискавери дисплей там подключен по 16-ти битной шине, так что наверняка у тебя просто конвертация цветов поломана.
Спойлер

Зачем мне картинка в BMP... Кстати, судя по схеме дискавери дисплей там подключен по 16-ти битной шине, так что наверняка у тебя просто конвертация цветов поломана.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
Reflector, Шах и мат тебе! BMP, переведённый в С-массив, весит 1 Мб 
Re: Таймер не работает
Ага, а размер прошивки будем определять по размеру HEX файла.
TEPEM, разве не знаете что *.c файл компилируется? Думаете что после этого объем картинки по прежнему 1 МБ?

TEPEM, разве не знаете что *.c файл компилируется? Думаете что после этого объем картинки по прежнему 1 МБ?
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Ну это же массив чисел, он его что архивирует?
Re: Таймер не работает
TEPEM, тебе нужно написать/найти простенькую утилитку которая бы загружала на ПК картинку, брала цвет каждой точки, преобразовывала его в RGB565 и сохраняла в виде массива 16-ти битных значений, тогда его размер после компиляции будет 112 КБ.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
Глянул краем глаза даташит на контроллер. Он поддерживает R4G4B4, R5G6B5 и R6G6B6. Судя по коду ТС, он использует R5G6B5 (16 бит на пиксел), но хранит в памяти как R8G8B8.
Добавлено after 1 minute 25 seconds:
[uquote="Reflector",url="/forum/viewtopic.php?p=3756779#p3756779"]TEPEM, тебе нужно написать/найти простенькую утилитку которая бы загружала на ПК картинку, брала цвет каждой точки, преобразовывала его в RGB565 и сохраняла в виде массива 16-ти битных значений, тогда его размер после компиляции будет 112 КБ.[/uquote]Плюс процессор не будет заниматься это конвертацией и FPS можно поднять до бесконечности.
Добавлено after 2 minutes 43 seconds:
[uquote="TEPEM",url="/forum/viewtopic.php?p=3756774#p3756774"]Ну это же массив чисел, он его что архивирует?[/uquote]Он его компилирует в двоичный массив размерностью 240 x 240 x 3 байт. Можно без потери сократить до 240 x 240 x 2 байт, если сделать предварительную конвертацию RGB888->RGB565 на компе.
Спойлер
Код: Выделить всё
for (i = 0; i < 16384; i++)
{
if ( x < 127 )
{
if (i>0)ih = i*3;else ih=3;
r8 = picture1[ih-1]; g8 = picture1[ih-2]; b8 = picture1[ih];
r = ((r8 & 0xF8) >> 3);
g = ((g8 & 0xFC) >> 2);
b = ((b8 & 0xF8) >> 3);
rgb565 = ((uint16_t)(r) << 11) + ((uint16_t)(g) << 5) + ((uint16_t)(b) << 0);
WritePixel(x+56, y+56, rgb565);
x++;
}[uquote="Reflector",url="/forum/viewtopic.php?p=3756779#p3756779"]TEPEM, тебе нужно написать/найти простенькую утилитку которая бы загружала на ПК картинку, брала цвет каждой точки, преобразовывала его в RGB565 и сохраняла в виде массива 16-ти битных значений, тогда его размер после компиляции будет 112 КБ.[/uquote]Плюс процессор не будет заниматься это конвертацией и FPS можно поднять до бесконечности.
Добавлено after 2 minutes 43 seconds:
[uquote="TEPEM",url="/forum/viewtopic.php?p=3756774#p3756774"]Ну это же массив чисел, он его что архивирует?[/uquote]Он его компилирует в двоичный массив размерностью 240 x 240 x 3 байт. Можно без потери сократить до 240 x 240 x 2 байт, если сделать предварительную конвертацию RGB888->RGB565 на компе.
Последний раз редактировалось VladislavS Пн дек 16, 2019 13:42:03, всего редактировалось 1 раз.
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
А ведь правда! Вот я туплю, сейчас разберусь с шрифтом и займусь этим, по моему только с прогой могут быть проблемы
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3756790#p3756790"]по моему только с прогой могут быть проблемы[/uquote]Какие могут быть проблемы? Вот тебе шуточный код
Спойлер
Код: Выделить всё
FILE *f_in, *f_out;
f_in = fopen("файл1");
f_out = fopen("файл2");
while(!eof(f_in))
fwrite(f_out, RGB888toRGB565(fread(f_in, 3)));
fclose(f_in);
fclose(f_out);
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Я тоже об этом подумал сначала) Но вспомнил, не вс не делфы у меня нет)
Добавлено after 46 seconds:
Ну а вообще это реализуемо? Использование флешки как хранилища независимого?
Добавлено after 46 seconds:
Ну а вообще это реализуемо? Использование флешки как хранилища независимого?
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
Конечно, почему нет.
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
[quote="VladislavS",url="/forum/viewtopic.php?p=3756781#p3756781"]Глянул краем глаза даташит на контроллер. Он поддерживает R4G4B4, R5G6B5 и R6G6B6. Судя по коду ТС, он использует R5G6B5 (16 бит на пиксел), но хранит в памяти как R8G8B8.[/quote]
У меня же данные передаются на дисплей по 16 битной шине, значит что 24 что 16 должно одинаково отображать? Почему разница огромная?
Добавлено after 2 minutes 59 seconds:
Я в начале две картинки 128х128 рядом заливал на экран, жалко фоток не осталось, там одна хоть глаз коли
У меня же данные передаются на дисплей по 16 битной шине, значит что 24 что 16 должно одинаково отображать? Почему разница огромная?
Добавлено after 2 minutes 59 seconds:
Я в начале две картинки 128х128 рядом заливал на экран, жалко фоток не осталось, там одна хоть глаз коли
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
Прочитай datasheet ST7789, там в разделе 8.8 DATA COLOR CODING больше 30 страниц всевозможных вариантов передачи данных. Ну нельзя же всё тыком делать. Надо хоть иногда нарисовать на бумажке карандашиком, посчитать объём данных, скорость их передачи. Разложить где что лежать должно, в каком формате.
Последний раз редактировалось VladislavS Пн дек 16, 2019 14:46:38, всего редактировалось 1 раз.


