mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-29 02:21:44 +00:00
Initial checkin of unified hierarchy of WPILib 2015
This commit is contained in:
55
wpilibc/src/main/include/HiTechnicCompass.h
Normal file
55
wpilibc/src/main/include/HiTechnicCompass.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2008. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __HiTechnicCompass_h__
|
||||
#define __HiTechnicCompass_h__
|
||||
|
||||
#include "SensorBase.h"
|
||||
#include "LiveWindow/LiveWindowSendable.h"
|
||||
|
||||
class I2C;
|
||||
|
||||
/**
|
||||
* HiTechnic NXT Compass.
|
||||
*
|
||||
* This class alows access to a HiTechnic NXT Compass on an I2C bus.
|
||||
* These sensors to not allow changing addresses so you cannot have more
|
||||
* than one on a single bus.
|
||||
*
|
||||
* Details on the sensor can be found here:
|
||||
* http://www.hitechnic.com/index.html?lang=en-us&target=d17.html
|
||||
*
|
||||
* @todo Implement a calibration method for the sensor.
|
||||
*/
|
||||
class HiTechnicCompass : public SensorBase, public LiveWindowSendable
|
||||
{
|
||||
public:
|
||||
explicit HiTechnicCompass(uint8_t moduleNumber);
|
||||
virtual ~HiTechnicCompass();
|
||||
float GetAngle();
|
||||
|
||||
void UpdateTable();
|
||||
void StartLiveWindowMode();
|
||||
void StopLiveWindowMode();
|
||||
std::string GetSmartDashboardType();
|
||||
void InitTable(ITable *subTable);
|
||||
ITable * GetTable();
|
||||
|
||||
private:
|
||||
static const uint8_t kAddress = 0x02;
|
||||
static const uint8_t kManufacturerBaseRegister = 0x08;
|
||||
static const uint8_t kManufacturerSize = 0x08;
|
||||
static const uint8_t kSensorTypeBaseRegister = 0x10;
|
||||
static const uint8_t kSensorTypeSize = 0x08;
|
||||
static const uint8_t kHeadingRegister = 0x44;
|
||||
|
||||
I2C* m_i2c;
|
||||
|
||||
ITable *m_table;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user