Перейти к публикации

Рекомендованные сообщения

Опубликовано:

Конфигуратор ВЕБ, безусловно, упрощает обновление, но при этом появляется головная боль с постоянной поддержкой ресурса. Когда в конце-концов это все надоест и сайт умрет, сообщество останется без конфигуратора.

Так что лучше, как сейчас. Но иметь либо заранее собранные модули и прошивать/конфигурировать только необходимое, либо вообще собирать на лету.

 

То есть во всем всегда есть и плюсы, и минусы.

Опубликовано:
2 часа назад, l3VGV сказал:

@WG_Magners Поизучал тут такой интересный вопрос как Position independent Code

 

Смысл в том, что можно собрать бинарник, который будет исполняться куда его не положи в памяти, хоть в ОЗУ, хоть во флеш. Главное перед тем как передават ему управление, настроить GOT, на нужные смещения для RAM и FLASH. Фактически, при некотором хакерстве, можно реализовать аналог динамической линковки. Тока самостоятельно, сначала получить от модуля список функций и их адреса, при каждом их вызове из основного кода настраивать индивидуальный GOT(который ясное дело должен жить в ОЗУ). Основной код компиляется и лункуется как обычно. Код основной программы который нужно вызывать из модулей, можно наверное прилинковать по абсолютным адресам, врятли нам актуально иметь бинарные модули переносимые между разными версиями основной программы.

 

Переписывать опятьже "всё", но зато вопрос нехватки места решится на корню. Ну и заодно можно встроить WebUSB и WebHID, чтобы перенести конфигуратор в веб.

Честно скажу, что скорее всего мне на это не хватит запала энтузиазма) 

Я сейчас проект вижу как уже реализованный и постепенно допиливающийся до какого-то стабильного состояния и наполненности, которое устроит большинство.

Если переходить на другую концепцию - то наверное это должен быть уже другой проект. А два одинаковых проекта от одних и тех же разрабов - ну фиг знает)

Короче вдохновения пока что на такие кардинальные изменения нет, по крайней мере у меня

  • Нравится 3
Опубликовано:
49 минут назад, WG_Magners сказал:

Короче вдохновения пока что на такие кардинальные изменения нет, по крайней мере у меня

 

Хорошо, WebHID и WebUSB - вычеркиваем!

 

По подгрузке, сделаю екзампл потом(как основное приложение + подгружаемый модуль). Как только вдохновение появится, между нас здесь - тоже сильная нехватка.

 

 

50 минут назад, WG_Magners сказал:

допиливающийся до какого-то стабильного состояния и наполненности, которое устроит большинство

 

Вот эта просьба, с энкодером и цифирками, показала насколько разные запросы могут быть. Нужно вторую волну сбора хотелок проводить. Теперь когда аудитория выросла в разы.

Опубликовано:

И этих хотелок навалится столько, что впору будет на модульную архитектуру перейти ?

@WG_Magnersрасскажи, как у вас происходит взаимодействие с @Reksotiv? Пока был жив конфигуратор на C#, у меня была тайная мысль попытать свои силы. Но вот С++ и Qt я вообще не шарю и не хочу разбираться. В кодировании STM на С я бы, наверное, чего-то смог... Мешает только обилие проектов как на работе, так в хобби :(

9 часов назад, l3VGV сказал:

Нет смысла себя ограничивать 8ю осями

Как-то я не вкурил сразу. А разве по стандарту hid только 8 осей? Это на контроллере 8 аналоговых портов, но есть же ещё шины расширения.

Опубликовано:
37 минут назад, 3BAG_Orion33 сказал:

И этих хотелок навалится столько, что впору будет на модульную архитектуру перейти ?

@WG_Magnersрасскажи, как у вас происходит взаимодействие с @Reksotiv? Пока был жив конфигуратор на C#, у меня была тайная мысль попытать свои силы. Но вот С++ и Qt я вообще не шарю и не хочу разбираться. В кодировании STM на С я бы, наверное, чего-то смог... Мешает только обилие проектов как на работе, так в хобби :(

Как-то я не вкурил сразу. А разве по стандарту hid только 8 осей? Это на контроллере 8 аналоговых портов, но есть же ещё шины расширения.

