ardupilot/libraries/AP_Compass/AP_Compass_VRBRAIN.h

36 lines
900 B
C
Raw Normal View History

/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
#ifndef AP_Compass_VRBRAIN_H
#define AP_Compass_VRBRAIN_H
#include "Compass.h"
class AP_Compass_VRBRAIN : public Compass
{
public:
AP_Compass_VRBRAIN() : Compass() {
product_id = AP_COMPASS_TYPE_VRBRAIN;
_num_instances = 0;
}
bool init(void);
bool read(void);
void accumulate(void);
// return the number of compass instances
uint8_t get_count(void) const { return _num_instances; }
// return the primary compass
uint8_t get_primary(void) const;
private:
uint8_t _num_instances;
int _mag_fd[COMPASS_MAX_INSTANCES];
Vector3f _sum[COMPASS_MAX_INSTANCES];
uint32_t _count[COMPASS_MAX_INSTANCES];
uint64_t _last_timestamp[COMPASS_MAX_INSTANCES];
bool _is_external[COMPASS_MAX_INSTANCES];
};
#endif // AP_Compass_VRBRAIN_H