Как работать в Arduino IDE с двумя контроллероми одновременно?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Пытаюсь отладить взаимодействие двух Arduino между собой.

Для каждого открыл свою сессию IDE со своим скетчем.

Пытаюсь сконфигурировать один на COM3, другой - на COM4. Но при изменении номера ком-порта в одной сессии синхронно меняется ком-порт в другой.

Как добиться, чтобы в каждой сессии IDE ком-порт устанавливался индивидуально. Т.е. как настроить один скетч на работу с COM3, а другой - с COM4?

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Я использую несколько IDE из разных каталогов. Вообще - 1.6.0 и 1.6.2, но думаю пойдут и одной версии.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Может это поможет, сам не пробовал. Версия от 1.5.0 и выше.

https://github.com/arduino/Arduino/blob/ide-1.5.x/build/shared/manpage.adoc

Собственно - попробовать использовать параметры при запуске среды ArduinoIDE.

Без этого одна и таже Arduino.exe использует один и тот же preferences.txt, что приводит к описанному в первом сообщении эффекту.

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Спасибо, Gippopotam. Одна и та же версия работает (1.6.5).

Правда, копировать пришлось полностью все содержимое папки, включая даже примеры. Кривое решение. Но, хорошо, есть хоть такое.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

kisoft пишет:

Может это поможет, сам не пробовал. Версия от 1.5.0 и выше.

https://github.com/arduino/Arduino/blob/ide-1.5.x/build/shared/manpage.adoc

Собственно - попробовать использовать параметры при запуске среды ArduinoIDE.

Без этого одна и таже Arduino.exe использует один и тот же preferences.txt, что приводит к описанному в первом сообщении эффекту.

Спасибо.

По логике, если предусмотрели синхронное изменение ком-порта во всех открытых IDE, то параметр --port привести к нужному результату не сможет - если у вротой сессии явно указать порт, то он сменится и у первой сессии. Если же порт указать в первой сессии, то у второй он установится таким же, а при попытке смены изменен будет и в первой. Вероятно, сможет помочь --preferences, но что-то экспериментировать после того, как добился работоспособности другими средствами, желания пока нет.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

andriano пишет:

kisoft пишет:

Может это поможет, сам не пробовал. Версия от 1.5.0 и выше.

https://github.com/arduino/Arduino/blob/ide-1.5.x/build/shared/manpage.adoc

Собственно - попробовать использовать параметры при запуске среды ArduinoIDE.

Без этого одна и таже Arduino.exe использует один и тот же preferences.txt, что приводит к описанному в первом сообщении эффекту.

Спасибо.

По логике, если предусмотрели синхронное изменение ком-порта во всех открытых IDE, то параметр --port привести к нужному результату не сможет - если у вротой сессии явно указать порт, то он сменится и у первой сессии. Если же порт указать в первой сессии, то у второй он установится таким же, а при попытке смены изменен будет и в первой. Вероятно, сможет помочь --preferences, но что-то экспериментировать после того, как добился работоспособности другими средствами, желания пока нет.

По-логике, нужно каждой при старте указать свой порт и всё. Но проверять у меня тоже нет желания и времени.

А на счет --preferences-file должно бы помочь (каждой среде свой файл настроек и никаких коллизий):

--preferences-file filename

Read and store preferences from the specified filename instead of the default one.

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

kisoft пишет:

А на счет --preferences-file должно бы помочь (каждой среде свой файл настроек и никаких коллизий):

Проверил, работает.

Одну копию среды запускаем стандартно, а для запуска второй создаем ярлык, изменяем его свойства, указав в строке запуска D:\arduino-1.6.5-r2\arduino.exe --preferences-file preferences1.txt, предварительно скопировав файл c:\Users\Имя_учетной_записи\AppData\Roaming\Arduino15\preferences.txt в каталог среды, переименовав его в preferences1.txt. Все изменения настроек сделанные во второй копии сохранятся.

toc
Offline
Зарегистрирован: 09.02.2013

andriano, просто запустите arduino.exe два раза. У меня так работает. Версия 1.0.х на win7.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

toc пишет:
andriano, просто запустите arduino.exe два раза. У меня так работает. Версия 1.0.х на win7.

из одной папки так не работает.

toc
Offline
Зарегистрирован: 09.02.2013

Когда-то работало. пруф, картинки: http://arduino.ru/forum/proekty/sdelal-obnovlenie-programmy-v-mk-cherez-...

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

toc пишет:
Когда-то работало. пруф, картинки: http://arduino.ru/forum/proekty/sdelal-obnovlenie-programmy-v-mk-cherez-radiosvyaz-na-nrf24l01-bitlesh

Первое сообщение в теме читали?

toc
Offline
Зарегистрирован: 09.02.2013

Всё читал. У меня работает именно то, что нужно andriano. К компьютеру подключены две платы Arduino, запущены две штуки Arduino IDE, каждая работает со своей платой и со своим ком-портом. Если у кого-то не работает, не спорю.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