Мы с Reksotiv в дискорде обсуждаем какие баги выяснились и чего с ними делать. В целом сейчас с переходом на Qt появилось четкое разделение на конфигуратор и прошивку и понятная и простая система их соответствия друг другу.

 

У STM-ки аналоговых входов поболе, чем 8 :) 8 - это ограничение DirectInput

Опубликовано: (изменено)
53 минуты назад, 3BAG_Orion33 сказал:

Как-то я не вкурил сразу. А разве по стандарту hid только 8 осей? Это на контроллере 8 аналоговых портов, но есть же ещё шины расширения.

 

Стандарт HID делали упоротые наркоманы. (говорить голосом Маэстро)

 

Когда я объявляю кнопки то достаточно сказать что "Кнопок будет 20", или 100, или 256(максимум).

 

А вот оси, оси это целый мир(с).

 

Каждая ось имеет своё личное имя, и свой адрес приписки, вот если у нас не джойстик а тротл, то ось будет "Газ". А если всёже джойстик, то Х, У, и т.п.

 

0x09, 0x04,        // Usage (Joystick)

        0x09, 0x33,        //     Usage (Rx)
        0x09, 0x34,        //     Usage (Ry)
        0x09, 0x35,        //     Usage (Rz)

        0x09, 0x30,        //     Usage (X)
        0x09, 0x31,        //     Usage (Y)
        0x09, 0x32,        //     Usage (Z)


        0x09, 0x36,        //     Usage (Slider)
        0x09, 0x37,        //     Usage (Dial)

 

 

Чтобы было смешнее. Вот этот Dial, можно объявить сколько хочеш раз, пока память не кончится(максимум 64байта на пересылку). И винда и линупс это пропустят(я пробовал). 

 

 

Чад кутежа усугубляют - игры. Там никто не делает свой парсер HID сообщений, и я их понимаю. Обычно используется то что дает ДиректИнпут. А там... м... Там могет быть вообще что угодно, при некотором стечении обстоятельств, эта поделка контуженых энтузистов может вообще данными одного джойстика перетирать ввод другого или при нажатии кнопки дергать всеми осями. Писали всё это в тяжелые времена виндовс95-98, и  мозгов у пограмистов было на всю задачу(килобайты).

 

Так вот. В экзамплах динпута, есть кусок кода, который говорит, сколько максимум осей должно быть в структуре которую он сам сделает и куда будет класть результаты, ну догадайтесь? Конечно оттуда и растет это самое число. Никто не правил на большее, и по гадзилиону игр оно разъехалось за два с половиной десятилетия - чуть более чем полностью.

joystick->SetDataFormat(&c_dfDIJoystick)

c_dfDIJoystick - предопределенная структура, заполненная микрософтом

можно посмотреть тут https://doxygen.reactos.org/d1/d6e/data__formats_8c_source.html#l00028 с некоторых пор люблю смотреть именно там, повторение кишков винды там прямо подозрительно как хорошее. 

Глядя внутрь можно увидеть и имена осей, на что конечно тоже никто не обращает внимания. Ну могу я сделать дейвайс тротл, и даже ось газ.  И даже смесь и шаг винта. Но чо толку? Хорошо если крен тангаж на первом в списке устройства подхватится...

 

Осей можно и больше сунуть, и это не ограничение динпута.

 

Это

а) никому небыло до сих пор надо, потому что обычные девайсы и столько не имели

б) в игры копипастили куски кода которые микрософт давал в примерх, внутрь никто не смотрел, работает и ладно! тамже рядом описано как эту структуру набить на любое разумное количество осей

 

в) сейчас этим глупо заниматься - легаси огромного размера. Сделай джой у которого больше осей - старые игры его не увидят(в лучшем случае). А новых игр в которых джойстик главное действующее лицо, ну не так уж и много, и там кроме количества осей навалом задач.

 

 

 

 

Извините, набалело!

Изменено пользователем l3VGV
  • Нравится 2
  • Спасибо! 1
Опубликовано:

Так в итоге, сколько поддерживает fjoy?)

Из всего вышесказанного я понял, что если надо больше 8ми осей, то для обратной совместимости лучше разбить на два. Правильно?

