-
Content Count
829 -
Joined
-
Last visited
-
Days Won
7
Everything posted by kharlashkin
-
Плюсанул, интересно данный пост как то связан с этим? После вашего сообщения в теме по ссылке так же начал изучать это направление, но знаний и опыта, как и времени учиться нет и скорее всего не будет. А можно ссылку на подтверждение, что ребята из XVM будут использовать *.pyd?
-
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Конечно сделаю, сегодня заберу наборчик бит и буду опять пробовать разбирать. -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Пришла беда откуда не ждали - под наклеечкой на центральном цилиндре руля оказался не torx а хитрый шестигранник. Как результат разборка руля пока отложена... -
Собираем комп по тихоньку. :-)
kharlashkin replied to NikolayHAOS's topic in Computers, devices and hardware
22" вроде нормально, 24 от 22 (даже 21,5) отличается только размером пикселя 0,25 против 0,27 мм. -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Хм... Копался в магазине комплектующих для Xbox360 случайно наткнулся на Xbox 360 Wireless Microphone. Судя по видео подключению к консоли - соединяется как и гарнитура от геймпада без геймпада ;) Интересно стало что - в описании есть фраза "Sensors that detect when you lift or move the microphone" - т.е. в данном девайсе есть акселерометр, и непонятно подключится ли он к ПК или нет. Потому как если подключится можно будет выяснить каким образом ПК видит акселерометр, через тот же AutoHotkey. Идея в чем - может получится сделать физический или программный переключатель между гироскопом/асклерометром для разных игр. Просто боюсь выброшу денег на девайс а он для ПК окажется бесполезен как Xbox 360 Chatpad. P.S. Поставил на закачку "в ознакомительных целях" Guitar Hero, проверить каким образом работает геймпад в таких играх (и нужен ли там акселерометр и какие функции он там может выполнять). Заказал отвертку по Украине, из Китая не охота ждать, хоть и дешевле в 4 раза :) -
А ещё лучше совместить канальный кондиционер и воздуховодом подавать под подставку охлажденный воздух (+16) прямо под подставку ;)
-
А нафига? Ноутбук не стационарный ПК - кулер особо не заменишь на более производительный и азотом не зальешь ;)
-
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Добавлю вводные данные по геймпаду. Итак, беспроводных есть два вида - старый, так называемый Wireless CG (их есть у меня). Кстати как мне кажется работает лучше нового - вибрация сильнее, нет кваканья в гарнитуре. Новая модификация, Wireless CG2, вибра слабее иногда квакает гарнитура ;) Фото взято с форума, где автор (RDC) отказал мне в исходниках (я его понимаю - убил много времени, а тут я такой - "Дай!"), но в принципе человек очень отзывчив и может помочь в реализации. Вот ещё какая-то схема от него: -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Гироскоп. Зачем изобретать велосипед, если все придумано до нас, я всё таки за разбор руля. Правда нужный человечек вернулся из отпуска но необходимых отверток у него нет. Есть вариант с Tilt Board v3, но мое мнение лучше попробовать с оригинальным рулем. Недостающее заказать - не вопрос, с доставкой в руки ;) Переделка схемы - на америкосовском форуме есть разбор оригинальной трассировки платки контроллера, и есть практически готовый шаблон для переноса в редактор схем картинку с miniCG2. -
Оффтоп, вспомнилась история одна, не моё, рассказываю как есть. В прошлом веке один из очень хороших мужиков (работает у нас в учебном центре сейчас) был зам директора и присутствовал на конфликте при запуске нефтехимического предприятия в Прибалтике (80-е).Местные рабочие заполняли всевозможные рабочие журналы (дежурство, пожарный, вентиляции и прочее) на литовском языке, так как он у них родной. Данное начало было положено главным инженером того завода, так как по ГОСТам документацию можно вести не только на русском, но и на родном языках. Послало его руководство из Северодонецка на место разобраться что к чему. На четвертые сутки посетила его мысль - наша то компания многонациональная, и украинцы начали заполнять документацию на украинском, грузины на грузинском, татары на татарском и прочее. Прошло несколько дней и этот человек был приглашен к директору и главному инженеру литовского предприятия "на ковер": "В чем дело? Местные рабочие понимают документацию разработчика (русский), свои записи в журналах (литовский), но записи пуско-наладочной организации не понимают вообще!" О чем был дан ответ, что все рабочие заполняют документацию на своем родном языке. После чего вышел отдельный приказ предприятия, что всю документацию необходимо вести на языке разработчика рабочего проекта и пусконаладочных программ (русский). А Вы говорите... P.S. Наша конторка занимает пуско-наладкой нефтехимических производств.
-
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Да ладно, очень даже аркада для пышь-пышь ;) с геймпадом на диване в ПК версию перед теликом играю уже 2 года 8 месяцев и плевать мне консольная она или нет. Кто сказал страдать? Я её запускаю для того чтобы расслабиться и консольно-диванный вариант игры перевешивает преимущества клаво-мыши и неудобной позы. Я не хочу играть в "коробочную" версию танчиков, да и Xbox 360 нет у меня, а вот возможность использования геймпада в игре - открыло бы разработчикам WG путь к тому же Steam например. Приведу пример моих размышлений с оф.форума: -
[Заказ] Обновление мода Xinput-вибраций для геймпада
kharlashkin replied to kharlashkin's topic in Paid Work
Зачем так сложно? Нельзя ли как в документации мелкомягких отдельно левый и правый, для остановки отправляем 0? Время вибрации берется из файлов накидки, уровень вибраций через коэффициенты проверяется каждые 10мс. Добавил во второе сообщение исходники всего мода. В общем чего сделал "методом тыка". Взял XVM для предыдущего патча, удалил все в нем кроме вибромода и xfw, вибрация заработала :) доволен как слон. Теперь дилемма - нужен ли мне XVM, как то за год я к нему попривык, хоть и не пользовал ничего кроме мини-карты и с недавнего времени автовозврат съемного оборудования. Ну и статистики -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Отвертка там torx, вот на али есть, у меня есть знакомый инженер по ноутбукам - у него набор отверток ого-го, но он в Крыму сейчас в отпуске, как вернется так и пойду за отверткой к нему. Про запрос - я понимал на тот момент что добавить поддержку геймпада в танки могут сделать безо всяких "плясок с бубном" буквально за один патч - реально там работы паре программеров на пару дней. Но вот принципиальные какие - сами активно пытаются продвигать танчики в консоли, но поддержка консольных девайсов в игре - ни-ни! -
[Заказ] Обновление мода Xinput-вибраций для геймпада
kharlashkin replied to kharlashkin's topic in Paid Work
Ну вот есть соответствующий код на С++ Соответствующая документация от Мелкомягких -
По ссылке ходили? 11,6, 14 и 15,6 размеры есть.
-
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Да вот это целое дело, там специальная отвертка нужна (пока не приобрел). Проблемы совместимости не будет - так как руль ПК видит как геймпад без рабочих стиков (вернее только с одной рабочей осью Х). Уверен что начинка одна - разводка должна быть разной на платках. Мне это не кажется? Оставлю для истории это здесь: -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
По размеру платки, диаметр D-Pad контроллера 22 мм (если мне память не изменяет). нужно все таки разобрать и померять всё. Так же имеется дома Wii Remote, который Nintendo изначально проектировала для одной руки. Вот тут есть его детальное описание внутренностей. Я думаю что размеры платки будут по размеру самого контроллера, как на картинке вверху плюс/минус. Давайте попробуем сделать как - ограничим ширину платы до 30 мм, т.е. она должна быть уже miniCG2, а по длине нужно сориентироваться, когда будем размечать места для кнопок/стика/крестовины/вибромоторов и прочего. Просто есть ещё руль, который сразу в базе имеет гироскоп. И он у меня имеется, просто нужно добраться с отверткой до него и разобрать и понять какой именно "родной" гироскоп используется. -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Прошу прощения работы навалилось на меня что-то. Вот нагуглил ссылку с переделкой контроллера, где вместо левого стика используют гироскоп. -
Стало интересно, кто за что ставит плюсы/минусы на форуме.
-
[Заказ] Обновление мода Xinput-вибраций для геймпада
kharlashkin replied to kharlashkin's topic in Paid Work
Так в том то и дело что предложенное решение @sirmax наверное единственное рабочее и правильное. -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Ну смотрите, по ссылке на miniCG2 есть размеры платки (35.5mm x 57.5mm x 5mm), т.е. можно примерно представить размеры компонентов. Общая концепция (я не знаю правильная или нет) размещения компонентов выше я представлял. Мне вот стало интересно маркировка компонентов на платке соответствует маркировке на оригинальной платке? Я могу разобрать один из своих контроллеров и померять размеры посадочных мест под кнопки/крестовину/стики/курки/бамперы на плате. И думаю нужно разобрать руль и сфоткать все (кстати не гуглится разбор нового руля). Чтобы выяснить используемую родную мелкомягкую схему включения гироскопа в платформу Xbox 360 controller. -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Вы рассказываете мне то что я и так могу сообразить ;) Вопрос в другом - нужно в каком то редакторе эту плату вычертить, возможно пару экземпляров заказать ну или вытравить самому, потом с геймпада перенести комплектующие, проверить работоспособность, только потом можно переходить к корпусу, кнопкам/стикам/крестовине и удобству хвата. Повторюсь - я в этом полный профан и предлагаю любому желающему попробовать в этом свои силы. От себя могу обещать только поддержку духовно и немного материально ;) Хотите заняться? -
[Заказ] Обновление мода Xinput-вибраций для геймпада
kharlashkin replied to kharlashkin's topic in Paid Work
Добавил принты в код - ничего не получилось внятное у меня. Никогда логами не занимался, подскажите пример хороший пожалуйста. -
Переделка геймпада Xbox 360
kharlashkin replied to kharlashkin's topic in DIY (hardware, electronics, etc.)
Я ждал Вас в этой теме, можно сказать что под Вас она была создана;) Вот набросал как должна выглядеть новая платка: Вот есть разбор трассировки оригинальной платы. Моё мнение нужно как то комплексно подойти к этому вопросу, чтобы одновременно разрабатывать корпус/плату/расположение кнопок. Вот хвалился что у них на предприятии что-то подобное делают, может подскажет что куда. Хочется сделать все таки красиво, без "колхоза". -
[Заказ] Обновление мода Xinput-вибраций для геймпада
kharlashkin replied to kharlashkin's topic in Paid Work
Собственно вот думаю будет понятно: import ctypes class XINPUT_VIBRATION(ctypes.Structure): _fields_ = [('wLeftMotorSpeed', ctypes.c_ushort), ('wRightMotorSpeed', ctypes.c_ushort)] class gpXInputClass: def __init__(self): xInputDLLFileName = 'xinput1_3' xinput = ctypes.WinDLL(xInputDLLFileName) self.__XInputSetState = xinput.XInputSetState self.__XInputSetState.argtypes = [ctypes.c_uint, ctypes.POINTER(XINPUT_VIBRATION)] self.__XInputSetState.restype = ctypes.c_uint self.__l = 0 self.__r = 0 def adjust_vibration(self, left_motor_delta, right_motor_delta, set = False, controller = 0): if set: self.__l = left_motor self.__r = right_motor else: self.__l += left_motor_delta self.__r += right_motor_delta tempL = self.__l tempR = self.__r if self.__l > 255: tempL = 255 elif self.__l < 0: tempL = 0 if self.__r > 255: tempR = 255 elif self.__r < 0: tempR = 0 vibration = XINPUT_VIBRATION(int(tempL * 65535 / 255), int(tempR * 65535 / 255)) self.__XInputSetState(controller, ctypes.byref(vibration)) def stop_vibration(self, controller = 0): vibration = XINPUT_VIBRATION(0, 0) self.__XInputSetState(controller, ctypes.byref(vibration)) gpXInputObject = gpXInputClass()