123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- Часы по озарению
- [IN12 IN12 IN15 IN12 IN12]
- Одна плата, вертикальный корпус.
- RGB-подсветка, "погодный" датчик BME-280.
- MCU - STM32G030K8.
- Управление катодами - TPIC6B595.
- =====
- 05.05.2021
- И снова - раньше нужно читуть даташиты...
- у TPIC6B595 уровень логической единицы - 0.85 от питания, т.е. 3.3В логики тут
- никак не хватает. К счастью, MOSI и SCK на FT выводах - переключил в OD и
- подтянул резисторами с наружи на +5В. Вывод LATCH придётся переносить на 26-ой
- вывод -- PA15.
- Исправил схему и плату.
- ---
- 12.07.2021
- Переход на новую версию железа.
- ---
- 04.09.2021
- Вторая версия показала, что нужно переходить на третью - для гашения
- индикатора необходимо убирать анодное напряжение, с 50В на катодах они не
- гаснут - горит всё, хватает утечек тока в TPIC6B595.
- ---
- 07.09.2021
- Закончил третю версии схемы и платы - с индивидуальным управлением анодами
- ламп. Опыты показали, что писк на частоте 100 Гц отсутвует, на частотах 200 и
- больше - появляется.
- ---
- 30.09.2021
- Правка софта под третью версию железа.
- Таймеры 1 и 3 пока 100 Гц.
- PWM:
- TIM1_CH1 - PWM_1
- TIM1_CH2 - PWM_R
- TIM1_CH3 - PWM_G
- TIM1_CH4 - PWM_B
- TIM3_CH1 - PWM_5
- TIM3_CH2 - PWM_4
- TIM3_CH3 - PWM_3
- TIM3_CH4 - PWM_2
- Таймер 14 попробую использовать для "блинка" - 0.75 сек вкл, 0.25 сек выкл.
- может стоит Т14 пинать по прерыванию в начале каждой секунды в режме one
- pulse mode? тогда будет синхронизация со сменой секунд. пока оставлю в
- качестве идеи.
- ---
- 12.01.2022
- Наконец то запустил первый таймер.
- На очереди - SPI.
- И глобальное причёсывание.
- И HSV2RGB...
- ---
- 17.01.2022
- Засады на каждом шагу...
- Какая-то лажа с оптимизациями. Код из Кейла не работает. вернее не
- "тикает", хотя минуты вроде меняются. Наверное, нужно код прервааний
- оборачивать в "-O0" или как-то так.
- ---
- 01.02.2022
- Предварительные итоги...
- Пока условно успешно - всё запустил, всё работает, HAL_LL выбросил.
- Код из gcc и Segger - не работает ни с какими уровнями оптимизаций.
- Работает только Keil с клмпилятором 6-ой версии.
- Код из Segger падает в HardFault, подозреваю, что с gcc таже беда.
- Причём код из HAL_LL - всё работает. На урове Keil-а сровнял все регистры на
- этапе инициализации. Отдебажить gcc (пока) нет возможности (лень заниматься).
- В любом случае - очень странно...
- Из хорошего - VSCode очень даже приятен. Segger тоже ничего, но горячие
- влавиши совсем свои.
- C::B скорее всего придётся хоронить - "плюсов" у него не осталось, поиск по
- коду сломался или хз.
- Из пока не реализованного - "бликование" разрядами.
- Ничего не делал с ком-портом.
- Не придумал ничего внятного по управлению/настройкам.
- ... бред... пришёл домой - всё работает.
- ан нет - работает только с уровнем оптимизации "s", 2 и 3 - нет.
- Ждём отладчик...
- Segger убрал, в хардфаулт падает только он.
- ---
- 03.02.2022
- Вчерашняя версия опять перестала работать под GCC...
- Есть мысль повесить опрос кнопок на 16 или 17-ый таймер.
- Получается, под GCC какая-то лажа с I2C - при инициализации получается
- частота прерываний 4096 Гц.
- ---
- 07.02.2022
- Информация, сохраняемая в FLASH:
- час дня, час ночи - 2 байта;
- яркость дня, яркость ночи - 2 байта (1 байт);
- режим подсветки дня, режим подсветвки ночи - 2 байта (1 байт) - выкл/"радуга"/цвет;
- код цвета дня, код цвета ночи - 2 байта (0..59).
- Пока ужиматься не нужно - будет 8 байт, при необходимости можно сократить до 6-ти,
- освободив 2 байта для чего-то другого.
- ---
- 23.08.2022
- У нас тут война с 24-го февраля...
- Напали на нас ебаные москали...
- По часам, что я последнее помню: в корпусе, с сенсорной "кнопкой" - полный
- капец... Ёмкостной датчик срабытвает хаотично когда и как попало.
- Сенсор BME временами выдёт хрень, особенно по давлению.
- Средний индикатор (-, + и т.д.) иногда не гасится, иногда гасится - выглядит
- это всё довольно убого. Эти плавные переключения - отстой.
- Хочу одни часы сделать без датчика и, соотвественно, с отключеной сенсорной
- кнопкой - тупо часы, и отдать их тёще. Больше года просит, пиздец стыдно...
- Пока оставил эффекты при смене цифр. Возможно их тоже стоит убрать.
|