Опубликовано:
16 часов назад, 3BAG_Orion33 сказал:

Так в итоге, сколько поддерживает fjoy?)

Из всего вышесказанного я понял, что если надо больше 8ми осей, то для обратной совместимости лучше разбить на два. Правильно?

 

фриджой 8. 

Разбивать на устройства надо.

Раз зашли вопросы про оси, помню @WG_Magners спрашивал а как сделать несколько устройств. А вот просто вот так. Сюдаже можно и мышу с клавой добавить.

 

Но я так делал когда надо было с одного физического устройства более 8ми осей. 

Скрытый текст

 

__ALIGN_BEGIN static uint8_t HID_MOUSE_ReportDesc[HID_JOYSTICK_REPORT_DESC_SIZE]  __ALIGN_END =
{

        //phisical axis
        0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
        0x09, 0x04,        // Usage (Joystick)
        0xA1, 0x01,        // Collection (Application)

        0x85, 0x01,        //     Report ID (1)

        //buttons
        0x05, 0x09,        //     Usage Page (Button)
        0x19, 0x01,        //     Usage Minimum (0x01)
        0x29, 0x08,        //     Usage Maximum (0x08)
        0x15, 0x00,        //     Logical Minimum (0)
        0x25, 0x01,        //     Logical Maximum (1)
        0x95, 0x08,        //     Report Count (8)
        0x75, 0x01,        //     Report Size (1)
        0x55, 0x00,
        0x65, 0x00,
        0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)

        0x05, 0x01,        //     Usage Page (Generic Desktop Ctrls)
        0x09, 0x01,
        0xA1, 0x00,        //   Collection (Physical)

 

        //axis

        0x09, 0x33,        //     Usage (Rx)
        0x09, 0x34,        //     Usage (Ry)
        0x09, 0x35,        //     Usage (Rz)

        0x09, 0x30,        //     Usage (X)
        0x09, 0x31,        //     Usage (Y)
        0x09, 0x32,        //     Usage (Z)


        0x09, 0x36,        //     Usage (Slider)
        0x09, 0x37,        //     Usage (Dial)

 

        0x16, 0x01, 0x80,  //     Logical Minimum (-32767)
        0x26, 0xFF, 0x7F,  //     Logical Maximum (32767)

        0x95, 0x08,        //     Report Count (8)
        0x75, 0x10,        //     Report Size (16)//0x10
        0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)

 

        //led & lcd
        0x85, 0x02,        //   Report ID (2)
        0x09, 0x01,        //   Usage (0x01)
        0x15, 0x00,        //              LOGICAL_MINIMUM (0)
        0x25, 0xFF,        //            LOGICAL_MAXIMUM (127)
        0x75, 0x08,        //   Report Size (8)
        0x95, 0x18,        //   Report Count (24)
        0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)


        0xC0,              // End Collection
        0xC0,              // End Collection


//
//
//
//        //second device
//                0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
//                0x09, 0x04,        // Usage (Joystick)
//                0xA1, 0x01,        // Collection (Application)
//
//                0x85, 0x03,        //     Report ID (3)
//                0x05, 0x09,        //     Usage Page (Button)
//                0x19, 0x01,        //     Usage Minimum (0x01)
//                0x29, 0x08,        //     Usage Maximum (0x08)
//                0x15, 0x00,        //     Logical Minimum (0)
//                0x25, 0x01,        //     Logical Maximum (1)
//                0x95, 0x08,        //     Report Count (8)
//                0x75, 0x01,        //     Report Size (1)
//                0x55, 0x00,
//                0x65, 0x00,
//                0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
//
//                0x05, 0x01,        //     Usage Page (Generic Desktop Ctrls)
//                0x09, 0x01,
//                0xA1, 0x00,        //   Collection (Physical)
//                0x09, 0x33,        //     Usage (Rx)
//                0x09, 0x34,        //     Usage (Ry)
//                0x09, 0x35,        //     Usage (Rz)
//
//                0x09, 0x30,        //     Usage (X)
//                0x09, 0x31,        //     Usage (Y)
//                0x09, 0x32,        //     Usage (Z)
//
//                0x09, 0x36,        //     Usage (Slider)
//                0x09, 0x37,        //     Usage (Dial)
//
//
//                0x16, 0x01, 0x80,  //     Logical Minimum (-32767)
//                0x26, 0xFF, 0x7F,  //     Logical Maximum (32767)
//
//                0x95, 0x08,        //     Report Count (3)
//                0x75, 0x10,        //     Report Size (16)
//                0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
//
//
//
//
//
//                0xC0,              //   End Collection
//                0xC0,              // End Collection
//
//

}; 

 

 

