Часы на светодиодных матрицах с драйверами MAX7219
Re: Часы на светодиодных матрицах с драйверами MAX7219
Всё так. Ошибка скрипта, выводящего объем памяти. Тут выше я уже спрашивал об этой ошибке. HEX же нормально генерируется?
- Реклама
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Да, ничего страшного. Шейте hex.
По поводу eeprom - я имел в виду не правку eeprom.h, а самого eeprom_ru.bin перед прошивкой. Любым hex-редактором (тем же winhex) можно метки скорректировать под себя - укоротить, удлинить - не важно. Главное, чтобы в самом низу байты со шрифтами не сдвинулись.
Кстати, прикрутил платку с BMP180 - греться, как раньше внутри корпуса, датчик перестал; показания температуры стали идеально совпадать с "открытыми" DS18B20/DHT22 в том же помещении.
По поводу eeprom - я имел в виду не правку eeprom.h, а самого eeprom_ru.bin перед прошивкой. Любым hex-редактором (тем же winhex) можно метки скорректировать под себя - укоротить, удлинить - не важно. Главное, чтобы в самом низу байты со шрифтами не сдвинулись.
Кстати, прикрутил платку с BMP180 - греться, как раньше внутри корпуса, датчик перестал; показания температуры стали идеально совпадать с "открытыми" DS18B20/DHT22 в том же помещении.
Re: Часы на светодиодных матрицах с драйверами MAX7219
надо себе так сделать, когда корпус будет готов. сейчас у меня на термоклей плата с BMP180 приклеена к плате с матрицами, видимо поэтому так и греется.
Еще вопрос: я сейчас дома установил ту же версию git, что ставили днем на рабочем компе и скопировал папку с репозиторием на свой домашний комп. вроде все ветки нормально показывает, оно будет нормально так же работать при обновлениях origin/master?
p.s. мой winhex позволяет добавлять метки в eeprom только на латинице. кирилица так просто не дается..
p.p.s. сейчас в такую темноту обнаружилось все же, что надо зашунтировать фоторезистор 1МОм-ным резистором. АЦП видимо выдавал ноль и яркость при максимальном затемнении возрастала.
Еще вопрос: я сейчас дома установил ту же версию git, что ставили днем на рабочем компе и скопировал папку с репозиторием на свой домашний комп. вроде все ветки нормально показывает, оно будет нормально так же работать при обновлениях origin/master?
p.s. мой winhex позволяет добавлять метки в eeprom только на латинице. кирилица так просто не дается..
p.p.s. сейчас в такую темноту обнаружилось все же, что надо зашунтировать фоторезистор 1МОм-ным резистором. АЦП видимо выдавал ноль и яркость при максимальном затемнении возрастала.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Будет нормально работать.
У меня в hex-редакторе (okteta) можно выбрать нужную кодировку из нескольких десятков разных.
Потому я и писал, что лучше 1МОм подвесить - иначе в полной темноте слишком уж большое сопротивление получается, система может неадекватно посчитать это как отсутствие фотодатчика вообще и включить "почасовой" режим.
У меня в hex-редакторе (okteta) можно выбрать нужную кодировку из нескольких десятков разных.
Потому я и писал, что лучше 1МОм подвесить - иначе в полной темноте слишком уж большое сопротивление получается, система может неадекватно посчитать это как отсутствие фотодатчика вообще и включить "почасовой" режим.
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: Часы на светодиодных матрицах с драйверами MAX7219
Понял, попробую. Вечером отпишусь.WiseLord писал(а):Да, ничего страшного. Шейте hex.
По поводу eeprom - я имел в виду не правку eeprom.h, а самого eeprom_ru.bin перед прошивкой. Любым hex-редактором (тем же winhex) можно метки скорректировать под себя - укоротить, удлинить - не важно. Главное, чтобы в самом низу байты со шрифтами не сдвинулись.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- Реклама
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Обновление прошивки
- Оптимизация кода.
Это позволило вернуть некоторые старые и добавить некоторые новые функции.
- Возвращено слово "Температура" в начале вывода бегущей строки.
Кому не нужно, можно в eeprom соответствующую текстовую метку укоротить (для пробела в 5 точек шириной код 0x20, для пробела в 1 точку шириной код 0x7F).
- Плавное изменение яркости при работе с фоторезистором с фильтрацией резких коротких помех.
Также теперь установка яркости в меню влияет и на яркость в случае использования фоторезистора, являясь по сути ограничением максимальной яркости.
- Исправлена ошибка конфигурации сборки для трёх матриц
- Возможность запрета вывода части данных от датчиков BMP180 и DHT22
В eeprom по адресу 0x0F находится соответствующий байт конфигурации, куда hex-редактором записываем соответствующую маску.
0x10 - вывод температуры от BMP180
0x20 - вывод температуры от DHT22
0x40 - вывод давления от BMP180
0x80 - вывод влажности от DHT22
Любая комбинация вывода производится сложением масок. Например, 0x40 + 0x80 = 0xC0 - будет выводиться только давление и влажность, без температур. Или, 0x20 + 0x40 + 0x80 = 0xE0 - выводим всё, кроме температуры от BMP180.
По умолчанию значение в EEPROM равно 0xF0, что при наличии всех датчиков будет выводить все возможные данные от них.
- Оптимизация кода.
Это позволило вернуть некоторые старые и добавить некоторые новые функции.
- Возвращено слово "Температура" в начале вывода бегущей строки.
Кому не нужно, можно в eeprom соответствующую текстовую метку укоротить (для пробела в 5 точек шириной код 0x20, для пробела в 1 точку шириной код 0x7F).
- Плавное изменение яркости при работе с фоторезистором с фильтрацией резких коротких помех.
Также теперь установка яркости в меню влияет и на яркость в случае использования фоторезистора, являясь по сути ограничением максимальной яркости.
- Исправлена ошибка конфигурации сборки для трёх матриц
- Возможность запрета вывода части данных от датчиков BMP180 и DHT22
В eeprom по адресу 0x0F находится соответствующий байт конфигурации, куда hex-редактором записываем соответствующую маску.
0x10 - вывод температуры от BMP180
0x20 - вывод температуры от DHT22
0x40 - вывод давления от BMP180
0x80 - вывод влажности от DHT22
Любая комбинация вывода производится сложением масок. Например, 0x40 + 0x80 = 0xC0 - будет выводиться только давление и влажность, без температур. Или, 0x20 + 0x40 + 0x80 = 0xE0 - выводим всё, кроме температуры от BMP180.
По умолчанию значение в EEPROM равно 0xF0, что при наличии всех датчиков будет выводить все возможные данные от них.
- Вложения
-
- matrixclock-a1d5b2b.7z
- (24.09 КБ) 353 скачивания
Последний раз редактировалось WiseLord Вт июл 14, 2015 18:25:10, всего редактировалось 4 раза.
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: Часы на светодиодных матрицах с драйверами MAX7219
Все получилось, спасибо.
Вот мой "зверь", пока без "будки":




