Помогите с кодом (синтаксис)

Тема в разделе "Микроконтроллеры AVR", создана пользователем Ariadna-on-Line, 30 янв 2021.

  1. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Библы и примеры Ардуины в роли хоста для клавы PS/2. Скачаны в ИДЕ. Не компилируется.
    Код (C++):
    ...
    #include "ps2_Keyboard.h"
    #include "ps2_AnsiTranslator.h"
    #include "ps2_SimpleDiagnostics.h"

    typedef ps2::SimpleDiagnostics<254> Diagnostics_;
    static Diagnostics_ diagnostics;
    static ps2::AnsiTranslator<Diagnostics_> keyMapping(diagnostics);
    static ps2::Keyboard<3,2,1, Diagnostics_> ps2Keyboard(diagnostics);
    static ps2::KeyboardLeds lastLedSent = ps2::KeyboardLeds::none;

    void setup() {
      ps2Keyboard.begin();
      keyMapping.setNumLock(true);
      ps2Keyboard.awaitStartup();

      ps2Keyboard.sendLedStatus(ps2::KeyboardLeds::numLock);
      lastLedSent = ps2::KeyboardLeds::numLock;
    }

    void loop() {
      diagnostics.setLedIndicator<LED_BUILTIN_RX>();
      ps2::KeyboardOutput scanCode = ps2Keyboard.readScanCode();
      if (scanCode == ps2::KeyboardOutput::garbled) {
      keyMapping.reset();
      }
    ...
     
    С ошибкой -
    ...
    PS2_Host:41:49: error: template argument 1 is invalid
    diagnostics.setLedIndicator<LED_BUILTIN_RX>();
    ^
    exit status 1
    'LED_BUILTIN_RX' was not declared in this scope

    Что не хватает коду ? Почему "недоделанный" код появляется в примерах.? Или расчет на умудренных программеров , к которым я увы не отношусь.
     
  2. ZAZ-965

    ZAZ-965 Гуру

    LED_BUILTIN_RX есть в определениях Arduino Leonardo. Для Uno/Nano замените на LED_BUILTIN
     
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    О, спасибо ! Изменил как вы сказали - компилится. Буду проверять.