Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of tilt_angles by
Tiltmeter.h
- Committer:
- mpetovello
- Date:
- 2016-11-24
- Revision:
- 0:3bffc1862262
File content as of revision 0:3bffc1862262:
#ifndef TILTMETER_H
#define TILTMETER_H
class Tiltmeter
{
public:
// Default constructor
Tiltmeter();
// Detect the presence of tiltmeter sensor and ensure its status is appropriately set.
//
// Arguments:
// None
//
// Returns:
// The function returns true if the sensor is present and ready to use, and false otherwise.
virtual bool TestConnection() = 0;
// Compute the tilt angles and store them internally; you can access the computed values by
// calling the GetRoll() and GetPitch() functions.
//
// Arguments:
// None
//
// Returns:
// Nothing
void ComputeTiltAngles();
// Get the most recent roll angle as computed by calling ComputeTilt()
//
// Arguments:
// None
//
// Returns:
// The function returns the roll angle in units of degrees
float GetRoll() const;
// Get the most recent roll angle as computed by calling ComputeTilt()
//
// Arguments:
// None
//
// Returns:
// The function returns the roll angle in units of degrees
float GetPitch() const;
private:
// Read the accelerometer data and store the values for later use. You can access the values by
// calling the GetAccelX(), GetAccelY() and/or GetAccelZ();
//
// Arguments:
// None
//
// Returns:
// Nothing
//
// Remarks:
// The data will be stored in the 'MeasuredAccel' member variable in units of m/s/s
virtual void ReadAccelerometers() = 0;
// Get the most recently measured X-axis acceleration as stored during the last call to
// ReadAccelerometer()
//
// Arguments:
// None
//
// Returns:
// The function returns the most recently measured X-axis acceleration in units of m/s/s
virtual float GetAccelX() const = 0;
// Get the most recently measured Y-axis acceleration as stored during the last call to
// ReadAccelerometer()
//
// Arguments:
// None
//
// Returns:
// The function returns the most recently measured Y-axis acceleration in units of m/s/s
virtual float GetAccelY() const = 0;
// Get the most recently measured Z-axis acceleration as stored during the last call to
// ReadAccelerometer()
//
// Arguments:
// None
//
// Returns:
// The function returns the most recently measured Z-axis acceleration in units of m/s/s
virtual float GetAccelZ() const = 0;
private:
// Variables to store the roll and pitch values in units of degrees
float RollAngle, PitchAngle;
};
#endif