Опубликовано:
32 минуты назад, l3VGV сказал:

А вот просто вот так

Хоть бы под спойлер спрятал)
Да, можно бить двумя способами: либо вот так, через top level collection или же раскидать по разным конечным точкам, как сделано в текущей прошивке

Опубликовано:
10.03.2021 в 22:53, 3BAG_Orion33 сказал:

Поэтому попросил небольшую доработку в виде разделения на два логических Шима по половинке оси

А у тебя все оси задействованы или есть свободные?

Если есть, то можешь их задействовать как источники для ШИМа. Назначаешь для них те же источники сигнала, калибруешь с половины оси и снимаешь галку Output, чтоб комп эту ось не видел

Опубликовано: (изменено)
9 часов назад, WG_Magners сказал:

А у тебя все оси задействованы или есть свободные?

Хороший вопрос) я пока на стадии идейного проектирования, и теперь выяснилось, что мне надо два девайса - хорошо плату про запас заказал. Значит, лишние оси точно будут. Но, скорее всего, 4 лишних, чтобы по 2 половинки, не будет. На РУС, министик надо 4, еще есть рычажок тяги, который можно куда-то придумать, тормоз, например. И тогда останется только 3 оси...

Ограничение 8 осей физических или логических?

ШИМ генерируется с raw показаний или после сканирования/масштабирования? Можно ли кривыми осей настраивать кривую отклика ШИМ? Это было бы идеально для задания кривой загрузки.

13 часов назад, l3VGV сказал:

Сюдаже можно и мышу с клавой добавить.

Эмуляция клавиатуры средствами самого джойстика было бы очень здорово.

Изменено пользователем 3BAG_Orion33
Опубликовано:
18 часов назад, l3VGV сказал:

c_dfDIJoystick - предопределенная структура, заполненная микрософтом

А как с этим обстоят дела в  Линуксе, есть информация?,  или там тоже своя библиотека зашита?

Опубликовано:
1 час назад, Alator сказал:

А как с этим обстоят дела в  Линуксе, есть информация?,  или там тоже своя библиотека зашита?

 

В линуксе дела с динпутом как обстоят? Через WINE и протон. Там зашито ровно тожесамое как и в винде, обратно - для ради совместимости.

Опубликовано: (изменено)

Скиньте пожалуйста инструкцию по калибровке руля 

Нашел)

Изменено пользователем Alex3232
Опубликовано:
10 часов назад, 3BAG_Orion33 сказал:

Ограничение 8 осей физических или логических?

Сейчас - никаких больше 8 низя. Но принципиально ограничение только на оси которые в систему транслируется. То есть в теории можно логических осей больше, просто не все засовывать в USB

 

Опубликовано:
23 минуты назад, WG_Magners сказал:

Сейчас - никаких больше 8 низя

А какой смысл тогда в возможности подключения АЦП по i2c и spi?

 

Не хорошо, конечно, но не критично. Жаль, что кривую ШИМ нельзя настроить непосредственно, но идея через виртуальную ось кажется жизнеспособной. А если одну располовинить логикой, то тогда даже должно всего хватить :)

Опубликовано:
12 минут назад, 3BAG_Orion33 сказал:

А какой смысл тогда в возможности подключения АЦП по i2c и spi?

 

Внешние АЦП гораздо лучше по шумам и разрешению. Внешнее АЦП можно вынести от контроллера на разумные десятки сантиметров - метр. Крайне полезная фича.

Опубликовано: (изменено)
3 часа назад, Narval сказал:

Отличное видео

Вопрос как с обратной связью у авиасимов. У гонок часто даже аркады поддерживают логитечевский протокол ффб. А так конструкция очень простая повторить не проблема.

Изменено пользователем ZERgyt
Опубликовано:
13 минут назад, ZERgyt сказал:

