Подключение ADB мышки к PC

bugmenot
Offline
Зарегистрирован: 30.09.2016

Приветствую, хочу подключить маковскую мышь вот по этому мануалу:



https://chester.me/archives/2016/12/connecting-a-classic-adb-apple-keyboard-to-a-modern-usb-pc-using-a-regular-arduino/





Вопрос в том, что у меня UNO буду делать это под виндой и не совсем представляю, можно ли после прошивки вернуть ардуину в оригинальное состояние т к она станет другим устройством и возможно уже не увидится через avrdude. 

Подключение ADB мышки к PC

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Да сделать-то несложно. Но нахера? Мышей не хватает?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Цитата:

Вопрос в том, что у меня UNO

На UNO не получится, нужна ардуина с аппаратной поддержкой USB (на микроконтроллере ATMega32U4, ATMega32U2). Например Arduino Leonardo, Arduino Micro, Arduino Pro Micro (не путать с Pro Mini).

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Jeka_M пишет:

На UNO не получится, нужна ардуина с аппаратной поддержкой USB (на микроконтроллере ATMega32U4, ATMega32U2).

TC видимо по внешнему виду Леонардо сравнил с УНО

bugmenot
Offline
Зарегистрирован: 30.09.2016

mykaida пишет:

Да сделать-то несложно. Но нахера? Мышей не хватает?

Для ретрокомпьютинга. Хотя бы работоспособность выяснить. Не Мак же для этого специально искать

bugmenot
Offline
Зарегистрирован: 30.09.2016

Jeka_M пишет:

Цитата:

Вопрос в том, что у меня UNO

На UNO не получится, нужна ардуина с аппаратной поддержкой USB (на микроконтроллере ATMega32U4, ATMega32U2). Например Arduino Leonardo, Arduino Micro, Arduino Pro Micro (не путать с Pro Mini).

У меня UNO SMDEDITION на ATMega16U2. Там же он вроде тоже аппаратный

rkit
Offline
Зарегистрирован: 23.11.2016

Можно

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

bugmenot пишет:

У меня UNO SMDEDITION на ATMega16U2. Там же он вроде тоже аппаратный

Т.е. Вы хотите загрузить скетч не в основной микроконтроллер (Atmega328P), а в микроконтроллер использующийся в качестве USB-UART моста (ATMega16U2) ? Тогда у Вас перестанет работать штатная загрузка скетчей в плату (в микроконтроллер Atmega328P). Но это не страшно, можно потом восстановить.

bugmenot
Offline
Зарегистрирован: 30.09.2016

Вот только похоже, что все равно не получится, памяти не хватит. В проекте только поддержка ATMega32 есть, даже если исходники пересобрать :(

Вроде нашел какой-то форк под мой UNO

https://reposhub.com/cpp/miscellaneous/MCJack123-ArduinoADB.html

Осталось выяснить, не вырезана ли оттуда поддержка грызуна.

bugmenot
Offline
Зарегистрирован: 30.09.2016

Собрал, прошил, подключил - мышь не бегает :( Определяется в системе как клавиатура. В исходнике какая-то инициализация мыши прописана, но непонятно работает ли?

#ifdef ADB_MOUSE_ENABLE
__attribute__ ((weak))
void adb_mouse_init(void) {
    return;
}
 
__attribute__ ((weak))
void adb_mouse_task(void) {
    return;
}
#endif
 
 
Еще в оригинальном проекте задействован другой пин на плате - 3-й вместо 8-го, это принципиально?
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Читаем - Конвертер клавиатуры из ADB в USB с использованием Arduino Uno или совместимого клона. Платы клонов должны иметь ATmega16U2; платы с другими микросхемами USB-Serial работать не будут.

Хотя в оригинале Эта прошивка преобразует клавиатуру / мышь Apple ADB в USB, вы можете использовать его для клавиатуры / мыши ADB к современному компьютеру. Он работает на созданном преобразователе TMK ADB-USB или на стандартном плате разработчика с USB AVR MCU (ATMega32U4 / 2), например Teensy2.0.

 

#define ADB_PORT PORTB
#define ADB_PIN PINB
#define ADB_DDR DDRB
#define ADB_DATA_BIT 0 // D8 если повар нам не врёт