r2axz/bluepill-serial-monster

Добавить управление несколькими GPIO и чтение с входов АЦП

kgkruteh4 opened this issue · 5 comments

Если есть возможность просьба добавить возможность управление несколькими GPIO в режиме In/Out и чтение с нескольких входов АЦП.

r2axz commented

Здравствуйте,

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

К сожалению, пока я не вижу необходимости добавлять в проект требуемую вам функциональность. Да и до конца не понимаю что вам нужно, если честно.

Где-то в форумах читал сообщение от Вас, что вы хотели добавить аналогичный функционал.
Да, основное назначение конвертер USB2Serial. То, что я предлагаю добавить, это дополнение функционала еще до USB<->GPIO/ADC.

r2axz commented

У меня в планах есть добавление USB-Audio, как опция сборки. То есть, либо чистый USB2Serial (3UART), либо 2UART + USB Audio. Скорее всего вы читали именно это. Этот функционал мне нужен самому (да и многие знакомые радиолюбители просили добавить). Про добавление generic GPIO+ generic ADC я вряд ли писал.

Опять же, с USB-Audio все понятно: будет композитное устройство 2 CDC + USB Audio Class, в вашем feature request непонятно в каком формате вы хотите это иметь. То есть, со стороны bluepill GPIO/ADC, а со стороны USB что? CDC или что-то другое? Как это увязать с имеющимися портами? Делать меньше? Или добавлять еще CDC (или что-то другое для этого). Непонятно.

Был человек, который хотел сделать похожий функционал (GPIO+Virtual USB CDC+имеющийся шелл для управления GPIO), но дальше PoC дело не пошло. Какое-то время повисел недоделанный Pull Request, но потом пришлось его закрыть, поскольку человек бросил, а мне было неинтересно/ненужно (см. #45). У нас была договоренность, что если PR не ведет к деградации параметров USB2UART и соответсвует coding style проекта, то я могу рассмотреть его внедрение в основную ветку. Но до этого не дошло.

В-целом получается вот что:

  1. В настоящее время функционал вида GPIO+ADC лично мне не нужен. Мне хватает возможности работы с управляющими сигналами UART (их там довольно много), ADC (непонятно как настроенный, сферический в вакууме мне не требуется);
  2. Я пока не вижу большого спроса на подобный функционал от сообщества;
  3. Лично у меня самого нет задачи под него и как следствие нет понимания как его делать (спецификации, как делать с точки зрения продукта); От "дополнение функционала еще до USB<->GPIO/ADC" до полноценной спецификации довольно много работы; Развернутого описания того как именно вы это видите я так и не получил;
  4. Пока выглядит так, что у вас есть какая-то специфичная для вас задача (я так до конца и не понял какая именно), которая требует работать с GPIO и ADC;
  5. Проектом я занимаюсь в свободное время и в первую очередь делаю то, что интересно лично мне; При этом, я учитываю пожелания сообщества в тех случаях, когда они действительно массовые. Решение специфических задач отдельных пользователей не входит в круг моих интересов. Если вам нужно что-то кастомное, то это скорее формат коммерческой разработки, об этом можно разговаривать отдельно;
  6. Вы всегда можете форкнуть проект и самостоятельно изменить его под свои нужды. Если у вас возникнут вопросы по коду, то я с удовольствием на них отвечу. Если вы посчитаете нужным, то можно рассмотреть добавление такого кода в основную ветку проекта, но это отдельный разговор.

Резюмируя: в настоящий момент "GPIO+ADC" добавлять не планирую.

Спасибо за развернутый ответ.
Наверно Вы правы и мой запрос слишком специфичен.
И он не совсем вписывается в код устройства.
Запрос снимается.

r2axz commented

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