Сражение комбинаторного взрыва

JCW
Чт 29 октября 2015 г. 15:13
Количество платы / чип / скорость / размер памяти / Присутствие USB + включить комбинации смещения вывода / памяти быстро растут. Приводя к достаточным количеству дублирования кода во всех подразделениях «вариантов».

Может быть, можно упростить это?

Возможно, следующим образом: добавьте тип платы под названием «Custom», который, скажем, «BoardInfo.TXT «Файл в папке Sketch, а затем генерирует различные настройки, включите файлы даже перед вызовом инструментов и загрузки инструментов. Это может затем охватить все общие платы F0/F1/F3/F4/F7 там, сейчас и в будущем. Такая дополнительная плата за Проект.Файл TXT - это в основном способ «внедрить» настройки конфигурации и определения кода/линкера в задачи, запускаемые из IDE.

Такое поколение файлов на лете должна будет работать на Windows, Mac OSX и Linux, но, вероятно, есть несколько подходящих оболочек или инструментов сценариев, которые можно выбрать из.

Я не думал об этом, но я готов внести свой вклад и реализовать/тестировать вещи, по крайней мере, для Mac OSX.
Просто начните идею здесь, чтобы увидеть, насколько полезно & жизнеспособное это было бы.

Рик Кимбалл
Чт 29 октября 2015 г., 17:47
Я не думаю, что мы должны поощрять более широкое разнообразие досок. Я думаю, что Arduino преуспел (а также Apple), ограничивая выбор и получая больший объем приложений, которые, как известно, работают, не заинтересовавшись вокруг тестирования бесконечного числа платформ.

.. Мои 2 цента.

-рик

Mrburnette
Чт 29 октября 2015 г., 17:52
JCW написал:
<...>
Возможно, следующим образом: добавьте тип платы под названием «Custom», который, скажем, «BoardInfo.TXT «Файл в папке Sketch, а затем генерирует различные настройки, включите файлы даже перед вызовом инструментов и загрузки инструментов. Это может затем охватить все общие платы F0/F1/F3/F4/F7 там, сейчас и в будущем. Такая дополнительная плата за Проект.Файл TXT - это в основном способ «внедрить» настройки конфигурации и определения кода/линкера в задачи, запускаемые из IDE.

Такое поколение файлов на лете должна будет работать на Windows, Mac OSX и Linux, но, вероятно, есть несколько подходящих оболочек или инструментов сценариев, которые можно выбрать из.
<...>

Rogerclark
Чт 29 октября 2015 г., 8:09 вечера
@JCW

Да. Я тоже это заметил.

Я подумал, будет ли менеджер досок решением.
(или эквивалентно с использованием Zip Download из ядер)

я.e Разделил каждую серию на отдельную доску, e.глин. F1T, F1C. и т. д

Меню «Мои доски» теперь невероятно загромождено, так как у меня есть AVR, SAM, STM32, ESP8266, а теперь NRF51822


Проблема на данный момент заключается в том, что если я разделяю на отдельные репозиции GIT и пытаюсь использовать подмодули GIT, загрузка ZIP с GitHub не заполняет подмодули :-(

Однако решение состоит в том, чтобы написать скрипсы и использовать механизм выпусков GitHub

Но, как всегда, у меня не было времени, чтобы исследовать этот вариант

КСТАТИ. У меня также есть учетная запись GitHub STM32DUIN на)

Rogerclark
Чт 29 октября 2015 г., 8:18 вечера
КСТАТИ.

Это также проблема с загрузчиком.

Количество целей Make становится глупым.

Я подумал о попытке скомпилировать загрузчик онлайн. Я думаю, что мой личный хостинг (где проживает этот сайт) находится на хостгаторе, и у меня есть доступ SSH Telnet, и я думаю, что раньше я мог запустить CGI Binary I.E, который может быть компилятором Arm.

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

... Как вы можете сказать, я много думаю об этом, мне просто нужна армия миньонов, чтобы выполнить мои безумные планы ;-)

JCW
Чт 29 октября 2015 г., 21:17
Другим способом упростить структуру меню может быть одна запись для F103 (или, возможно, один для среднего, высокого и XL каждый), а затем поместить все комбинации пакета и размера памяти в меню вариантов.

Или F1, F3, записи меню платы F4 и, возможно, один клен, один нуклео и т. Д. Для основных продуктов.

