Помогите с кодом для arduino Atmega32u4

Тема в разделе "Arduino & Shields", создана пользователем kurales, 24 июн 2017.

  1. kurales

    kurales Нуб

    Здравствуйте, есть arduinoAtmega32u4 его функция быть клавиатурой которая напечатает и скачает файл
    но при подключении его к компу Windows начинает поиск драйверов для неизвестного устройства и вот
    задача что бы он не начинал печатать пока винда не прекратит свой поиск и даст ему права действовать
    как клава, но пока идет поиск дров леонардо отрабатывает свой код.
    Нужно сделать так ч тобы он нажимал кнопку CapsLock пока не изменится состояние светодиода на клаве
    тогда он выключает caps_lock и начинает выполнение кода.
    Дак вот этот код:

    int ledkeys(void) {return int(keyboard_leds);}
    boolean is_caps_on(void) {return ((ledkeys() & 2) == 2) ? true : false;}


    void setup()
    {
    delay(5000);
    wait_for_drivers();



    void wait_for_drivers()
    {
    boolean CapsLockTrap = is_caps_on();
    while(CapsLockTrap == is_caps_on()) //нажимаем клавишу CapsLock пока не изменится ее состояние
    {
    Keyboard.press(KEY_CAPS_LOCK); //нажали CapsLock
    delay(200);
    Keyboard.releaseAll(); //отпустили
    delay(200);
    }

    Но вылазит ошибка вот она:
    screen1.jpg

    Замучился решать этот вопрос, перепробывал патчи для файлов /usr/share/arduino/hardware/arduino/cores/arduino/HID.cpp и USBAPI.h менял на разные библиотеки не получается ничего, посоветуйти как победить эту ситуацию.
    Спасибо SKU207386-1.jpg
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    переменная keyboard_leds не найдена.
     
  3. kurales

    kurales Нуб

    Да я это понимаю, а как сделать чтобы она определялась?, как светодиод я так понимаю.
     
  4. Tomasina

    Tomasina Сушитель лампочек Модератор

    спросить у автора этого кода ;)
     
  5. kurales

    kurales Нуб

    Можно было бы но он ен русский)
    Да конкретно этот код не принципиален, нужно чтобы устройство считывало состояние светодиода CapsLock и соответственно реагировало)