2016-04-12 2 views
0

Я пытаюсь использовать дополнительную библиотеку фильтров с шестью осями для интерпретации данных из LSM6DS3 motion sensor.Инициализация библиотеки C++ в Arduino

Позвонив в мой эскиз Arduino, я получаю эту ошибку. Извините за тупой вопрос, я только начал изучать это:

#include "SparkFunLSM6DS3.h" 
#include "Wire.h" 
#include "SPI.h" 
#include "six_axis_comp_filter.h" 


LSM6DS3 myIMU; // Constructor for the motion sensor (this works) 
CompSixAxis test; // this breaks 

при попытке инициализировать экземпляр класса CompSixAxis это дает мне эту ошибку:

нет подходящей функции для вызова 'CompSixAxis :: CompSixAxis()'

+1

кажется, что класс не имеет конструктора не по умолчанию (то есть. Один принимая ноль аргументы). В этом случае вам нужно вызвать правильный конструктор – user463035818

+0

@ tobi303: C'tor по умолчанию - это c'tor, который можно вызвать без передачи каких-либо аргументов. Это не то же самое, что и c'tor, который не принимает никаких аргументов. Независимо от этого, 'CompSixAxis' не имеет c'tor по умолчанию. – IInspectable

+0

@ Я обычно наблюдаю, что я тот, кто делает nitpicking;) Однако я всегда рад, что меня исправили. К сожалению, для позднего редактирования комментария – user463035818

ответ

2

Доза класса CompSixAxis не имеет конструктора по умолчанию. Это значит, что вы не можете использовать его как:

CompSixAxis test; 

Для этого требуется конструктор по умолчанию. Для того, чтобы построить объект, который нужно будет использовать конструктор с формой

CompSixAxis(float deltaTime, float tau); 

Таким образом, ваш обновленный код будет выглядеть

CompSixAxis test(some_value, some_other_value); 
+0

Когда я помещаю новый код вместо «defaul constructor», я получаю сообщение об ошибке: _error: ожидаемый unqualified-id перед 'float' CompSixAxis (float deltaTime, float tau); _ Спасибо, что нашли время, Натан! –

+1

@ VladyVeselinov Я обновил ответ, чтобы показать, как бы вы его назвали. – NathanOliver

Смежные вопросы