Инернционный трекер (ошибка загрузки скетча)
- Войдите на сайт для отправки комментариев
Втр, 21/03/2017 - 21:51
Здравствуйте, я с Ардуино вообще впервый раз столкнулся, хотел сделать себе подключаемый к компьютеру датчик положения головы.
В гугле "инерционный трекер своими руками"
Там в инструкции все написано, но на пункте "В IDE нажать круглую кнопку со стрелкой (Upload), дождаться, пока код скомпилируется и загрузится." у меня затык.
Программа ругается:
Короткий код:
Arduino: 1.8.1 (Windows 10), Плата:"Arduino Nano, ATmega328" sketch\Sensors.cpp:9:21: fatal error: Sensors.h: No such file or directory #include <Sensors.h> ^ compilation terminated. exit status 1 Ошибка компиляции для платы Arduino Nano. Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции"
Полный код:
Arduino: 1.8.1 (Windows 10), Плата:"Arduino Nano, ATmega328" C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries D:\Документы\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10801 -build-path C:\Users\rilin\AppData\Local\Temp\arduino_build_975651 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\DIY_headtracker\DIY_headtracker.ino C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries D:\Документы\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10801 -build-path C:\Users\rilin\AppData\Local\Temp\arduino_build_975651 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\DIY_headtracker\DIY_headtracker.ino Using board 'nano' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr Detecting libraries used... "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\sketch\DIY_headtracker.ino.cpp" -o "nul" "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src" "C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\sketch\DIY_headtracker.ino.cpp" -o "nul" "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\sketch\DIY_headtracker.ino.cpp" -o "nul" "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\sketch\FaceTrack.cpp" -o "nul" "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\sketch\Functions.cpp" -o "nul" "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\sketch\Sensors.cpp" -o "nul" "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\sketch\Sensors.cpp" -o "C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\preproc\ctags_target_for_gcc_minus_e.cpp" C:\Users\rilin\AppData\Local\Temp\arduino_build_975651\sketch\Sensors.cpp:9:21: fatal error: Sensors.h: No such file or directory #include <Sensors.h> ^ compilation terminated. Используем библиотеку Wire версии 1.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire Используем библиотеку EEPROM версии 2.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM exit status 1 Ошибка компиляции для платы Arduino Nano.
Говорит что не может найти файл, но до этого я открывал код из диска D:/ потом решил переместить папку вообще в корень диска C:/ но продолжается такая же байда.
Скорее всего лечится это очень легко, но я кроме бейсика и паскаля ничего не видел.
Забыл указать сам код:
Ссылка: http://sourceforge.net/projects/gy80facetrack/files/DIY_headtracker_FTR_GY85.zip/download
А код-то где?
Что за файл Sensor.h ? Он у Вас есть? Где находится? И код давайте.
Коды открывать осторожно (очень много строк)
Все файлы находятся в одной папке по адресу C:\DIY_headtracker
Код главного файла:
Код Config.h
Код facetrack.cpp
Код facetrack.h
Код functions.cpp
Код functions.h
Код sensors.cpp
Код sensors.h
rilintar,
1. Где находятся все эти файлы?
2. Вы пытались перемещать файлы после того, как Arduino IDE была загружена?
3. Переместите все файлы в одну папку так, чтобы в пути к ней не было кириллических симворов и пробелов. Запустите среду, откройте ею файл *.ino и попытайтесь его откомпилировать.
rilintar,
1. Где находятся все эти файлы?
2. Вы пытались перемещать файлы после того, как Arduino IDE была загружена?
3. Переместите все файлы в одну папку так, чтобы в пути к ней не было кириллических симворов и пробелов. Запустите среду, откройте ею файл *.ino и попытайтесь его откомпилировать.
Попытался перенести на корень диска C:/ такая же ошибка
1. Все эти файлы находятся в папке, которая в свою очередь лежит в корне диска C:/
2. Нет
3. Так и пытался.
Увидел в расширенном коде ошибки что он обращается к local/temp/arduino_build...
решил очистить темп, запускаю, теперь ему не понравился config.h типа его нет,
захожу в темп/ардуино и вижу что arduino его скопировал добавив расширение .cpp и получился config.h.cpp на 35 кб
решил удалить расширение .cpp и запустить снова. он снова его переименовал и выдал ошибку на 1200строк,
тогда я просто вручную скопировал config.h в темп и все равно та же ошибка снова вышла:
Может проблема в том что он не хочет работать в необходимой папке, а лезет в темп?
ну да - у вас инклюд в угловых скобках а включен локально в папку скетча, должен быть в двойных кавычках
Сдаётся мне , что проект сей надо компилировать исключительно определённой версией IDE, там об этом ничего нет?
В этой статье не указана была версия ПО, а вы не подскажете какой возможной версией ide можно прошить?
Для начала в #include для всех файлов, которые физически лежат в каталоге со скетчем (см. сообщения компилятора), замените угловые скобки на двойные кавычки. Похоже, что это недосмотр автора скетча.
Для начала в #include для всех файлов, которые физически лежат в каталоге со скетчем (см. сообщения компилятора), замените угловые скобки на двойные кавычки. Похоже, что это недосмотр автора скетча.
там в библиотеках тоже вызовы с угловыми скобками, как-то всё враскорячку, можно попробовать по дате публикации версию IDE подобрать, аналогичный проект у меня компилировался только в 1.6.5, попробуйте
выложите PSE поправленные файлы
Все прям выкладывать не буду, изменить надо в двух:
sensors.h:
Sensors.cpp:
Компиляция проходит, но предупреждает, что в одном из циклов может возникнуть неопределенное поведение (выход за границы массива). В алгоритм не вникал, но увеличение его размерности (unsigned char channel_mapping[14]) варнинг снимает.
я инклюд то поправил, а вот дальше моих познаний не хватило ))) на Read/Write остановился
Просто замените в sensors.h строчки:
на:
И для sensors.cpp то же самое - void WriteToI2C(int device, byte address, byte val)
на void WriteToI2C(byte device, byte address, byte val) и т.д.
(
я просто уже потер скетч - он мне не нужен)Спасибо большое всем кто откликнулся, помогли с советами.
Код после выше указанных манипуляций, скомпилировался и загрузился в штатном режиме без варнингов.