Это действительно зависит от того, где вы хотите это взять.

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

Mrburnette
Чт 29 октября 2015 г., 21:27
Rogerclark написал:<....>
... Как вы можете сказать, я много думаю об этом, мне просто нужна армия миньонов, чтобы выполнить мои безумные планы ;-)

Rogerclark
Пт 30 октября 2015 г. 12:51
Спасибо, Рэй....

:ржу не могу: :ржу не могу: :ржу не могу:

Я знал, что это произойдет, как только я нажал на отправку ;-)

Sheepdoll
Пт 30 октября 2015 г., 2:11
Я думаю, что я ответил на эту ветку в том, что о Чибиос Хэл.

Для резюме я использую GIT для создания ветви для каждого варианта, который CubeMX устанавливает и генерирует код HAL. Включив филиал для ядра, который в настоящее время используется, переключитесь на эту ветвь. Таким образом, приложение Arduino видит только несколько ядер, которые полезны, а не весь мир. Это, однако, влечет за собой наличие открытых и спрятанных ветвей, которые не всегда выдвигаются обратно в корень. С другой стороны, GIT предназначен для нескольких художников, работающих одновременно в разных частях большого проекта.
Cubemx также, кажется, спроектирован таким образом, чтобы работать таким образом. Когда *.МОК зарегистрирован в GIT, есть полная история пересмотра. Если кто -то добавляет пользователь или код клея в комментарии в HAL .C Project, когда куб восстанавливает код, существующий код пользователя остается нетронутым.
Это также похоже на магию. Включите вариант F0 и Arduino видит F0 только в меню. Перейти назад вверх по дереву и включите ветвь F4, и API видит F4 в меню. Это действительно похоже на магию и показывает истинную силу управления источником.

Rogerclark
Пт 30 октября 2015 г., 2:32
@sheepdoll

К сожалению, я думаю, что только небольшая часть пользователей ядра, используйте git.

Из того, что я прочитал, большинство людей просто скачают zip -файл

JCW
Пт 30 октября 2015 г. 8:25 утра
Включите вариант F0 и Arduino видит F0 только в меню. Вам нужно перезагрузить Arduino IDE между ними?

JCW
Пт 30 октября 2015 г. 8:54
Для резюме я использую GIT для создания ветви для каждого варианта, который CubeMX устанавливает и генерирует код HAL. Если это аудитория, на которой нацелен Arduino-STM32, то отлично. Звучит как гибкая и мощная установка.

Sheepdoll
Пт 30 октября 2015 г., 17:45
JCW написал:Включите вариант F0 и Arduino видит F0 только в меню. Вам нужно перезагрузить Arduino IDE между ними?

JCW
Пт 30 октября 2015 г., 18:26
Да, жаль.

Я немного больше думал о вашем подходе GIT-ranch, я немного использую приложение «Github for Mac», что очень легко вытаскивает код с этого сайта, а также для переключения ветвей, зарегистрироваться в изменениях, и даже отправить запросы на привлечение. Есть также приложение "GitHub for Windows". На Linux я предполагаю, что все будут знакомы с командной строкой, так что нет проблем.

https: // настольный компьютер.GitHub.компонент

Может быть, есть не слишком комплексный способ описать процесс настройки для новичков. Преимущество заключается в том, что этот механизм существует сегодня, как только вы узнаете, как переключать ветви. Что -то вроде: загрузить/установить IDE, загрузить/установить GitHub, зарегистрировать репо в нужном месте, перезапустите IDE.

Я не знаю, как легко поддерживать целый набор филиалов. Что если вы хотите применить изменение, которое должно пройти через несколько или даже все, филиалы? Используйте два отдельных хранилища рядом друг с другом, возможно,? Один единственный маршрут с общими вещами и одна мультиплюсная с ссылками на общие вещи?

JCW
Пт 30 октября 2015 г., 19:02
Другая мысль - сочетание идей GIT и Chibios: как насчет того, чтобы управлять им всеми символическими ссылками?

Rogerclark
Пт 30 октября 2015 г., 20:24
Я не уверен, будут ли символические ссылки работать в Windows??

Mrburnette
Сб 31 октября 2015 г. 12:12
Rogerclark написал:Я не уверен, будут ли символические ссылки работать в Windows??