Как отключить виртуальный COM порт у Beetle ATMEGA32U4

AmDepo
Offline
Зарегистрирован: 21.01.2020

Добрый день,

При подключении  по USB Beetle ATMEGA32U4 (определяется как Leonardo) появляется (и остается на все время подключения) составное USB устройство – виртуальный COM порт и HID совместимый игровой контроллер. 
 
Вопрос – как программно отключить виртуальный COM порт сохранив HID совместимый игровой контроллер?
Скетч скачал отсюда

 

-NMi-
Offline
Зарегистрирован: 20.08.2018

Там в левом нижнем углу микрухи есть точка. Её нужно просверлить и порт отключится. Всё.

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

-NMi- пишет:

Там в левом нижнем углу микрухи есть точка. Её нужно просверлить и порт отключится. Всё.

Да, но сверлить надо под рентгеном, а то один чудик потом навесным дорожки восстанавливал

-NMi-
Offline
Зарегистрирован: 20.08.2018

Попробовать сверлом 0.8мм можно. Должно получиться. Я так 100 раз делал!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

-NMi- пишет:

Там в левом нижнем углу микрухи есть точка. Её нужно просверлить и порт отключится. Всё.

Ну, не совсем всё. Я бы ещё получившееся отверстие компаундом залил, чтобы пыль не набивалась.

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

ЕвгенийП пишет:

-NMi- пишет:

Там в левом нижнем углу микрухи есть точка. Её нужно просверлить и порт отключится. Всё.

Ну, не совсем всё. Я бы ещё получившееся отверстие компаундом залил, чтобы пыль не набивалась.

да пыль не страшна сама по себе, а вот влага, это да, а то поимеем как в анекдоте - "доктор, боль снимите, а опухоль оставьте"

AmDepo
Offline
Зарегистрирован: 21.01.2020

Ежу понятно - чтобы не было ни влаги  ни пыли сверлить нужно в вакууме  открытого космоса и только сверлом для перфоратора.  

Вопрос как отключить программно?

-NMi-
Offline
Зарегистрирован: 20.08.2018

AmDepo пишет:

Вопрос как отключить программно?

А вот с ентим ужо сложнее, нужно читать книшко и думать... Проще просверлить, имхо.

AmDepo
Offline
Зарегистрирован: 21.01.2020

-NMi- пишет:

AmDepo пишет:

Вопрос как отключить программно?

А вот с ентим ужо сложнее, нужно читать книшко и думать... Проще просверлить, имхо.

Значит Вы не знаете как это сделать? 

 

 

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

AmDepo пишет:

-NMi- пишет:

AmDepo пишет:

Вопрос как отключить программно?

А вот с ентим ужо сложнее, нужно читать книшко и думать... Проще просверлить, имхо.

Значит Вы не знаете как это сделать? 

это знает только wdrakula

AmDepo
Offline
Зарегистрирован: 21.01.2020

ua6em пишет:

AmDepo пишет:

-NMi- пишет:

AmDepo пишет:

Вопрос как отключить программно?

А вот с ентим ужо сложнее, нужно читать книшко и думать... Проще просверлить, имхо.

Значит Вы не знаете как это сделать? 

это знает только wdrakula

Может wdrakula и знает, но молчит....

Так Вы знаете как решить эту задачу?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

AmDepo пишет:

Так Вы знаете как решить эту задачу?

Ну, Вам же сказали, кто знает.

А так ... как можно что-то знать, если скетча никто не видел (не думаете же Вы, что Все так и кинутся качать его "отсюда" - Вам надо, Вы и качайте, и выкладывайте здесь).

AmDepo
Offline
Зарегистрирован: 21.01.2020

ЕвгенийП пишет:

AmDepo пишет:

Так Вы знаете как решить эту задачу?

Ну, Вам же сказали, кто знает.

А так ... как можно что-то знать, если скетча никто не видел (не думаете же Вы, что Все так и кинутся качать его "отсюда" - Вам надо, Вы и качайте, и выкладывайте здесь).

Сорри, выкладываю скетч.

