GY-63_MS5611/libraries/Angle/README.md

74 lines
2.1 KiB
Markdown
Raw Normal View History

2021-01-29 06:31:58 -05:00
[![Arduino CI](https://github.com/RobTillaart/Angle/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/Angle/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/RobTillaart/Angle.svg?maxAge=3600)](https://github.com/RobTillaart/Angle/releases)
2020-11-27 05:10:47 -05:00
# Angle
2021-01-29 06:31:58 -05:00
Arduino library for basic math for Angles in degrees, minute, seconds and tenthousands.
2020-11-27 05:10:47 -05:00
## Description
Angle is an Arduino class to print, compare and do basic math with angles
in degrees, minutes seconds and tenthousands. The class was created to be
able to print an angle with minutes and seconds instead of as a floating point
or radians.
2021-01-29 06:31:58 -05:00
To make the library more useful basic math ( + - \* / )
and comparisons ( == != < <= > >= ) are added to the class.
The library implements the Printable interface, allowing one to call
**Serial.println(angle)** or **SD.print(angle)**
## Interface
### Constructors
- **Angle(int dd=0, int mm=0, int ss=0, int tt=0)** create an Angle, default is zero.
- **Angle(double alpha)** create an Angle from a double.
- **Angle(char \* str)** creat an Angle from a string e.g. "45.31234".
### base
- **int sign()** returns -1 or 1
- **int degree()** returns # degrees
- **int minute()** returns # minutes
- **int second()** returns # seconds
- **int tenthousand()** returns # tenthousands of a second
### Conversions
- **toDouble()** returns the angle as a double (float)
- **toRadians()** retuns the angle in radians (0..TWO_PI)
- **fromRadian()**
### Equality operators
The library supports equality operator "==", "!=", "<" "<=" ">" and ">="
### Math operators
- **negate** -angle
- **addition** and **subtract** add angles to angles
- **multiplication** and **division** multiply an angle with a double
- **ratio** ratio = Angle/Angle;
2020-11-27 05:10:47 -05:00
## Operation
2021-01-29 06:31:58 -05:00
See examples
2020-11-27 05:10:47 -05:00
## Note
2021-01-29 06:31:58 -05:00
2020-11-27 05:10:47 -05:00
The library has not been tested extensively and it could still contain
bugs. Especially the constructor does not check input so use it carefully.