
Moog
04.08.2018
21:36:40

ツ
04.08.2018
21:36:47
А что с ними?
ну либо они бракованные, либо хитровыебанные, если там совместимое с HD44780, то у меня не заработало. разумеется я читал даташит и видел, что распиновка отличается, но проблема не в этом.

Moog
04.08.2018
21:38:18

ツ
04.08.2018
21:39:05

Google

ツ
04.08.2018
21:39:59
я его брал как раз из-за того, что мне нужен был 20x4, но не с гребаной синей подсветкой, вот взял МЭЛТ с янтарной и до сих пор так и лежит на полке, хех.

Moog
04.08.2018
21:40:08
брак, вероятно

ツ
04.08.2018
21:41:25
толку-то, оно еще и дорогое, по сравнению с китайским
минимум вдвое дороже

Moog
04.08.2018
21:41:44
это да, есть такое.
а то и втрое

ツ
04.08.2018
21:42:47
там и до Winstar недалеко по цене, кстати говоря

Moog
04.08.2018
21:42:48
но есть некий плюс, они в магазах лежат, пришел купил. когда приспичило.
да почти один в один, окромя качества
хотя если наши умеют делать такие штуки, ну что ж респект им. но денег не дам))

Dolphin
04.08.2018
21:44:07

Google

ツ
04.08.2018
21:44:08
и может местами легче OLED, если именно растр нужен? у этих 128x64 довольно заебистые контроллеры, которые ST7920
Агонь )))

Moog
04.08.2018
21:44:49
может и олед, мне нужен только растр. Они что, дешевле, навороченнее?
так то пох, какая технология.

Asdf
04.08.2018
21:45:10
Ё глазами в темноте сверкает.

Moog
04.08.2018
21:45:38
только мне фотки выводить не надо, а чб графики.

ツ
04.08.2018
21:45:43

Moog
04.08.2018
21:46:54

ツ
04.08.2018
21:47:31
OLED в основном мелкие, самые популярные вообще 1 дюймовые, но 128x64, хех

Moog
04.08.2018
21:47:39
лишь бы этот ОЛЕД не на LVDS сидел
маловата буит. мне хоть пиксел покрупнее, так и экран больше.

ツ
04.08.2018
21:48:46
не, там тоже I2C и SPI, обычно оба

Moog
04.08.2018
21:49:27
1 дюйм это извивательство. у нокии 3110 такой экран.

ツ
04.08.2018
21:49:31
ну покрупнее боюсь оно сильно дороже, эти стоят уже копейки, где их только не используют, в том числе во всяких дозиметрах и т.п.
да, но пиксельное разрешение куда меньше )

Moog
04.08.2018
21:50:04
тогда олед вычеркиваем.
слишком маленький экран.
вышеприведенные мне кажется самое то

ツ
04.08.2018
21:50:43
есть еще такое чудо, вот с этим контроллером HT1626 оно кажись во всяких кассовых аппаратах и счетчиках применяется ) https://ru.aliexpress.com/item/COB-Segment-LCD-Panel-Module-HT1626-Drive-IC-Blue-LED-Backlight-Meter-LCD-Module/32345409136.html

Spanish Inquisition
04.08.2018
21:50:43
Очищенные ссылки от engineer:
* https://aliexpress.com/item/COB-Segment-LCD-Panel-Module-HT1626-Drive-IC-Blue-LED-Backlight-Meter-LCD-Module/32345409136.html

Google

ツ
04.08.2018
21:51:14
ну, 128x64 копии Winstar это самые популярные из растровых

Moog
04.08.2018
21:51:53
картинка ничо так.
но цена
вот возьму копию винстар с вышеприведенных ссылок.
оно само то

ツ
04.08.2018
21:52:41
просто программить эти ST7920 не особо, я уже не помню чо там за извраты, но готовые либы наверняка есть.

Moog
04.08.2018
21:53:12
наверняка

Dolphin
04.08.2018
21:56:07
https://www.youtube.com/watch?v=mrDtpvJy-JI

ツ
04.08.2018
21:56:26
я помню, да )

Dolphin
04.08.2018
21:56:27
вот агонь ?

ツ
04.08.2018
21:56:34
но градиент ниибический )

Dolphin
04.08.2018
21:57:11
это просто пример, как можно заюзать фонт
и как раскрашивать

ツ
04.08.2018
21:57:27
вот тож прикольно, из-за разной высоты, видимо, местами вон затерло верхнюю строчку фонта

Dolphin
04.08.2018
21:58:32
а еще можно вот так раскрасить, а потом бегущей волной переливы на фонте делать

ツ
04.08.2018
21:59:02
поэтому тож желательно, чтобы шрифт был унифицированный, если хочешь такие эффекты применять, а то тут так, а в других символах оно уже уходит в черную полосу градиента
если с эффектами

Asdf
04.08.2018
22:00:05
Эффекты тоже можно масштабировать

ツ
04.08.2018
22:00:27
нуу, можно в принципе

Google

Dolphin
04.08.2018
22:03:24