Вопрос как с обратной связью у авиасимов.

Дык и там говорят, что у авиасимов по-разному.

+- ФФБ есть. :)

Опубликовано:

FreeJoy.rar

Вот мой конфиг. Подключил 3 резистора. Так вот работает только тот, что на оси Y, остальные нет. Z просто дергается, хотя вроде всё тоже самое. Как настроить?

Опубликовано:
1 минуту назад, Alex3232 сказал:

FreeJoy.rar 1 \u041a\u0431 · 0 скачиваний

Вот мой конфиг. Подключил 3 резистора. Так вот работает только тот, что на оси Y, остальные нет. Z просто дергается, хотя вроде всё тоже самое. Как настроить?

скрин скинь из конфигуратора

Опубликовано:
6 минут назад, =VCC=Ghash34 сказал:

скрин скинь из конфигуратора

Может у меня просто контакт плохой в пайке. z ось вообще дергается и ничего не происходит

 

Screenshot_7.thumb.png.327bb7a75a58a9588d44e6f4768bc723.pngScreenshot_6.thumb.png.2f9fba27158942168c6dde9a90d062a2.png

Опубликовано:
2 минуты назад, Alex3232 сказал:

Может у меня просто контакт плохой в пайке. z ось вообще дергается и ничего не происходит

 

Screenshot_7.thumb.png.327bb7a75a58a9588d44e6f4768bc723.pngScreenshot_6.thumb.png.2f9fba27158942168c6dde9a90d062a2.png

в конфигураторе выставлены 7 пинов аналогового сигнала ,все кроме а4. к каким пинам подключены выходы резисторов? Может просто в дискорде показать по быстрому  как что сделать что бы тут не вести переписку? 

Опубликовано:
13 минут назад, =VCC=Ghash34 сказал:

в конфигураторе выставлены 7 пинов аналогового сигнала ,все кроме а4. к каким пинам подключены выходы резисторов? Может просто в дискорде показать по быстрому  как что сделать что бы тут не вести переписку? 

Dangerous#3475

Опубликовано: (изменено)

А я вот подумал...
А может, все эти хорошести надо было реализовывать программно? Сделать виртуальный джойстик, на который подавать данные после обработки софта. А софтом по ЮСБ получать сырые данные с контроллера.

Тогда, по идее, никакого ограничения в объеме для паршивки не будет.
Или еще вариант: сделать совсем базовый режим стандартного джойстика без конфигуратора, если не нужен навороченный функционал, а второй режим - через виртуальный джойстик.

 

Кстати, а оптимизация при компиляции прошивки используется? Я, конечно, такой функционал не наворачивал, но в моих поделках обычно 8к хватало. На 900 байт сделал простейший таск-менеджер с планировкой задач...

Изменено пользователем 3BAG_Orion33
Опубликовано: (изменено)
10 минут назад, Alex3232 сказал:

Dangerous#3475

дал ссылку в личку на форуме

Изменено пользователем =VCC=Ghash34
Опубликовано: (изменено)

Нашел ссылку в русле обсуждения двух джойстиков на одном девайсе и генерации кнопок клавиатуры
https://github.com/pellepl/arcadehid

А тут конфигуратор подозрительно похож на FJoy :)
https://opensimhardware.wordpress.com/pedal-button-controller/

Изменено пользователем 3BAG_Orion33
Опубликовано: (изменено)
28 минут назад, 3BAG_Orion33 сказал:

А тут конфигуратор подозрительно похож на FJoy :)
https://opensimhardware.wordpress.com/pedal-button-controller/

Мне очень конфигуратор понравился понятной структурой. Я пол года упрашивал довести до ума прошивку ту (года 1.5 назад), вышел на него, по почте переписывались, потом просил довести до ума ее одного товарища с этого форума(если хочет сам скажет кто), в общем ни у кого времени не хватало, некоторые деньги не смогли мотивировать)), прошивка на тот момент была очень, очень сырой....и уже было нашел человека на стороне (вряд ли на стороне от полетов кто то сделал бы все что нужно), а ту бац, и Магнерсу оказывается тоже конфигуратор понравился, Магнерс конечно сделал хорошую, жирную  бомбу, спасибо помощникам за вики и новый конфигуратор.

 

 