В аттаче файл платы, может кому пригодится.
WiseLord, спасибо за интересный проект.
P.S. Если правильно понял, то для сборки этого проекта на MAX7219 в Makefile нужно просто указать LED_DRIVER = MAX7219?
Вот мой "зверь", пока без "будки":




В аттаче файл платы, может кому пригодится.
WiseLord, спасибо за интересный проект.
P.S. Если правильно понял, то для сборки этого проекта на MAX7219 в Makefile нужно просто указать LED_DRIVER = MAX7219?
- Вложения
-
- JY-MCU 3208pro.zip
- Переходная плата для часов JY-MCU 3208pro
- (7.61 КБ) 404 скачивания
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Да. Либо в Makefile указать, либо собрать командой
Можете посмотреть в скрипт build_all.sh, собирающий все варианты.
Код: Выделить всё
make LED_DRIVER=MAX7219- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: Часы на светодиодных матрицах с драйверами MAX7219
Понял, спасибо.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: Часы на светодиодных матрицах с драйверами MAX7219
То есть вместо буквы Т(0xD2) должен подставить 0x7F?WiseLord писал(а):Кому не нужно, можно в eeprom соответствующую текстовую метку укоротить (для пробела в 5 точек шириной код 0x20, для пробела в 1 точку шириной код 0x7F).
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Да. Этот код у меня в шрифтах используется как пространство между буквами.
Re: Часы на светодиодных матрицах с драйверами MAX7219
Если хотите убрать только букву Т и заменить ее пробелом , шириной в Один пиксель, то именно так.
p.s. Что то rebase master не прошло. Конфликты какие-то. Может из-за того что и я в своей и вы в своей ветке меняли обработку яркости? Исходники некогда было глянуть на работе. Сейчас вечером попробую разобраться
p.s. Что то rebase master не прошло. Конфликты какие-то. Может из-за того что и я в своей и вы в своей ветке меняли обработку яркости? Исходники некогда было глянуть на работе. Сейчас вечером попробую разобраться
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Да, конфликт именно из-за этого.
Re: Часы на светодиодных матрицах с драйверами MAX7219
Ок, значит я нормально усвоил ваши объяснения, раз это запомнил. Конфликтные места быстрее руками поправить будет или там глобальные изменения?
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: Часы на светодиодных матрицах с драйверами MAX7219
Спасибо.WiseLord писал(а):Да. Этот код у меня в шрифтах используется как пространство между буквами.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
После git rebase возник конфликт. Если глянете в него, в то место, где возник конфликт, увидите, что git оставил, выделив специальными маркерами, оба варианта кода. Нужно просто оставить нужный, удалив маркеры. После этого git rebase --continue, если не ошибаюсь, завершит сдвиг ветки.
Многие конфликты git сам умеет разрешать, но можно использовать и внешние утилиты, которые вызываются через git mergetool. Я, например, пользуюсь kdiff3. Но, повторюсь, можно и вручную разрешить.
Многие конфликты git сам умеет разрешать, но можно использовать и внешние утилиты, которые вызываются через git mergetool. Я, например, пользуюсь kdiff3. Но, повторюсь, можно и вручную разрешить.
Re: Часы на светодиодных матрицах с драйверами MAX7219
Ок. Спасибо. Про --continue я уже прочитал. Сейчас попробую
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: Часы на светодиодных матрицах с драйверами MAX7219
А можно вернуть редактирование eeprom как было раньше? Заменил слово "Температура" пробелами в 1 точку, теперь температура выводится чуть позже, сначала чистый экран несколько секунд.WiseLord писал(а):Кому не нужно, можно в eeprom соответствующую текстовую метку укоротить (для пробела в 5 точек шириной код 0x20, для пробела в 1 точку шириной код 0x7F).
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: Часы на светодиодных матрицах с драйверами MAX7219
еепром редактируется так же как и раньше. между метками должен быть как минимум один 0х00. А Вы навставляли однопиксельных пробелов. Просто замените слово "Температура" на 0х00 и всё. и не будет ничего "длинного". метки в еепром разделяются именно 0х00, а пробелы между ними можно регулировать так, как было написано выше.
p.s. победил я git rebase
p.s. победил я git rebase
Re: Часы на светодиодных матрицах с драйверами MAX7219
max50,
вот без слова "температура" еепром. подправил сейчас.
вот без слова "температура" еепром. подправил сейчас.
- Вложения
-
- matrixclock_ru.zip
- (521 байт) 295 скачиваний