ツ
04.08.2018
22:10:51
еще плавный переход сделай от красного к желтому через оранжевый, тогда точно огонь получится. что бы ни делал, все равно огонь )))

Dolphin
04.08.2018
22:15:19
цветов нехватает
всего 16 в этом режиме
512х212 который
оказалось, что я СЛУЧАЙНО допустил ошибку в парсере даты, и первый код (базовое смещение) учитывается неправильно, что позволяет в свою очередь выполнять смещение только в положительную сторону 0-15.
таким образом, парсер "дотягивается" до любой точки ??
А может я это учел при проектировании и забыл :)

Admin
ERROR: S client not available

ツ
04.08.2018
22:43:18
я тут щас смотрю сырцы либы adafruit neopixel, ебать они там наворотили на ассемблере вставки.
твое раза в 2 меньше, пересчитал время, подпилил под 8MHz Digispark.

Dolphin
04.08.2018
22:44:13
с другой стороны, у меня скорость выше почти в два раза :)

ツ
04.08.2018
22:44:59
да, но учти, что это плохой тон (про мой метод)
нуу, а вот это без цикла и такое для каждого бита эт хороший тон?
// Bit 7:
"out %[port] , %[hi]" "\n\t" // 1 PORT = hi
"mov %[n2] , %[lo]" "\n\t" // 1 n2 = lo
"out %[port] , %[n1]" "\n\t" // 1 PORT = n1
"rjmp .+0" "\n\t" // 2 nop nop
"sbrc %[byte] , 6" "\n\t" // 1-2 if(b & 0x40)
"mov %[n2] , %[hi]" "\n\t" // 0-1 n2 = hi
"out %[port] , %[lo]" "\n\t" // 1 PORT = lo
"rjmp .+0" "\n\t" // 2 nop nop
...
и самая тормозная из них по иронии оказалась FastLED )))

Dolphin
04.08.2018
22:45:55
это развернутый цикл
для скорости делается, устранения джитера и ровных таймингов

ツ
04.08.2018
22:46:35
да ну, я и твое пересчитывать заипался в наносекундах сколько там на чо

Dolphin
04.08.2018
22:46:47
мой код я тестировал неделями на 13й тиньке

Google

Dolphin
04.08.2018
22:46:53
работает как часы )
и да, мой код неоптимален чутка
я его переписал вроде
потом посмотрю, закину

ツ
04.08.2018
22:47:29
ну я вот на 85 запускаю и на 8 МГц, а не 9.6.
inline void WS2812B_led_out(uint8_t * LED_data)
{
// asm(" cli\n\t");
uint8_t byte_pos = 0;
for(byte_pos = 0; byte_pos < 3; ++byte_pos)
{
color_byte = *LED_data++; // color_byte (r3) <- G, then R, then B component
asm volatile
(
" ldi r16, 8 \n\t" // counter for 8 bits of the one byte
"nxtbit: \n\t" // next bit label
" out 0x18, r6 \n\t" // 0x18 - PORTB, PORTB <- port_mask_1 (r6)
" nop \n\t"
" sbrs r3, 7 \n\t"
" out 0x18, r5 \n\t" // PORTB <- port_mask_0 (r5)
" lsl r3 \n\t"
" nop \n\t"
" nop \n\t"
" out 0x18, r5 \n\t" // PORTB <- port_mask_0 (r5)
" dec r16 \n\t"
" brne nxtbit \n\t"
);
}
// asm(" sei\n\t");
}
в общем я переделал в такое, для себя

Dolphin
04.08.2018
22:48:08
погоняй пару суток, если сорвется - значит проебался
резистор на дату не забывай, а то нога выгорает

ツ
04.08.2018
22:48:51
нуу, а чему срываться? я тайминги вручную пересчитал, с учетом того, что там если переход, то 3 такта, если нет перехода то там 1 или 2 и т.д.
там все до наносекунды пересчитывалось. ну конечно при переходах возможны небольшие несоответствия даташиту, но эт фигня, тем более там в это время низкий уровень... этим светикам пофиг. ну и там чтобы полностью даташиту соответствовало сначала еще в конце nop'ы втыкал, но потом выпилил, потому что здесь нафиг не надо.
резистор на 470R всегда есть

Dolphin
04.08.2018
22:51:12
а че цикл не переписал нормально?
я как тестил так и оставил для хабра ))

ツ
04.08.2018
22:51:48

Dolphin
04.08.2018
22:52:07
ну все на асм, с циклом байт и загрузкой
иначе ты привязан к регистру данных, а это нехорошо
посплю напишу

ツ
04.08.2018
22:53:00
а, да чот не знаю. если буду для tiny10 делать все на асме, то в любом случае придется )

Dolphin
04.08.2018
22:53:20
там просто
и компактней компилятора будет

ツ
04.08.2018
22:54:42
ну, на tiny10 я вряд ли буду делать для ленты, там какие-нибудь мелкие поделки на одном светодиоде )

Dolphin
04.08.2018
22:55:21
для мелкой тиньки это нормуль, но если в мегу например, да еще с прерываниями и большим кодом - плохо
резервирование регистров