Замена кодов ir пульта в прошивке

Тема в разделе "Микроконтроллеры AVR", создана пользователем Funny59, 10 сен 2021.

  1. Funny59

    Funny59 Нерд

    Хочу взять исходники отсюда. Прошил - пульт не работает, понял что что-то не то с кодами клавиш. Подключил VS1838 к ардуино, просканировал пульт, заменил коды в прошивке, но все равно работает не правильно. Подскажите в чем может быть косяк?
     
  2. parovoZZ

    parovoZZ Гуру

    А фьюзы выставлены у МК?
     
  3. Airbus

    Airbus Радиохулиган Модератор

    Фьюзы дефолтные обычно.
    Протокол NEC?
     
  4. parovoZZ

    parovoZZ Гуру

    выпил уже? В исходниках чуть ли не красной строкой написаны значения фьюзов.
     
  5. Airbus

    Airbus Радиохулиган Модератор

    Что то я не нашол. Не подскажешь где именно? Как правило фьюзы оставляют дефолтными (для лучшей повторяемости ламерами)иногда и меняют но не так часто.
     
  6. parovoZZ

    parovoZZ Гуру

    Там надо переключить осциллятор с дефолтных 9.6 на 4.8.
    Ну или ничего не переключать, а в коде добавить прескалер main clock (не знай, как по русский) на 2. Правда, я не знаю, есть ли в этой тине вообще прескалер? Даташит листать лень.
     
  7. parovoZZ

    parovoZZ Гуру

    хм, фьюз ckdiv8 есть, значит и прескалер есть.
     
  8. Funny59

    Funny59 Нерд

    Конечно, у меня некоторые клавиши работают, но не так как нужно. Например, жму фиолетовый цвет а уменьшается яркость или скорость в зависимости от режима
     
  9. Funny59

    Funny59 Нерд

    На гитхабе у автора указаны коды, в них всего один байт. Я когда сканировал получал от пульта вот такую ситуацию:
    Код (C++):
    FF9867
    FFFFFFFF
    FF20DF
    FFFFFFFF
    FFE817
    FFFFFFFF
    FF708F
    FFFFFFFF
    FF02FD
    FFFFFFFF
    Насколько понял из прошивки, то там используется второй байт с конца
     
  10. parovoZZ

    parovoZZ Гуру

    вначале было сказано иначе:
    значит, у тебя другой пульт и под него надо модифицировать прошивку.
     
  11. Funny59

    Funny59 Нерд

    Нашел косяк. Всё до банальности глупо, косяк был в моём makefile

    Заменив коды на просканированные всё заработало