Инернционный трекер (ошибка загрузки скетча)
- Войдите на сайт для отправки комментариев
Втр, 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
#include <Wire.h> #include "config.h" #include "functions.h" #include "sensors.h" #include <EEPROM.h> float XZero,YZero,ZZero; typedef struct { int16_t Begin ; // 2 Debut uint16_t Cpt ; // 2 Compteur trame or Code info or error float gyro[3]; // 12 [Y, P, R] gyro float acc[3]; // 12 [x, y, z] Acc int16_t End ; // 2 Fin } _hat; uint16_t unit; extern float panAngle; extern float tiltAngle; extern float rollAngle; typedef struct { int16_t Begin ; // 2 Debut uint16_t Code ; // 2 Code info char Msg[24]; // 24 Message int16_t End ; // 2 Fin } _msginfo; _msginfo msginfo; _hat hat; float yaw; float pitch; float roll; int Mag_HardIron_On=0; int Acc_Calib_On=0; void PrintCodeSerial(uint16_t code,char Msg[24],bool EOL ) { msginfo.Code=code; memset(msginfo.Msg,0x00,24); strcpy(msginfo.Msg,Msg); if (EOL) msginfo.Msg[23]=0x0A; // Send HATIRE message to PC Serial.write((byte*)&msginfo,30); } //att_t att; void FT_Setup() { hat.Begin=0xAAAA; hat.Cpt=0; hat.End=0x5555; msginfo.Begin=0xAAAA; msginfo.Code=0; msginfo.End=0x5555; PrintCodeSerial(5000,"HAT BEGIN",true); yaw=panAngle; pitch=tiltAngle; roll=rollAngle; XZero=yaw; YZero=pitch; ZZero=roll; } void serialEvent() { char Commande; Commande = (char)Serial.read(); switch (Commande) { case 'Z': // last_z_angle=0; yaw=panAngle; pitch=tiltAngle; roll=rollAngle; XZero=(yaw); YZero=(pitch); ZZero=(roll); //PrintCodeSerial(5000,"Generated",true); break; } if (Commande == 'h') { Mag_HardIron_On=1; } if (Commande == 'a') { Acc_Calib_On=1; for (int i = 0; i < 3; i++) { // accel_min[i]=0; // accel_max[i]=0; } } if (Commande == 's') // _s_ynch request { // Read ID // byte id[2]; // id[0] = readChar(); // id[1] = readChar(); // Reply with synch message // Serial.print("#SYNCH"); // Serial.write(id, 2); // Serial.println(); // Calib_On=1; } } void FTData() { if(Serial.available() > 0) serialEvent(); // roll=rollAngle; // yaw=panAngle; // pitch=tiltAngle; yaw=panAngle; pitch=tiltAngle; roll=rollAngle; hat.gyro[0]=yaw-XZero; hat.gyro[1]=pitch-YZero; hat.gyro[2]=roll-ZZero; Serial.write((byte*)&hat,30); hat.Cpt++; if (hat.Cpt>999) { hat.Cpt=0; } delay(10); }Код facetrack.h
Код functions.cpp
//----------------------------------------------------------------------------- // File: Functions.cpp // Desc: Implementations of PPM-related functions for the project. //----------------------------------------------------------------------------- #include "config.h" #include "Arduino.h" #include "functions.h" #include "sensors.h" #include <Wire.h> extern long channel_value[]; // Local variables unsigned int pulseTime = 0; unsigned int lastTime = 0; unsigned int timeRead; int channelsDetected = 0; char channel = 0; int channelValues[20]; char state = 0; // PPM signal high or Low? char read_sensors = 0; // external variables extern unsigned long buttonDownTime; extern unsigned char htChannels[]; // Sensor_board, x,y,z int acc_raw[3] = {1,2,3}; int gyro_raw[3] = {4,5,6}; int mag_raw[3] = {7,8,9}; unsigned char PpmIn_PpmOut[13] = {0,1,2,3,4,5,6,7,8,9,10,11,12}; long channel_value[13] = {2100,2100,2100,2100,2100,2100,2100,2100,2100,2100,2100,2100,2100}; unsigned char channel_number = 1; char shift = 0; char time_out = 0; //-------------------------------------------------------------------------------------- // Func: PrintPPM // Desc: Prints the channel value represented in the stream. Debugging assistant. //-------------------------------------------------------------------------------------- void PrintPPM() { for (char j = 1; j < 13; j++) { Serial.print(channel_value[j]); Serial.print(","); } Serial.println(); } //-------------------------------------------------------------------------------------- // Func: InitPWMInterrupt // Desc: //-------------------------------------------------------------------------------------- void InitPWMInterrupt() { #if (DEBUG) Serial.println("PWM interrupt initialized"); #endif TCCR1A = (0 << WGM10) | (0 << WGM11) | (0 << COM1A1) | (1 << COM1A0) | // Toggle pin om compare-match (0 << COM1B1) | (0 << COM1B0); TCCR1B = (1 << ICNC1)| // Input capture noise canceler - set to active (1 << ICES1)| // Input capture edge select. 1 = rising, 0 = falling. We will toggle this, doesn't matter what it starts at (0 << CS10) | // Prescale 8 (1 << CS11) | // Prescale 8 (0 << CS12) | // Prescale 8 (0 << WGM13)| (1 << WGM12); // CTC mode (Clear timer on compare match) with ICR1 as top. // Not used in this case: TCCR1C = (0 << FOC1A)| // No force output compare (A) (0 << FOC1B); // No force output compare (B) TIMSK1 = (PPM_IN << ICIE1) | // Enable input capture interrupt (1 << OCIE1A) | // Interrupt on compare A (0 << OCIE1B) | // Disable interrupt on compare B (0 << TOIE1); // OCR1A is used to generate PPM signal and later reset counter (to control frame-length) OCR1A = DEAD_TIME; } //-------------------------------------------------------------------------------------- // Func: InitTimerInterrupt // Desc: Initializes timer interrupts. //-------------------------------------------------------------------------------------- void InitTimerInterrupt() { #if (DEBUG) Serial.println("Timer interrupt initialized"); #endif TCCR0A = (0 << WGM00) | (1 << WGM01) | (0 << COM0A1) | (0 << COM0A0) | (0 << COM0B1) | (0 << COM0B0); // 61 hz update-rate: TCCR0B = (0 << FOC0A)| // (0 << FOC0B)| // (1 << CS00) | // Prescale 1024 (0 << CS01) | // Prescale 1024 (1 << CS02) | // Prescale 1024 (0 << WGM02); TIMSK0 = (0 << OCIE0B) | (1 << OCIE0A) | (1 << TOIE0); OCR0B = 64 * 2; OCR0A = 64 * 2; } //-------------------------------------------------------------------------------------- // Func: TIMER1_OVF_vect // Desc: Timer 1 overflow vector - only here for debugging/testing, as it should always // be reset/cleared before overflow. //-------------------------------------------------------------------------------------- ISR(TIMER1_OVF_vect) { Serial.print("Timer 1 OVF"); } //-------------------------------------------------------------------------------------- // Func: TIMER1_COMPA_vect // Desc: Timer 1 compare A vector //-------------------------------------------------------------------------------------- ISR(TIMER1_COMPA_vect) { if (OCR1A == FRAME_LENGTH) { TCCR1A = (0 << WGM10) | (0 << WGM11) | (1 << COM1A1) | (1 << COM1A0) | (0 << COM1B1) | (0 << COM1B0); channel_number = 1; OCR1A = DEAD_TIME; TCCR1B &= ~(1 << WGM12); } else { if (channel_number == 1) { // After first time, when pin have been set high, we toggle the pin at each interrupt TCCR1A = (0 << WGM10) | (0 << WGM11) | (0 << COM1A1) | (POSITIVE_SHIFT_PPM << COM1A0) | (0 << COM1B1) | (0 << COM1B0); } if ((channel_number - 1) < NUMBER_OF_CHANNELS * 2) { if ((channel_number-1) % 2 == 1) { OCR1A += DEAD_TIME; } else { OCR1A += channel_value[(channel_number + 1) / 2]; } channel_number++; } else { // We have to use OCR1A as top too, as ICR1 is used for input capture and OCR1B can't be // used as top. OCR1A = FRAME_LENGTH; TCCR1B |= (1 << WGM12); } } } //-------------------------------------------------------------------------------------- // Func: TIMER0_COMPA_vect // Desc: Timer 0 compare A vector Sensor-interrupt. We query sensors on a timer, not // during every loop. //-------------------------------------------------------------------------------------- ISR(TIMER0_COMPA_vect) { // Reset counter - should be changed to CTC timer mode. TCNT0 = 0; /* // Used to check timing - have the previous calculations been done? // Will always show in start, but should stop when initialized. if (shift == 1) { //digitalWrite(7,HIGH); shift = 0; } else { //digitalWrite(7,LOW); shift = 1; } */ #if (DEBUG == 1) if (read_sensors == 1) { time_out++; if (time_out > 10) { //Serial.println("Timing problem!!!"); time_out = 0; } } #endif read_sensors = 1; buttonDownTime += 16; // every 16 milliseconds, at 61 hz. } //-------------------------------------------------------------------------------------- // Func: DetectPPM // Desc: //-------------------------------------------------------------------------------------- void DetectPPM() { // If a new frame is detected if (pulseTime > 5500) { // Save total channels detected channelsDetected = channel; // Reset channel-count channel = 0; } else if (channel < 20 && pulseTime > PPM_IN_MIN && pulseTime < PPM_IN_MAX) { // If the pulse is recognized as servo-pulse if ( (channel + 1) != htChannels[0] && (channel + 1) != htChannels[1] && (channel + 1) != htChannels[2] ) { channelValues[channel++] = pulseTime; channel_value[PpmIn_PpmOut[channel]] = pulseTime; } } else if (pulseTime > PPM_IN_MIN) { channel++; } } //-------------------------------------------------------------------------------------- // Func: TIMER1_CAPT_vect // Desc: The interrupt vector used when an edge is detected Interrupt vector, see page // 57 Interrupt for input capture //-------------------------------------------------------------------------------------- ISR(TIMER1_CAPT_vect) { // Disable interrupt first, to avoid multiple interrupts causing hanging/restart, // or just weird behavior: TIMSK1 &= ~(1 << ICIE1); state = TCCR1B & (1 << ICES1); // Toggle interrupt to detect falling/rising edge: TCCR1B ^= (1<<ICES1); // Read the time-value stored in ICR1 register (will be the time copied from TCNT1 at input-capture event). timeRead = ICR1; pulseTime = timeRead; // Check if the timer have reached top/started over: if (lastTime > pulseTime) { pulseTime += (TOP - lastTime); } else { // Subtract last time to get the time: pulseTime -= lastTime; } // Save current timer-value to be used in next interrupt: lastTime = timeRead; // If we are detecting a PPM input signal DetectPPM(); // Enable interrupt again: TIMSK1 |= (1 << ICIE1); }Код 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 в темп и все равно та же ошибка снова вышла:
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. Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции"Может проблема в том что он не хочет работать в необходимой папке, а лезет в темп?
ну да - у вас инклюд в угловых скобках а включен локально в папку скетча, должен быть в двойных кавычках
Сдаётся мне , что проект сей надо компилировать исключительно определённой версией 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) и т.д.(я просто уже потер скетч - он мне не нужен)Спасибо большое всем кто откликнулся, помогли с советами.
Код после выше указанных манипуляций, скомпилировался и загрузился в штатном режиме без варнингов.