Не удается открыть источник файл arduino h
Пришлось перейти на Windows 10.
Процесс установки VSC + PlatformIO прошёл без проблем.
Единственная сложность появилась при установки драйвера CP210x. Не удавалось установить ни драйвер с сайта Espressif Systems, ни с сайта Silicon Laboratories. Поиск в гугле и яндексе не помог, всплывали старые, уже решённые проблемы. Драйвер в последствии установился сам, в виде очередного обновления операционной системы, просто оно считалось не важным, и установилось где-то только на второй день.
Andrey L
Member
Ещё одна маленькая заметка.
По умолчанию документация на сайте Espressif Systems и версия кода на сайте GitHub открывается для ESP-IDF 3.3 (на данный момент beta3).
А PlatformIO работает пока с ESP-IDF 3.2
Так что не забудьте переключить версию.
Alcest
Member
Случилось вот что. В ходе заливки в ESP32 чужой прошивки посредством VSC и PlatformIO, выяснилось, что необходимо "вручную" записать на spiffs папку data. Будто бы для того, чтобы отформатировать флешку, без чего скомплированный проект хоть и заливается в ESP, но не работает. Папка data есть в проекте. Но, как ее записать на флешку из PlatformIO, тут я совершенно ХЗ. В ардуинке вроде специальный пункт есть в меню для этих делов, а что делать с платформио, ума не приложу. Как же закинуть папку из проекта в SPIFFS?
Andrey L
Member
@Alcest Я пока файлы не загружал при помощи этой системы. Ищу готовый скрипт с веб-интерфейсом, чтобы его расширять можно было, а не писать с нуля.
Что же касается Вашего вопроса, попробуйте поместить дополнительные файлы корневую папку проекта. (При помощи обычного виндоувс-экплорера.) Эту систему разрабатывали не дураки, и они предусмотрели отдельную папку для кода, отдельную папку для библиотек и отдельную папку для "файлов-заголовков". Если нет отдельной папки для подгружения файлов, то скорее всего она не нужна.
Andrey L
Member
@Alcest
Ах, да. У PlatformIO есть свой форум. Если не получится, можно будет спросить там. Только форум англоязычный.
Andy Korg
Moderator
Про spiffs Там же есть про сборку папки в файловую систему - spiffsgen.py или mkspiffs .
После сборки залить в раздел предназначенный для spiffs, например
[inline]esptool.py --chip esp32 --port [port] --baud [baud] write_flash -z 0x110000 spiffs.bin[/inline]
Про разделы тут.
Alcest
Member
Нашел таки, методом тыка в интерфейс проги и втыканием в гугл
Выбираем мышью рабочий проект в менюшке VSC, затем давим на мордочку PlatformIO. На месте окошка управления проектами вылезет менеджер задач проекта "PROJECT TASKS". В нем давим на пункт "Upload File System Image" платформио зальет все из папки data текущего проекта в нужную область на флешку в ESP32. Если папка пустая, то отформатирует эту область на флешке.
Andrey L
Member
Ещё одно видео перехода от Arduino IDE.
Дополнительно в этом видео человек переключает язык VSC на русский. (Но расцветку не меняет.)
Так же он показывает как заливать файлы в память модуля.
В качестве примера он открывает свой большой код с файлами.
Alcest
Member
Увы, но русификатор русифицирует постольку-поскольку, только менюшку VSC. А цветовую схему проги я сменил сразу, белые знаки на черном фоне - глаза сломать.
Видос попадался на глаза, но смотреть не стал, уж больно Марселич частит. Мозг не успевает переваривать им сказанное, приходится постоянно перемоткой назад откатываться.
Alcest
Member
Чуть не забыл. После жмаканья на "Upload File System Image" кнопочку "Boot" на плате нажать не забываем, у тех у кого прошивки автоматом не льются во флеш.
Alcest
Member
Теперь о том, зачем и как скрещивать наработки потребительского сегмента занимательной электроники с циклом разработки коммерческого проекта. В этом цикле экосистема Arduino имеет одно весьма ценное свойство — скорость разработки.
Скорость — это отношение пройденного расстояния ко времени. Чем больше скорость, тем быстрее мы сделаем работу или тем большую работу мы сделаем за отведенное нам время и гипотетически заработаем больше денег в единицу времени.
- Сколько будет стоить?
- Когда будет готово?
Далее о том как использовать Arduino для своих корыстных целей, с блэкджеком и групповой разработкой, контролем версионности, документированием проекта и прочими чучелами-лебедями из мира коммерческой разработки.
На самом деле все очень просто. Для этого, не считая разработчиков, нужна среда разработки и стенд на котором они смогут разрабатывать. C++, он и в Африке C++, AVR и в Arduino остается AVR.
В качестве среды рассмотрим Eclipse. Вот тут очень хорошая статья о том, как настроить Eclipse сначала на работу с AVR Toolchain, а потом подключить библиотеки Arduino и замигать светодиодом на Uno. А вот тут еще лучше, но на английском.
Я немного дополню их кое-какими граблями, на которые наступил, возможно кому-то это сэкономит пару часов времени.
Все нижеследующее описано для Линукса и Leonardo. Для Винды нужно предварительно установить MinGW/msys.
- Запускаем Arduino IDE
- Выбираем плату, которую используем в качестве стенда
- Файл — Настройки — Показывать подробный вывод — Компилятор
- Запускаем компиляцию и внимательно читаем консоль, ищем строки вида
Среда готова к работе. Пишем примерно так же как в Arduino IDE, но тут немного строже следят за соблюдением канонов C++. И в любой момент можем спустится от высокоуровневого программирования на этаж ниже. Если не хватает скорости работы с портами через digitalWrite — пишем напрямую в порты.
Увы, привычку завешивать процессор вызовом Eclipse не лечит. Этому учат где-то то ли в старших классах школы, то ли младших курсах ВУЗа, это настолько глубоко проникает в личность, что никакие нравоучения не могут наставить человека на путь истинный.
Ну и в заключении один и тот же проект, собранный в Arduino IDE
Скетч использует 28 432 байт (99%) памяти устройства. Всего доступно 28 672 байт.
Глобальные переменные используют 1 254 байт (48%) динамической памяти, оставляя 1 306 байт для локальных переменных. Максимум: 2 560 байт.
и в Eclipse
Invoking: Print Size
avr-size --format=avr --mcu=atmega32u4 EthernetController.elf
AVR Memory Usage
----------------
Device: atmega32u4
Program: 27834 bytes (84.9% Full)
(.text + .data + .bootloader)
Data: 1257 bytes (49.1% Full)
(.data + .bss + .noinit)
Finished building: sizedummy
Пустячок, а для для доделки как раз эти полкило и не хватает.
Но любой код с использованием AndroidAccessory, Usb не могу скомпилировать.
Вот пример тестового кода.
И ошибки компиляции тут.
(Выложил на bastebin чтобы не засорять вопрос)
- Вопрос задан более трёх лет назад
- 20454 просмотра
Дело в том, что в недавно вышедшей IDE версии 1.0 поменялась структура include файлов, теперь в код достаточно включить один-единственный Arduino.h. Разработчики честно предупреждают об этом в прилагаемом к IDE файле revisions.txt. Там же и указан универсальный способ решения проблем совместимости — в старых библиотеках строчку
нужно заменить на
Теперь библиотека будет компилироваться как в старой, так и в новой IDE.
Там же написано, в чем дело.
Найди файл WProgram.h и разберись, почему он не находится компилятором.
вот в версии IDE 1.0 этого файла нету, а в версии 0022 есть. То есть в новых версиях нету всех нужных файлов?
в разных версиях IDE ошибки разные. Вот скриншот.
Подозреваю что это достаточно легкие вопросы, но опыта в этой сфере у меня совсем нету, а сделать нужно.
Вот если взять версию IDE — Arduino 0022, там ошибки:
D:\develop\Arduino\Arduino-IDE\arduino-0022\arduino-0022\libraries\AndroidAccessory/AndroidAccessory.h:37: error: 'EP_RECORD' does not name a type
D:\develop\Arduino\Arduino-IDE\arduino-0022\arduino-0022\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared
D:\develop\Arduino\Arduino-IDE\arduino-0022\arduino-0022\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared
Как от них избавиться и что это за ошибки? в интернете информации не нашел.
Проблемы была в том что использовалась версия IDE 1.0, а лучше использовать 0022, так как драйверов для Accessory для 1.0 нету. И вместо AndroidAccessory лучше использовать ADK.
Куча примеров и сама библиотека есть на github.
Usb Host Shield
Usb Host Shiled 2.0
Hi, I've been using Arduino-Makefile for a while with my own libraries. A few days ago I wanted to test Arduino Libs but it is not working.
I have .cpp file.
It does compile and Upload, but the Led doesn't blink. I really need help!
The text was updated successfully, but these errors were encountered:
thalesmaoa commented Jul 20, 2017
@sej7278 Thanks for your help, but renaming it is not an option. I have a huge appliance with lot of cpp and h files with classes definitions. The problem emerged when I couldn't use Arduino Libraries.
I've built a small program to find why but I need help to debug it.
I'm pasting the files again:
It does compile and upload!
But there are no blinks.
If I use interruptions and manualy set registers it works.
I wass wondering if I did something wrong either is a bug.
sej7278 commented Jul 20, 2017
if it compiles and uploads its nothing to do with the makefile i'd say, gotta be the code
thalesmaoa commented Jul 20, 2017
Perhaps, but I'm so sure. Same code compile and run on Arduino IDE.
Can you try my code?
thalesmaoa commented Jul 20, 2017
Perhaps, but I'm so sure. Same code compile and run on Arduino IDE.
Can you try my code?
sej7278 commented Jul 20, 2017
are you sure, i didn't think the ide could even handle a cpp file with no ino file?
thalesmaoa commented Jul 20, 2017
Sure, only the main code. The extra include and defines are kept out.
thalesmaoa commented Jul 21, 2017
Ok, just found the problem.
Is it possible to makefile detect if Arduino.h header is included and workaround this problem?
I kindly ask you not to lower my question. Some may consider using ino file or Arduino.h file not to be a problem, but for me, it is!
Since Arduino is opensource, I can not use it as a proprietary code to create my AVR programs. Indeed I can use it for debug. That is the point of this issue.
Hi, Guys!
I compile the simplest example for Arduino Uno within VSC Platformio on W10 Pro.
With the following errors. I need your friendly assistance to solve my problem.
I have already read tones of comments and found no straight answer.
platformio.ini
[env:uno]
platform = atmelavr
board = uno
framework = arduino
upload_port = COM3
targets = upload
- framework-arduino-avr 5.1.0
- tool-avrdude 1.60300.200527 (6.3.0)
- toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder ->http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 5 compatible libraries
Scanning dependencies.
No dependencies
Building in release mode
Compiling .pio\build\uno\src\main.cpp.o
Archiving .pio\build\uno\libFrameworkArduinoVariant.a
Compiling .pio\build\uno\FrameworkArduino\CDC.cpp.o
Compiling .pio\build\uno\FrameworkArduino\HardwareSerial.cpp.o
avr-g++: error: src\main.cpp: No such file or directory
avr-g++: fatal error: no input files
compilation terminated.
*** [.pio\build\uno\src\main.cpp.o] Error 1
c:\users\greenonion.platformio\packages\toolchain-atmelavr\bin../lib/gcc/avr/5.4.0/../../../../avr/bin/ar.exe: .pio\build\uno\libFrameworkArduinoVariant.a: No such file or directory
*** [.pio\build\uno\libFrameworkArduinoVariant.a] Error 1
Assembler messages:
Fatal error: can't create .pio\build\uno\FrameworkArduino\HardwareSerial.cpp.o: No such file or directory
Assembler messages:
Fatal error: can't create .pio\build\uno\FrameworkArduino\CDC.cpp.o: No such file or directory
*** [.pio\build\uno\FrameworkArduino\HardwareSerial.cpp.o] Error 1
*** [.pio\build\uno\FrameworkArduino\CDC.cpp.o] Error 1
================================================== [FAILED] Took 7.99 seconds ==================================================The terminal process "C:\Users\GreenOnion.platformio\penv\Scripts\pio.exe 'run'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.
Hope to get your friendly reply.
The text was updated successfully, but these errors were encountered:
valeros commented Dec 11, 2020
Hi @snikul ! Do you have an antivirus in your system? Any chance that it's blocking PlatformIO?
Hi @snikul ! Do you have an antivirus in your system? Any chance that it's blocking PlatformIO? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .
Читайте также: