RoboidControl-cpp/Magnetometer.h
2023-11-28 12:53:07 +01:00

33 lines
1.1 KiB
C++

#pragma once
#include "Sensor.h"
namespace Passer {
namespace RoboidControl {
/// @brief A Sensor which can measure the magnetic field
class Magnetometer : public Sensor {
public:
Magnetometer();
/// @brief Returns the direction of the magnetic field relative to the forward
/// direction
/// @return The direction, negative is to the left, positive is to the right
/// @note The actual unit (degrees, radians, -1..1, ...) depends on the
/// sensor.
virtual float GetDirection();
/// @brief Returns the inclination of the magnetic field relative to the
/// horizontal plane
/// @return The direction, negative is downward, positive is upward
/// @note The actual unit (degrees, radias, -1..1, ...) depends on the sensor.
virtual float GetInclination();
/// @brief Returns the strength of the magnetic field
/// @return The strength. This values should always be positive
/// @note The actual unit (tesla, 0..1, ...) depends on the sensor.
virtual unsigned float GetMagnitude();
};
} // namespace RoboidControl
} // namespace Passer
using namespace Passer::RoboidControl;