Я не могу понять эту ошибку. Я изначально скопировал из CurieIMU.h (который строит нормально) в ashIMU.h …
Ошибка заключается в следующем:
ashIMU.h: 17: ошибка: невозможно объявить переменную «ashIMU» абстрактного типа «ashIMUClass»
Мой эскиз ARDUINO_LED_DEMO.ino ……………..
#include "ashIMU.h"...
ashIMU.h ………………
#ifndef ASH_IMU_API_H
#define ASH_IMU_API_H
#include "ash_BMI160.h"
class ashIMUClass : public ashBMI160Class {
public:
bool begin(void);
void setAccelerometerRange(int range);
};
extern ashIMUClass ashIMU;
#endif // ASH_IMU_API_H
ash_BMI160.h ……………………………….
Это просто BMI160.h, но имя класса изменено с «BMI160Class» на «ashBMI160Class».
...
class ashBMI160Class {
public:
...
};
Если твой ashBMI160Class
такой же, как оригинал BMI160Class
из библиотеки CurieIMU вы пропускаете реализацию чисто виртуальной функции:
virtual int serial_buffer_transfer(uint8_t *buf, unsigned tx_cnt, unsigned rx_cnt) = 0;
Других решений пока нет …