ок. убедительно.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Убедительно, пока не посмотришь на номер версии на скриншоте. Если уж экспериментировать, нужно брать одну и ту же версию и ставить её ра.. тьфу, в разные условия и проверять. А так очень многое изменилось с версии 1.0.1 до 1.6.5. можно сказать прошла целая вечность.

 

toc
Offline
Зарегистрирован: 09.02.2013

Вот, 1.0.6 не шибко старая. Мой метод работает.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Ок, начиная с версии 1.5.x изменилась логика, среда теперь обновляет данные с номером порта при входе в меню, где можно выбрать порт. Потому, 1.0.1 и 1.0.6 - по барабану, это меньше 1.5.x. Ладно, если никто не видит разницы, мне пофиг, мне это всё не нужно, кому нужно, проверит и подтвердит или опровергнет.

 

toc
Offline
Зарегистрирован: 09.02.2013

Версия 1.6.5-r2 - самая свежая для ос windows. Два раза запустил arduino.exe из одной папки, соединил с разными платами nano. Всё работает одновременно, в том числе монитор порта и команда "вгрузить". 

trembo
trembo аватар
Онлайн
Зарегистрирован: 08.04.2011

А мы тут голову ломаем....   1.7.6 тоже работает с двумя разными портами, по крайней мере даёт их независимо менять

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Вот тебе бабушка и Юрьев день..
Ну тогда осталось понять в какой ОС это все проверялось

toc
Offline
Зарегистрирован: 09.02.2013

kisoft, windows 7 домашняя базовая 64 бит, сервис пак 1.
Ардуино ide не устанавливаю (зачем?), скачиваю с arduino.cc по ссылке "zip file for non admin install", распаковываю, запускаю.
Основной юзер в ос без админских прав, конечно.
Если открывать второе оно ide с помощь его же меню File, получится как у вас. Чтобы получилось как у меня нужно именно два раза запустить экзешник.

Чечако
Offline
Зарегистрирован: 15.06.2018

Подниму тему - на IDE 1.8.5 я без проблем редактировал одновременно два скетча для двух разных плат, причем шил тоже без проблем обе - одно окно помнило, что оно Mega и COM4, второе что ProMini и COM5.

Перешел на 1.8.8 со сносом старой и установкой новой версии. И халява закончилась.

Сейчас если я в одном окне меняю тип платы или COM порт - во втором он синхронно меняется. 

Кто-нит знает, как решить без создания полной второй копии программы? В 1.8.5-то все само корректно работало. :(

Есть важно - Win 7-64. Заранее спасибо!

P.S. Я просто отлаживаю приемник с передатчиком, одновременно оно удобнее. А так приходится постоянно переключать параметры.

 

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Чечако, arduino [--verify|--upload] [--board package:arch:board[:parameters]] [--port portname] [--pref name=value] [-v|--verbose] [--preserve-temp-files] [FILE.ino]

https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc

https://stackoverflow.com/questions/4196267/can-someone-tell-me-how-to-r...

Чечако
Offline
Зарегистрирован: 15.06.2018

Voodoo Doll пишет:

Чечако, arduino [--verify|--upload] [--board package:arch:board[:parameters]] [--port portname] [--pref name=value] [-v|--verbose] [--preserve-temp-files] [FILE.ino]

https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc

https://stackoverflow.com/questions/4196267/can-someone-tell-me-how-to-r...

Как вариант, но на 1.8.5-то почему работало без костылей? :) 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

А я честно установил две копии IDE. 

И даже раскрасил их по-разному - чтобы не путаться при отладке, где какая.

Чечако
Offline
Зарегистрирован: 15.06.2018

andriano пишет:

А я честно установил две копии IDE. 

И даже раскрасил их по-разному - чтобы не путаться при отладке, где какая.

Установили с инсталлятора, или просто разархивировали в две разные папки?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Лучше скачать в архиве без инсталлятора и разархивировать в разные папки, после чего сделать из них портабельные версии.

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

Jeka_M пишет:

Лучше скачать в архиве без инсталлятора и разархивировать в разные папки, после чего сделать из них портабельные версии.
Десятки проектов с разными настройкам, для каждого свою копию ide, пичалька...
Пользуюсь только одной копией ide, как правило этого достаточно.
Среда разработки eclipse, так уж исторически сложилось, прикипел с годами, кода всякого навалом.
Все настройки в эклипсе, ардуину-иде запускаю только чтоб настойки подсмотреть для конкретного проекта.

П.С. В эклипсе плагин ардуино НЕ использую, собираю/загружаю только мэйком.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Что то мне подсказывает, что platformIO можно открыть два разных проекта и указать им разные камни/порты. Не пробовал, но, думаю, прокатит. К тому же он более интересен. Хотя он достаточно нудный, как по мне. Но, jedem das Seine