Arduino IDE и многофайловый проект

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Ответить
VladPTZ
Сообщения: 397
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 96 раз
Поблагодарили: 57 раз

Arduino IDE и многофайловый проект

Сообщение VladPTZ » Пт сен 30, 2016 10:17 pm

Хочу код разделить на несколько файлом т.к куски кода для некоторых моих девайсов общие.
Как в Arduino IDE сделать много файловый проект?

Смотрел код AMS датчиков где как я понял файлы ino добавлены через скетч->добавить файл....
Но у меня мой код не собрался так как не увидел при сборки структуру с другого файла.

Создать библиотеку? Но на полноценную библиотеку код не тянет так как возможны изменения под конкретное устройство.
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino IDE и многофайловый проект

Сообщение serghei » Пт сен 30, 2016 10:46 pm

Я не совсем понял, что Вы хотите сделать, но у меня похоже такая же задача. Простейший код обслуживает прерывание на сенсоре. Чтобы его вставить в проект , надо разбить на две части - сетап
в первую вкладку , луп то же , а основную часть отдельно в своей вкладке. Тогда этот код прерываний я могу вставить в любой многофайловый проект на любой платформе АМС.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
VladPTZ
Сообщения: 397
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 96 раз
Поблагодарили: 57 раз

Re: Arduino IDE и многофайловый проект

Сообщение VladPTZ » Пт сен 30, 2016 11:05 pm

serghei писал(а):Я не совсем понял, что Вы хотите сделать.
Попробую объяснить.
Написал я код wifi выключателя, потом на основе его написал код ИК приемника команд с пульта ду. Много частей кода общего например работа с конфигурации сохранений в eeprom вэб интерфейс настройки сети.
Но этот одинаковый код со временем может модернизироваться и его придется менять в каждом проекте, а если я его разделю то только в одном общем.
Еще можно использовать условную компиляцию чтобы из общего кода получить прошивку для каждого девайса.
Короче для начала хочу разделить код для удобства чтения и работы.
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino IDE и многофайловый проект

Сообщение serghei » Пт сен 30, 2016 11:21 pm

В любом случае разделите код на сетап , луп ( это общее везде ). А основной код модернизируйте как хотите , только первоисточник сохраните отдельно и каждый проект тоже. Тогда в любом виде его можно использовать где угодно. Пример приведу чуть позже.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino IDE и многофайловый проект

Сообщение ser009 » Сб ноя 26, 2016 4:24 am

VladPTZ писал(а):Хочу код разделить на несколько файлом т.к куски кода для некоторых моих девайсов общие.
Как в Arduino IDE сделать много файловый проект?

Смотрел код AMS датчиков где как я понял файлы ino добавлены через скетч->добавить файл....
Но у меня мой код не собрался так как не увидел при сборки структуру с другого файла.

Создать библиотеку? Но на полноценную библиотеку код не тянет так как возможны изменения под конкретное устройство.
1. Создаете (или открываете готовый) скетч

2. Нажимаете комбинацию кнопок CTRL+Shift+N (или мышкой правее вкладки на выпадающий список - "Новая закладка")

3. Вводите имя "дополнительного" файла (только имя, расширение файла среда сама подставит). И нажимаете "ОК".

Все. Проект разнесен на несколько файлов. Переключение между ними с помощью закладок в среде. В компляции участвуют все.
За это сообщение автора ser009 поблагодарил:
max506 (Чт дек 29, 2016 12:36 pm)
Рейтинг: 1.16%
Ответить