Изменено пользователем =M=PiloT
  • Нравится 2
Опубликовано:
1 час назад, 3BAG_Orion33 сказал:

Mjoy уже китайцы делают)) https://aliexpress.ru/item/4001252476466.html

Чего медлим ? :)

Вперёд. :biggrin:

Скрытый текст

Данный проект позволяет подключить только ДВА датчика TLE5010/11.

Желающие могут обеспечить себе танцы с бубном.

Остаюсь приверженцем разработки проекта плат capitanblood.

Огромное ему спасибо за  это.

 

Опубликовано:
8 часов назад, 3BAG_Orion33 сказал:

тут конфигуратор подозрительно похож на FJoy :)

Никогда не скрывал, что за основу взял интерфейс отсюда, уж больно понравилось. И ссылочку на гитхабе в описании проекта оставил)

Под капотом вряд ли найдёте что-то общее)

  • Нравится 2
Опубликовано: (изменено)

Парни, проверьте пожалуйста схему!

Трехпозиционный тумблер ON-OFF-ON должен использоваться для переключения закрылков (ПК-МК-ВПК) все три положения должны подсвечиваться светодиодами. Положение OFF должно быть активным (в том смысле, что на него можно повесить кнопку).

Накидал схемку:

Key.jpg.54ebd0cb5d45a20c851263bc83baf070.jpg

Здесь

SW1 показан таким, какой нашел в библиотеке :) на самом деле у него есть промежуточное положение между 1 и 3 (земля висит в воздухе)

U7-D это ПК

U7-H это МК

U7-C это ВПК

 

Собрал на макетке, вроде все хорошо, работает, но синий светодиод на платке контроллера светится подозрительно тускло... :( меня терзают смутные сомнения...

гляньте пожалуйста, не накосячил ли я где?

Спасибо!

Изменено пользователем Milit
Опубликовано: (изменено)

Проверь номиналы резисторов R52, R53, R54 и померь напряжение питания при крайних положениях тумблера. В схеме я не вижу беды.

Изменено пользователем Zurabik
Опубликовано:
1 час назад, Milit сказал:

Парни, проверьте пожалуйста схему!

Да как бы можно двумя диодами решить эту задачу.

Опубликовано:

Там же инверсия нужна. если на регистр подавать не землю а плюс, то можно и диодами.

Опубликовано:

Третья (средняя) нога. Подключается диодами к крайним положениям. Т.о. физическая кнопка будет всегда нажата, если нажата одна из крайних кнопок. Далее в конфигураторе делаем ее инвертированной и вуаля. Она будет нажата, когда не нажата ни одна из крайних кнопок.

Только что, Zurabik сказал:

Там же инверсия нужна. если на регистр подавать не землю а плюс, то можно и диодами.

инверсия делается программно в конфигураторе.

Опубликовано:
15.03.2021 в 22:13, 3BAG_Orion33 сказал:

А я вот подумал...
А может, все эти хорошести надо было реализовывать программно? Сделать виртуальный джойстик, на который подавать данные после обработки софта. А софтом по ЮСБ получать сырые данные с контроллера.

Тогда, по идее, никакого ограничения в объеме для паршивки не будет.
...

6 лет назад предлагал мега_мозгу тоже самое для ммджоя... Назвал меня извращенцем)) :crazy:

Опубликовано:
33 минуты назад, Zurabik сказал:

Проверь номиналы резисторов R52, R53, R54 и померь напряжение питания при крайних положениях тумблера. В схеме я не вижу беды.

R52 = 15K, R53=R54=10K проверил еще раз.

3,3

На резюках 3,2 вольта.

Проверил ток между коллектором и U7-H в крайних положениях - 0,21 мА. Не многовато?

29 минут назад, Johnet сказал:

Третья (средняя) нога. Подключается диодами к крайним положениям. Т.о. физическая кнопка будет всегда нажата, если нажата одна из крайних кнопок. Далее в конфигураторе делаем ее инвертированной и вуаля. Она будет нажата, когда не нажата ни одна из крайних кнопок.

инверсия делается программно в конфигураторе.

Не догоню :dash: Если не трудно, можно рисуночек? 

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...