Alex_Oz Опубликовано: 20 августа 2019 Опубликовано: 20 августа 2019 15.08.2019 в 12:45, Alex_Oz сказал: есть изменения по настройкам функций SHIFT, SubSHift, BS, BX .. Функция BS ( кнопка управляемая SubSHIFT-ами) Ранее - по умолчанию линована к SubSHIFT #7 Теперь дополнительных управляемых вирт. линий - две, их можно привязывать к любым SubSHIFT
LokkiDay Опубликовано: 21 августа 2019 Опубликовано: 21 августа 2019 Всем привет! Встала задача превратить стик SCG в 2 хатки. Нашел аналогичный вопрос в этой теме от 1 мая, но ни слова там не понял. Сейчас у меня по умолчанию 8w pov и аналог, а необходимо две 4w pov. Как это сделать?
Alex_Oz Опубликовано: 21 августа 2019 Опубликовано: 21 августа 2019 Вечерком гляну по реализации. Так навскидку нужен еще один uStick Switch на вторую хатку через джампер на вирт. линию основного uStick Switch (переключение кнопкой с фиксацией Button Alt). Это если не мудрить с TEMPO.
oltims Опубликовано: 21 августа 2019 Опубликовано: 21 августа 2019 Алекс за тобой хрен успеешь, во всем этом разобраться )))) 1
Alex_Oz Опубликовано: 21 августа 2019 Опубликовано: 21 августа 2019 (изменено) Да ладно, ничего же сложного На закуску - оно же через TEMPO. Остальные настройки - по предыдущему примеру. Короткая кнопка TEMPO (5) остаётся функциональной для сима, переключение хаток - по длинному нажатию. ( В предыдущем примере переключающая кнопка для сима потеряна ) Индикация текущего режима хаток красным светодиодом остаётся (как и в предыдущем примере). PS/ В NG версии есть шанс через циклический свич размножить хатку на 3 или 4.Но это неточно. BB_GF_SCG_2xPOV_TEMPO.zip Изменено 21 августа 2019 пользователем Alex_Oz 1
ABP_158 Опубликовано: 21 августа 2019 Опубликовано: 21 августа 2019 8 минут назад, Alex_Oz сказал: Да ладно, ничего же сложного Вспомнился старый анекдот: -Товарищи курсанты,за какое время вы изучите японский язык? -А учебник есть? Да. -Колян,вставай,пошли японский сдавать. 1
Alex_Oz Опубликовано: 21 августа 2019 Опубликовано: 21 августа 2019 "В самом большом японском словаре иероглифов, «Дайканва дзитэн», около 50000 знаков. Таблицы Юникода включают всего 7000 иероглифов. Но для практических нужд в современном японском языке используется чуть больше 3000 знаков. И всего 1945 иероглифов утверждены в качестве необходимых для повседневного использования" В конфигураторе для обычной версии имеется всего 24 функции для кнопок ( включая простейшие SYNC, NoP и RPB). До японского повседневного еще целая пропасть, но в NG я постараюсь её сократить 1
Alex_Oz Опубликовано: 21 августа 2019 Опубликовано: 21 августа 2019 (изменено) 1 час назад, Alex_Oz сказал: PS/ В NG версии есть шанс через циклический свич размножить хатку на 3 или 4 Как-то так. Индикацию текущей хатки имеет смысл перекинуть на RGB. Изменено 21 августа 2019 пользователем Alex_Oz 1
ABP_158 Опубликовано: 21 августа 2019 Опубликовано: 21 августа 2019 У самой дороги Чистый бежит ручей. Тенистая ива. Я думал, всего на миг, И вот - стою долго-долго... 1
LokkiDay Опубликовано: 25 августа 2019 Опубликовано: 25 августа 2019 (изменено) 21.08.2019 в 20:34, Alex_Oz сказал: Да ладно, ничего же сложного На закуску - оно же через TEMPO. Остальные настройки - по предыдущему примеру. Короткая кнопка TEMPO (5) остаётся функциональной для сима, переключение хаток - по длинному нажатию. ( В предыдущем примере переключающая кнопка для сима потеряна ) Индикация текущего режима хаток красным светодиодом остаётся (как и в предыдущем примере). PS/ В NG версии есть шанс через циклический свич размножить хатку на 3 или 4.Но это неточно. BB_GF_SCG_2xPOV_TEMPO.zip 1 kB · 1 скачивание Спасибо! Изменено 25 августа 2019 пользователем LokkiDay
72AG_Britva_ Опубликовано: 28 августа 2019 Опубликовано: 28 августа 2019 ручка MSG PRO Есть желание настроить кнопки управления огнем так: Откинут курок вверх на кн1 - допустим РС Опущен курок вниз на кн1 - пушка например.Подскажите как реализовать?
VictorUs Опубликовано: 28 августа 2019 Автор Опубликовано: 28 августа 2019 Здесь руководство пользователя. Раздел 3.7.2 Настройка откидного трггера MCG Pro. Расказано, как настроить кнопки. А уж их можно назначать на любые функции. Успехов!
Alex_Oz Опубликовано: 28 августа 2019 Опубликовано: 28 августа 2019 (изменено) Я так понял - задача не просто назначить что-либо на откидной триггер, а использовать его как модификатор. Его можно найти в настройках - это 25 я виртуальная линия В первом варианте решим задачу очевидным способом через модификатор SubShift Для назначения этой функции необходимо прокинуть джампером 25 вирт. линию на физ.левел: - SubSHIFT #1 Затем находим физ.линию триггера AP Disengage Вешаем на неё функцию BS - вторая кнопка привязана к SS1 Результат: Второй вариант - использовать булевские функции ( элементы 2И) Нативную кнопку (V6 - L1) отрезать Результат аналогичен. Третий вариант самый простой - почти как первый, только через модификатор SHIFT ( #1) и обычную кнопку с шифтовой кнопкой Изменено 28 августа 2019 пользователем Alex_Oz 2 1
72AG_Britva_ Опубликовано: 29 августа 2019 Опубликовано: 29 августа 2019 Спасибо! Сегодня вечером опробую.
Alex_Oz Опубликовано: 30 августа 2019 Опубликовано: 30 августа 2019 NG_v1_97_8_2 / VKBDevCfg-C_v0.90.60 Джамперу (NOT) добавлена функциональность хаба (множество параллельных выходов ) При активации Hub необходимо задать число реплицируемых выходов (2-8). Применяется когда одну линию необходимо раздать на множество функций - иначе пришлось бы создавать соответствующее количество джамперов. Таки лень - двигатель прогресса ... 4 1
Alex_Oz Опубликовано: 3 сентября 2019 Опубликовано: 3 сентября 2019 (изменено) Внимание ! v1_97_9_NG ( VKBDevCfg-C_v0.90.61 ) - не совместимы по Basic параметрам с предыдущими версиями NG !!! Размер области Basic увеличен до 3 kB. Дополнительно - изменения в структурах ExtDev и LedEvent. Изменено 3 сентября 2019 пользователем Alex_Oz
Ahtuba Опубликовано: 5 сентября 2019 Опубликовано: 5 сентября 2019 Здравствуйте! У меня старенькие педалечки (Т-Rudder MKI). Подскажите, пож-ста, какую версию конфигуратора скачать для калибровки? Ранее в течение 6 лет калибровал виндами, но после разборки (снимал кулачек для замены подшипника) откалиброваться не могу. Спасибо заранее.
Ahtuba Опубликовано: 5 сентября 2019 Опубликовано: 5 сентября 2019 Вопрос снят, получил полную консультацию по вариантам калибровки от Юрия ака Vumpel18. Ему огромное спасибо! 1
Alex_Oz Опубликовано: 6 сентября 2019 Опубликовано: 6 сентября 2019 (изменено) Забудьте всё чему Вас учили в школе все предыдущие версии NG более не актуальны. Собственно весь сыр-бор из-за первых размышлений на тему мультидевайса. Итак, что новенького: Для MULTIDEVICE (отдельная прошивка) добавлена возможность задать роль подключаемых устройств - Ordinal / Definer Ordinal - обычный тип устройства, который будет всегда ожидаться на шине. Definer - это особое устройство, которое задаёт текущее устройство в целом На данный момент дефайнерами могут быть только MCG , SCG и Gladiator Stick. Дефайнер определяет контроллер в целом - Gunfighter Modern Combat Pro NG, Space Gunfigher NG или Gunfighter Vintage NG Контроллер при старте будет искать одно из устройств-дефайнеров, при нахождении первого доступного все остальные пометит как неиспользуемые в конфигурации и более обращаться к ним не будет: Отличить MULTIDEVICE от обычного можно еще на вкладке Info Финальное устройство идентично натуральному по HID одиночному соответствующему девайсу. Но для этого требуется ряд необходимых действий. 1. Создание специальных профилей. Основной профиль прошивки по дефолту - для MCG. С ним работаем как обычно - он входит в состав его грузить отдельно никуда не надо Вот с остальными профилями поступаем иначе - их надо грузить по номеру (CTRL+Set), указанному в параметре Profile Принцип создания такого профиля простой - сначала грузим прошивку отдельного нужного устройства, по необходимости подгружаем свой рабочий профиль и записываем в контроллер по нужному номеру. Затем снова прошиваем MULTIDEVICE (дефолтимся на всякий случай) и читаем из контроллера сохраненный ранее (CTRL+Get) . Теперь самое время сохранить его на диск (Save) как исходник. Далее нам надо развести правильно физические оси с этих вторичных устройств Здесь видно, что оси с ручки выводятся на 12,13 и 14 оси в Basic Physical Axes Соответственно в профиле на логических осях мы их должны вернуть на положенное им место Для того, чтобы контроллер понимал, какие физические оси актуальны в текущей конфигурации - они должны быть помечены. Параметр Multidevice определят это принадлежность. Если 0 - ось принадлежит всем конфигурациям. #1 задает принадлежнсть к MCG, #2 - SCG, #3 -Gladiator Stick (KG12) (Это жестко заданные номера конфигураций, не путать со слотом профиля) Файл профиля CSG для примера: GF SCG profile 2 for MULTIDEVICE.zip Для KG12 профиль не делал - ничего сложного там быть не должно, потому как штатно осей нет,одни кнопки. Изменено 6 сентября 2019 пользователем Alex_Oz 6 1
ABP_158 Опубликовано: 6 сентября 2019 Опубликовано: 6 сентября 2019 А где прошивка? На скрине 980,а в архиве 97_9
Alex_Oz Опубликовано: 6 сентября 2019 Опубликовано: 6 сентября 2019 (изменено) При калибровке соответственно будут калиброваться общие оси и оси текущего девайса. Посему шевелить и калибровать общие оси лучше на финальной калибровке основной конфигурации. Общая калибровка выглядит так: 1 Отключаем контроллер, cтавим SCG , калибруем микростик (если установлен) и твист. 2 Отключаем контроллер, cтавим MCG , калибруем ручку и джойстик полностью. Пока вроде всё. Вообще это первые наброски, возможно ( и даже скорее всего ) будут изменения. PS смена профилей ZLink-ом работать не будет (пока) Изменено 6 сентября 2019 пользователем Alex_Oz
Alex_Oz Опубликовано: 6 сентября 2019 Опубликовано: 6 сентября 2019 Еще по изменениям Где ранее были задания осей (1..8) + контроллер(1..4) - стали просто оси 1..32
Alex_Oz Опубликовано: 13 сентября 2019 Опубликовано: 13 сентября 2019 VKBDevCfg-C_v0.90.70 / v1_98_1(3)_NG Добавлена новая функция TEMPO - TmS ( SHIFT Switch): Не имеет выходов на виртуальные кнопки. Короткое нажатие включает/выключает SHIFT1, длинное - SHIFT2 SHIFT1 также переключается в момент действия SHIFT2 в теневом режиме - но остается не активным. Ранее для этого требовалось строить специальные конструкции из булевских функций и обычной TEMPO : Не забываем про индикацию состояний шифтов: 2
Horus Опубликовано: 17 сентября 2019 Опубликовано: 17 сентября 2019 Black Mamba + MCG Pro прошивка v1.97.9 Как настроить верхний микростик так, что бы он работал, как две оси? Настроил всё так же, как на нижнем - оси отображаются, но не работают.
Zorik79 Опубликовано: 17 сентября 2019 Опубликовано: 17 сентября 2019 29 минут назад, Horus сказал: Black Mamba + MCG Pro прошивка v1.97.9 Как настроить верхний микростик так, что бы он работал, как две оси? Настроил всё так же, как на нижнем - оси отображаются, но не работают. Отправил ЛС. 1 1
Alex_Oz Опубликовано: 18 сентября 2019 Опубликовано: 18 сентября 2019 Функция временного дискриминатора Tempo S получила дальнейшее развитие ( VKBDevCfg-C_v0.90.71 / v1_98_2_NG ) Для короткого(Short) и длинного(Long) нажатий добавлен выбор режима VBut - стандартный режим импульсного нажатия вирт. кнопки (аналогично функции TEMPO 1) VButAlt - режим кнопки с фиксацией. Данный режим отображается инверсией цвета Этот режим удобно использовать в Advanced Mapping - для управления функциями виртуального уровня, которые не имеют фиксации. Тем самым можно избежать использования счетного триггера RT из булевских. Также для простого двухуровнего маппинга в качестве кнопки с фиксацией. SHIFT - управление модификаторами SHIFT 1/2 Теперь можно выбирать номер SHIFT для Short/Long SubSHIFT - управление модификаторами SubSHIFT 1..7 Режимы могут сочетаться в любом порядке. 3 1
CrankSer Опубликовано: 29 сентября 2019 Опубликовано: 29 сентября 2019 (изменено) Подключил MCG-PRO к Vint-Mamba. VKBDevCfg-C v0.90.74 + ZBootloader-C v1.18 + _MambaVint_v1_97_A.vkb = в Test не видит MCG.. что я делаю неправильно? Изменено 29 сентября 2019 пользователем CrankSer
Vumpel18 Опубликовано: 29 сентября 2019 Опубликовано: 29 сентября 2019 Нужно залить прошивку для MCG - _MambaFat_MCG_Pro_v1_97_A
CrankSer Опубликовано: 29 сентября 2019 Опубликовано: 29 сентября 2019 (изменено) 28 минут назад, Vumpel18 сказал: Нужно залить прошивку для MCG - _MambaFat_MCG_Pro_v1_97_A MambaVint_MCG_Pro_v1_97_A.vkb как то не нашел на сайте ? Изменено 29 сентября 2019 пользователем CrankSer
huligan Опубликовано: 29 сентября 2019 Опубликовано: 29 сентября 2019 Кто шарит в скетчах? В одном на оси кнопки навешаны,а самих осей нет,в другом только оси.Как их объединить? кнопки Скрытый текст #include <Joystick.h> // Create the Joystick Joystick_ Joystick; // H-shifter mode analog axis thresholds #define HS_XAXIS_12 400 #define HS_XAXIS_56 600 #define HS_YAXIS_135 800 #define HS_YAXIS_246 300 // Sequential shifter mode analog axis thresholds #define SS_UPSHIFT_BEGIN 670 #define SS_UPSHIFT_END 600 #define SS_DOWNSHIFT_BEGIN 430 #define SS_DOWNSHIFT_END 500 // Handbrake mode analog axis limits #define HB_MAXIMUM 530 #define HB_MINIMUM 400 #define HB_RANGE (HB_MAXIMUM-HB_MINIMUM) // Digital inputs definitions #define DI_REVERSE 1 #define DI_MODE 3 #define DI_RED_CENTERRIGHT 4 #define DI_RED_CENTERLEFT 5 #define DI_RED_RIGHT 6 #define DI_RED_LEFT 7 #define DI_BLACK_TOP 8 #define DI_BLACK_RIGHT 9 #define DI_BLACK_LEFT 10 #define DI_BLACK_BOTTOM 11 #define DI_DPAD_RIGHT 12 #define DI_DPAD_LEFT 13 #define DI_DPAD_BOTTOM 14 #define DI_DPAD_TOP 15 // Shifter state #define DOWN_SHIFT -1 #define NO_SHIFT 0 #define UP_SHIFT 1 // Shifter mode #define SHIFTER_MODE 0 #define HANDBRAKE_MODE 1 // LED blink counter int led=0; // Shifter state int shift=NO_SHIFT; // Handbrake mode int mode=SHIFTER_MODE; int b[16]; int gear=0; // Default value is neutral // Constant that maps the phyical pin to the joystick button. //const int pinToButtonMap = 9; void setup() { // G29 shifter analog inputs configuration pinMode(A0, INPUT_PULLUP); // X axis pinMode(A2, INPUT_PULLUP); // Y axis pinMode(2, INPUT); for(int i=0; i<16; i++) b = 0; b[DI_MODE] =0; // Initialize Joystick Library Joystick.begin(); } // Last state of the button int lastButtonState = 0; void loop() { int x=analogRead(0); // X axis int y=analogRead(2); // Y axis int _isreverse = digitalRead(2); int _gear_ = 0; if( _isreverse == 1 ){ _gear_ = 8; b[DI_REVERSE]= 1; }else{ if(b[DI_MODE]==0) // H-shifter mode? { if(x<HS_XAXIS_12) // Shifter on the left? { if(y>HS_YAXIS_135) _gear_=1; // 1st gear if(y<HS_YAXIS_246) _gear_=2; // 2nd gear } else if(x>HS_XAXIS_56) // Shifter on the right? { if(y>HS_YAXIS_135) _gear_=5; // 5th gear if(y<HS_YAXIS_246) _gear_=6; // 6th gear } else // Shifter is in the middle { if(y>HS_YAXIS_135) _gear_=3; // 3rd gear if(y<HS_YAXIS_246) _gear_=4; // 4th gear } } } if(gear!=6) b[DI_REVERSE]=0; // Reverse gear is allowed only on 6th gear position if (_gear_ != gear ){ gear = _gear_; desactivar(); Joystick.setButton(gear-1, HIGH); } delay(50); } void desactivar(){ // Depress virtual button for current gear for(int i = 0; i <= 10 ; i++ ) Joystick.setButton(i, LOW); } оси Скрытый текст #include <Joystick.h> Joystick_ Joystick; int zAxis_ = 0; int RyAxis_ = 0; const bool initAutoSendState = true; void setup() { Joystick.begin(); } void loop(){ zAxis_ = analogRead(A0); zAxis_ = map(zAxis_,0,1023,0,255); Joystick.setZAxis(zAxis_); RyAxis_ = analogRead(A2); RyAxis_ = map(RyAxis_,0,1023,0,255); Joystick.setRyAxis(RyAxis_); delay (50); } //AMSTUDIO Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Joystick.h Скрытый текст #ifndef JOYSTICK_h #define JOYSTICK_h #include <DynamicHID/DynamicHID.h> #if ARDUINO < 10606 #error The Joystick library requires Arduino IDE 1.6.6 or greater. Please update your IDE. #endif // ARDUINO < 10606 #if ARDUINO > 10606 #if !defined(USBCON) #error The Joystick library can only be used with a USB MCU (e.g. Arduino Leonardo, Arduino Micro, etc.). #endif // !defined(USBCON) #endif // ARDUINO > 10606 #if !defined(_USING_DYNAMIC_HID) #warning "Using legacy HID core (non pluggable)" #else // !defined(_USING_DYNAMIC_HID) //================================================================================ // Joystick (Gamepad) #define JOYSTICK_DEFAULT_REPORT_ID 0x03 #define JOYSTICK_DEFAULT_BUTTON_COUNT 32 #define JOYSTICK_DEFAULT_AXIS_MINIMUM 0 #define JOYSTICK_DEFAULT_AXIS_MAXIMUM 1023 #define JOYSTICK_DEFAULT_SIMULATOR_MINIMUM 0 #define JOYSTICK_DEFAULT_SIMULATOR_MAXIMUM 1023 #define JOYSTICK_DEFAULT_HATSWITCH_COUNT 2 #define JOYSTICK_HATSWITCH_COUNT_MAXIMUM 2 #define JOYSTICK_HATSWITCH_RELEASE -1 #define JOYSTICK_TYPE_JOYSTICK 0x04 #define JOYSTICK_TYPE_GAMEPAD 0x05 #define JOYSTICK_TYPE_MULTI_AXIS 0x08 class Joystick_ { private: // Joystick State int16_t _xAxis; int16_t _yAxis; int16_t _zAxis; int16_t _xAxisRotation; int16_t _yAxisRotation; int16_t _zAxisRotation; int16_t _throttle; int16_t _rudder; int16_t _accelerator; int16_t _brake; int16_t _steering; int16_t _hatSwitchValues[JOYSTICK_HATSWITCH_COUNT_MAXIMUM]; uint8_t *_buttonValues = NULL; // Joystick Settings bool _autoSendState; uint8_t _buttonCount; uint8_t _buttonValuesArraySize = 0; uint8_t _hatSwitchCount; uint8_t _includeAxisFlags; uint8_t _includeSimulatorFlags; int16_t _xAxisMinimum = JOYSTICK_DEFAULT_AXIS_MINIMUM; int16_t _xAxisMaximum = JOYSTICK_DEFAULT_AXIS_MAXIMUM; int16_t _yAxisMinimum = JOYSTICK_DEFAULT_AXIS_MINIMUM; int16_t _yAxisMaximum = JOYSTICK_DEFAULT_AXIS_MAXIMUM; int16_t _zAxisMinimum = JOYSTICK_DEFAULT_AXIS_MINIMUM; int16_t _zAxisMaximum = JOYSTICK_DEFAULT_AXIS_MAXIMUM; int16_t _rxAxisMinimum = JOYSTICK_DEFAULT_AXIS_MINIMUM; int16_t _rxAxisMaximum = JOYSTICK_DEFAULT_AXIS_MAXIMUM; int16_t _ryAxisMinimum = JOYSTICK_DEFAULT_AXIS_MINIMUM; int16_t _ryAxisMaximum = JOYSTICK_DEFAULT_AXIS_MAXIMUM; int16_t _rzAxisMinimum = JOYSTICK_DEFAULT_AXIS_MINIMUM; int16_t _rzAxisMaximum = JOYSTICK_DEFAULT_AXIS_MAXIMUM; int16_t _rudderMinimum = JOYSTICK_DEFAULT_SIMULATOR_MINIMUM; int16_t _rudderMaximum = JOYSTICK_DEFAULT_SIMULATOR_MAXIMUM; int16_t _throttleMinimum = JOYSTICK_DEFAULT_SIMULATOR_MINIMUM; int16_t _throttleMaximum = JOYSTICK_DEFAULT_SIMULATOR_MAXIMUM; int16_t _acceleratorMinimum = JOYSTICK_DEFAULT_SIMULATOR_MINIMUM; int16_t _acceleratorMaximum = JOYSTICK_DEFAULT_SIMULATOR_MAXIMUM; int16_t _brakeMinimum = JOYSTICK_DEFAULT_SIMULATOR_MINIMUM; int16_t _brakeMaximum = JOYSTICK_DEFAULT_SIMULATOR_MAXIMUM; int16_t _steeringMinimum = JOYSTICK_DEFAULT_SIMULATOR_MINIMUM; int16_t _steeringMaximum = JOYSTICK_DEFAULT_SIMULATOR_MAXIMUM; uint8_t _hidReportId; uint8_t _hidReportSize; protected: int buildAndSet16BitValue(bool includeValue, int16_t value, int16_t valueMinimum, int16_t valueMaximum, int16_t actualMinimum, int16_t actualMaximum, uint8_t dataLocation[]); int buildAndSetAxisValue(bool includeAxis, int16_t axisValue, int16_t axisMinimum, int16_t axisMaximum, uint8_t dataLocation[]); int buildAndSetSimulationValue(bool includeValue, int16_t value, int16_t valueMinimum, int16_t valueMaximum, uint8_t dataLocation[]); public: Joystick_( uint8_t hidReportId = JOYSTICK_DEFAULT_REPORT_ID, uint8_t joystickType = JOYSTICK_TYPE_JOYSTICK, uint8_t buttonCount = JOYSTICK_DEFAULT_BUTTON_COUNT, uint8_t hatSwitchCount = JOYSTICK_DEFAULT_HATSWITCH_COUNT, bool includeXAxis = true, bool includeYAxis = true, bool includeZAxis = true, bool includeRxAxis = true, bool includeRyAxis = true, bool includeRzAxis = true, bool includeRudder = true, bool includeThrottle = true, bool includeAccelerator = true, bool includeBrake = true, bool includeSteering = true); void begin(bool initAutoSendState = true); void end(); // Set Range Functions inline void setXAxisRange(int16_t minimum, int16_t maximum) { _xAxisMinimum = minimum; _xAxisMaximum = maximum; } inline void setYAxisRange(int16_t minimum, int16_t maximum) { _yAxisMinimum = minimum; _yAxisMaximum = maximum; } inline void setZAxisRange(int16_t minimum, int16_t maximum) { _zAxisMinimum = minimum; _zAxisMaximum = maximum; } inline void setRxAxisRange(int16_t minimum, int16_t maximum) { _rxAxisMinimum = minimum; _rxAxisMaximum = maximum; } inline void setRyAxisRange(int16_t minimum, int16_t maximum) { _ryAxisMinimum = minimum; _ryAxisMaximum = maximum; } inline void setRzAxisRange(int16_t minimum, int16_t maximum) { _rzAxisMinimum = minimum; _rzAxisMaximum = maximum; } inline void setRudderRange(int16_t minimum, int16_t maximum) { _rudderMinimum = minimum; _rudderMaximum = maximum; } inline void setThrottleRange(int16_t minimum, int16_t maximum) { _throttleMinimum = minimum; _throttleMaximum = maximum; } inline void setAcceleratorRange(int16_t minimum, int16_t maximum) { _acceleratorMinimum = minimum; _acceleratorMaximum = maximum; } inline void setBrakeRange(int16_t minimum, int16_t maximum) { _brakeMinimum = minimum; _brakeMaximum = maximum; } inline void setSteeringRange(int16_t minimum, int16_t maximum) { _steeringMinimum = minimum; _steeringMaximum = maximum; } // Set Axis Values void setXAxis(int16_t value); void setYAxis(int16_t value); void setZAxis(int16_t value); void setRxAxis(int16_t value); void setRyAxis(int16_t value); void setRzAxis(int16_t value); // Set Simuation Values void setRudder(int16_t value); void setThrottle(int16_t value); void setAccelerator(int16_t value); void setBrake(int16_t value); void setSteering(int16_t value); void setButton(uint8_t button, uint8_t value); void pressButton(uint8_t button); void releaseButton(uint8_t button); void setHatSwitch(int8_t hatSwitch, int16_t value); void sendState(); }; #endif // !defined(_USING_DYNAMIC_HID) #endif // JOYSTICK_h
Alex_Oz Опубликовано: 29 сентября 2019 Опубликовано: 29 сентября 2019 (изменено) 45 минут назад, CrankSer сказал: MambaVint_MCG_Pro_v1_97_A.vkb как то не нашел на сайте ? Есть такое дело, точней нет) Скрытый текст В будущем добавлю в пакет, сейчас здесь ? ( для MCG PRO) _MambaVint_v1_97_A.zip Изменено 29 сентября 2019 пользователем Alex_Oz 1 1
CrankSer Опубликовано: 29 сентября 2019 Опубликовано: 29 сентября 2019 11 минут назад, Alex_Oz сказал: Есть такое дело, точней нет) Приятно быть обладателем эксклюзивного товара ?
Alex_Oz Опубликовано: 13 октября 2019 Опубликовано: 13 октября 2019 (изменено) VKBDevCfg-C_v0.90.77 / v1_98_4 NG Настройка Anti-DZ находится в логических осях, там же и считается. Задаётся в пределах ±12,5%. Может пригодиться для компенсации мёртвых зон, вшитых в игру. Параметр FA3 Value переехал в виртуальные оси - проверьте настройки если он использовался ранее ( был в логических осях). Изменено 13 октября 2019 пользователем Alex_Oz 2 3
night_fighter Опубликовано: 21 октября 2019 Опубликовано: 21 октября 2019 Использую жирную мамбу с MCG. Прошивка 1.97 С. Настроил триммирование осей на энкодеры, но не получается поменять направление триммирования. При изменении значения поля Trimmer c Trimm + на Trimm - направление не меняется. Сижу и думаю - гранаты не той системы или я кидать не умею?)) Закинул сюда профиль на всякий случай https://yadi.sk/d/RN67Bjhxp54oPw
Zorik79 Опубликовано: 22 октября 2019 Опубликовано: 22 октября 2019 19 часов назад, night_fighter сказал: Использую жирную мамбу с MCG. Прошивка 1.97 С. Настроил триммирование осей на энкодеры, но не получается поменять направление триммирования. При изменении значения поля Trimmer c Trimm + на Trimm - направление не меняется. Сижу и думаю - гранаты не той системы или я кидать не умею?)) Закинул сюда профиль на всякий случай https://yadi.sk/d/RN67Bjhxp54oPw на всякий случай попробуй на другой версии прошивки.
FrAG_archer Опубликовано: 23 октября 2019 Опубликовано: 23 октября 2019 Новый, черный Blackbox, смотрю, появился на Али. А что там в нём нового?
VictorUs Опубликовано: 23 октября 2019 Автор Опубликовано: 23 октября 2019 21.10.2019 в 18:28, night_fighter сказал: При изменении значения поля Trimmer c Trimm + на Trimm - направление не меняется. Таки да(( Вчера проверил. Положение спасает инвертирование виртуальной оси в логических. R или In. Будем ждать помощи от создателя. 1
Alex_Oz Опубликовано: 24 октября 2019 Опубликовано: 24 октября 2019 21.10.2019 в 21:28, night_fighter сказал: Использую жирную мамбу с MCG. Прошивка 1.97 С. Настроил триммирование осей на энкодеры, но не получается поменять направление триммирования. При изменении значения поля Trimmer c Trimm + на Trimm - направление не меняется Поправил (v1.97.D) 2
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас