Самодельный передатчик (часть 2)

ВитГо

опс… извиняюсь, исправьте строки в LCD_char на следующие

lcd_buff[lcd_YC*128+lcd_X]=lcd_buff[lcd_YC*128+lcd_X] | (temp<<(7-lcd_YP)); // печать верхней части символа

if (lcd_YP<7) lcd_buff[(lcd_YC+1)*128+lcd_X]=lcd_buff[(lcd_YC+1)*128+lcd_X] | (temp>>(lcd_YP+1)); // печать нижней части символа

значения лучше не складывать арифметически, а логическим ИЛИ !!!
гм… вроде правил у себя… наверное при переходе с версии на версию где то опять просмотрел как откатился 😃

Aleksey_Gorelikov
ВитГо:

драйвер дисплея мсв неудачен в плане быстродействия, все таки попиксельно буквы рисовать это жесть 😃))

Для больших экранов - да, соглашусь. А вот для маленьких - весьма оправданно было. Это позволяло выводить текст не в координатах “координата по х, номер строки по Y”, а в координатах (х,y). Т.е. больше инфы можно было на дисплей упихать. Для больших дисплеев еще критическим моментом получался размер экранного буфера. Он нехило съедает ОЗУ. Можно и без него обходиться. Так что тут и плюсы и минусы есть.

То, что библиотека относительно тормознутая - это в принципе мелочь, т.к. крутится она в основном цикле, не влияющем на времянки управления. Легкое запаздывание гуи не влечет фатальных последсвий.

За-то у кодера есть другой плюс - однопотоковость. Точнее единственное прерывание. 😃 И то, точнее было… Это гарантировало отсутвие джиттера без просчета времянок. Всетаки атмеги не очень удобны своим жестким приоритетом прерываний.

А чем генерация ппм не понравилась? Хотя сейчас ппм вобще в принципе уже не нужен, лучше все в цифре гнать.

ВитГо:

(lcd_YC+1)*128

Ну и на 128 глупо умножать. Хотя современные компиляторы должны оптимизировать это меняя на сдвиг. Надо асм смотреть.

ВитГо
Aleksey_Gorelikov:

Для больших экранов - да, соглашусь. А вот для маленьких - весьма оправданно было. Это позволяло выводить текст не в координатах “координата по х, номер строки по Y”, а в координатах (х,y). Т.е. больше инфы можно было на дисплей упихать.

Алексей, та процедура что я предложил для печати - печатает как раз в пиксельных координатах и по X и по Y …
если посмотреть то она даже проще чем попиксельная печать с циклами по x,y…

Aleksey_Gorelikov:

Для больших дисплеев еще критическим моментом получался размер экранного буфера. Он нехило съедает ОЗУ. Можно и без него обходиться. Так что тут и плюсы и минусы есть.

если печатать в пиксельных координатах - то без буфера не обойтись на наших экранах… в любом случае нужно прочитать существующий байт и потом изменить в нем состояние одного, двух и более бит…

выход только переходить на текстовый буфер - экономия значительная, но тогда нужно думать что делать с графикой… - либо под нее оставлять фиксированные знакоместа и рисовать уже в них через графический буфер но меньшего чем весь экран размера, либо мудрить с шаблонами… в общем на будущее я себе заметку сделал где можно съэкономить, но пока решил не заморачиваться 😃

Aleksey_Gorelikov:

За-то у кодера есть другой плюс - однопотоковость. Точнее единственное прерывание. 😃 И то, точнее было… Это гарантировало отсутвие джиттера без просчета времянок. Всетаки атмеги не очень удобны своим жестким приоритетом прерываний.

это скорее минус 😦
тяжелое прерывание при увеличении количества вычислений делает невозможным например захват ppm с разбором…
в принципе для самокодера наверное это не страшно (функционал простой, считается быстро), а вот когда нужно обсчитывать 16 каналов, и еще всякие прибабахи считать в виде регулируемых микшеров, фильтров, кривых, задержек - то уже реально приходится считать время на все… 😦
я пробовал на турниге (в проекте VCoder генерация PPM которого была сделана как в самокодере - в одном прерывании) сделать захват в другом прерывании - так при тестах - из-за длинного прерывания иногда выпадал прием канала с ученика… причем с количеством каналов до 5ти все было ОК, а вот при количестве каналов 7 - уже захват был через раз… фактически пока шло прерывание передачи могло произойти 2 прерывания захвата… на выходе была каша…

Aleksey_Gorelikov:

А чем генерация ппм не понравилась? Хотя сейчас ппм вобще в принципе уже не нужен, лучше все в цифре гнать.

кому как, у меня пока все передатчики PPM съедают, спектрумовских у меня нет… да и смысла не вижу в них большого - у меня нет моделей которые потребовали бы больше 8 каналов

Aleksey_Gorelikov:

Ну и на 128 глупо умножать. Хотя современные компиляторы должны оптимизировать это меняя на сдвиг. Надо асм смотреть.

я уже смотрел, сдвиг и применен…
просто есть дисплеи с другим размером строки в байтах (например есть экраны на 84 точки по горизонтали),
править фрагмент кода (lcd_Y+1)*128 намного нагляднее чем (lcd_Y+1)<<7 - вот здесь фиг поймешь что я имел ввиду, и что сюда нужно будет написать (lcd_Y+1)*84 😃

Tigra74
dollop:

Прошивка для I2C дисплеев и внешней памятью. В архиве уже компиленные три варианта под 12, 25, 45 моделей.
Количество моделей, максимум, примерно 24С64 - 12 моделей, 24С256 - 50 моделей, 24С512 - 100 моделей. Память и дисплей RDX0154 (TIC154 не проверял, но должно работать) сидят на аппаратном TWI (у атмеги вывод 25 - SCL, 26 - SDA). Есть подсветка, активная, но без ШИМ. Подключается PORTB.7 (17 нога меги).

Перевод меню на русский для RDX0077 и 0154
В архиве-для 0154-количество моделей для 24С32-пока другой не нашёл
На фото 0077 со снятой передней панелью пульта-мешало сфотографировать
И фузы

olegtur77

На памяти атмел24с128 24 модели, пока все стабильно. С микрочиповской памятью была засада, никак нормально не заработатла, так что следует учесть при установке и покупке.

Tigra74
olegtur77:

На памяти атмел24с128 24 модели, пока все стабильно. С микрочиповской памятью была засада, никак нормально не заработатла, так что следует учесть при установке и покупке.

Ну так

1 MHz (5V), 400 kHz (1.8V, 2.5V, 2.7V) Compatibility

  • Endurance: 1 Million Write Cycles

у одних и

• 400 KHz (5V)
– Endurance: 100,000 Cycles

у других

vltab

Подскажите пожалуйста у меня оригинальный дисплей 3310 заливаю русскую прошивку дисплей не работает
а с прошивкой MSV_Nok3310_v1.9.1 все нормально

dollop

Откуда русская прошивка? Сыылку на нее дайте.

vltab

Брал в этой теме сообщение #1963

14 days later
belyay
Valera69:

Нашел проблему в датчике тока на 2,4 ГГц.
Проблема была в том, что детектировался ВЧ, а АМ модуляционные НЧ помехи проходили и усиливались. На выходе была НЧ каша.
Немного изменил схему. Все заработало. МАХ амплитуда на табло 180мА.
Приимущество этого датчика, что его можно поставить в корпус рядом ВЧ блоком. При небольшом экранировании передающей антены, даже рукой, он сразу показывает степень падения сигнала. Работает отлично. Очень легко можно настроить сигнализацию о падении излучения.
Использую совместно с ВЧ модулем Corona 2.4Ghz DIY (DSSS)

Кому надо, вот плата под SMD

Добрый день, подскажите как его каллибровали или просто что бы работал? Еще не смог найти такой переменик R5 насколько примерно у вас установлен он? Спасибо

26 days later
alh
vltab:

Подскажите пожалуйста у меня оригинальный дисплей 3310 заливаю русскую прошивку дисплей не работает
а с прошивкой MSV_Nok3310_v1.9.1 все нормально

Попробовал прошиться этой прошивкой (пересобирал под себя дисплей 3310 китай), работает нормально.
Вот скомпилил под оригинальный дисплей 3310, попробуй, должно работать.

Coder_1_9_1_rus.rar

vltab
alh:

Попробовал прошиться этой прошивкой (пересобирал под себя дисплей 3310 китай), работает нормально.
Вот скомпилил под оригинальный дисплей 3310, попробуй, должно работать.

Пока проверить не могу перестал работать программатор или лпт порт.Пробовал стереть чип ругнулся теперь
пульт мертвый сегодня вечером переставлю винду и буду пробовать

gorbln

Купите про запас ISP программатор. 4 доллара всего, и ЛПТ целый.

vltab
gorbln:

Купите про запас ISP программатор. 4 доллара всего, и ЛПТ целый.

Сейчас делаю KLONE AVR MK II

ADima
vltab:

Сейчас делаю KLONE AVR MK II

он с EEPROM на мегах не правильно работает

vltab
ADima:

он с EEPROM на мегах не правильно работает

Ну что детали и плата уже есть все равно буду доделывать

vltab
vltab:

Ну что детали и плата уже есть все равно буду доделывать

Интересная проблема вышел из строя контролер во время считывания проверял программатор на другом контролере всё нормально заменил
запрограмировал ок пробовал разные прошивки норма но в очередной раз в момент стирания программатор выдал
ошибку и теперь нет конекта с контролером вобщем ситуация повторилась подскажите что может быть,
Другие контролеры програмирую без проблем,прграмматор на лпт с микросхемой буфера стк 200

ubd

Подключите внешний генератор тактовых импульсов к процу, и всё оживёт. Видимо биты слетели на работу от внешнего генератора. Если не поможет, значит проц статикой выбило.

Dinotron

Кстати так же угробил сейчас клон турниги. Обидно до соплей. Сигнатура не считывается. Ну не срослось. Скажите а если не поможет внешнее тактирование, то всё?

dollop

Почему же? Есть еще параллельный (высоковольтный) программатор. А еще, соберите фьюз доктор - великолепная вещь. Меги довольно дубовы. И “мрут” или неадекватно себя ведут именно от неправильных действий юзера или программатора с фьюзами. Так что фьюз доктор - маст хэв

EagleB3

Нет однозначного ответа, поскольку причина неизвестна.
Может быть (например) слетел SPIEN. Тогда можно будет поднять высоковольтным программатором.

P.S. О, уже Костя ответил…

olegtur77

Я уже себа два доктора собрал…По крайней мере меги8 оживляет и разные 8-ми ногие

Dinotron

Высоковольтный это я понял. Вопрос применения его в схеме. Доктор это интересно. Ссылочку не кинете?

P. S.Убил старым STK-200 на древнем компе. Ну вот не подозревал что это смертельно. 😦

dollop

Здесь можно на русском почитать. Есть схемы, платы, прошивки. Я собирал просто на проводочках - не думал, что придется пользоваться - нужно было мегу1281 поднять. С тех пор так этот комок и лежит. Уже раз пять спасал.
первосточник