// Analog eBrake-Handbrake
// PIN A0 to 10k pot output - Throttle Axis
// Use with Arduino ProMicro.
// Tested and working in DiRT RALLY + ASSETTO CORSA
// by AMSTUDIO
// 20.1.2017

#include <Joystick.h>

void setup()

{pinMode(A0, INPUT); 
   Joystick.begin();}

const int pinToButtonMap = A0;

void loop()

{int pot = analogRead(A0);
int mapped = map(pot,0,1023,0,255);
{Joystick.setThrottle(mapped);}}

 

-NMi-
Offline
Зарегистрирован: 20.08.2018

Евгений, это та-же "дрочь" с тем-же "ручником" только в другой реинкарнации. Ща поттянуцца те, кто фтеме.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

AmDepo,

(1) Закомментировать строчку CDC_GetInterface(&interfaces); в файле USBCore.cpp 



static u8 SendInterfaces()
{
	u8 interfaces = 0;

//	CDC_GetInterface(&interfaces);

#ifdef PLUGGABLE_USB_ENABLED
	PluggableUSB().getInterface(&interfaces);
#endif

	return interfaces;
}

(2) загрузить скетч через программатор

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

dimax пишет:

AmDepo,

(1) Закомментировать строчку CDC_GetInterface(&interfaces); в файле USBCore.cpp 

ну нельзя же так, экстендет драйвер полночи эту задачу промучал, там и цена решения озвучивалась )))

-NMi-
Offline
Зарегистрирован: 20.08.2018

ua6em пишет:

экстендет драйвер полночи эту задачу промучал, там и цена решения озвучивалась )))

А пасан маладЭц, хоть и с ручником, а получил то, что хотел. Тонкий аднака патхот умеет находить! Ну чо, респектоз.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

мля 5 тыщь ушло :))

dimax "(2) загрузить скетч через программатор", один раз можно и через порт :))

а я действительно трахался всю ночь пока раскопал, прада там еще менял 

	if (CDC_ACM_INTERFACE == i)
//		return CDC_Setup(setup);
		return false;

hid есть а порта нету :))

-NMi-
Offline
Зарегистрирован: 20.08.2018

xDriver пишет:

мля 5 тыщь ушло :))

ДелишЪ шкурку неубитого медведа.

dimax - напейши исчо как айденты vid&pid менять в HIM на 32u4 и дело фшляпе!

А ТС - красавец! Младца!!!

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

-NMi- пишет:

А ТС - красавец! Младца!!!

обожди, ща он загрузить разок и получит кирпич, так что ждем на второй серии!

AmDepo
Offline
Зарегистрирован: 21.01.2020

dimax пишет:

AmDepo,

(1) Закомментировать строчку CDC_GetInterface(&interfaces); в файле USBCore.cpp 



static u8 SendInterfaces()
{
	u8 interfaces = 0;

//	CDC_GetInterface(&interfaces);

#ifdef PLUGGABLE_USB_ENABLED
	PluggableUSB().getInterface(&interfaces);
#endif

	return interfaces;
}

(2) загрузить скетч через программатор

dimax - Большое спасибо, загружу скетч через программатор - отпишусь!

-NMi-
Offline
Зарегистрирован: 20.08.2018

xDriver пишет:

ждем на второй серии!

Блин, а я погулять на вечерний променад собрался...

AmDepo пишет:

загружу скетч через программатор - отпишусь!

Оптимистичненько.

AmDepo
Offline
Зарегистрирован: 21.01.2020

dimax пишет:

AmDepo,

(1) Закомментировать строчку CDC_GetInterface(&interfaces); в файле USBCore.cpp 



static u8 SendInterfaces()
{
	u8 interfaces = 0;

//	CDC_GetInterface(&interfaces);

#ifdef PLUGGABLE_USB_ENABLED
	PluggableUSB().getInterface(&interfaces);
#endif

	return interfaces;
}

(2) загрузить скетч через программатор

Уважаемы Dimax,

Все действительно работает! Задача решена лаконично  и элегантно!

Благодарю за профессиональный совет и великодушие!

С наилучшими пожеланиями,

AmDepo.