GPS/GNSS UBX library for UART
Dependencies: Vector3
Diff: GPSUBX_UART.hpp
- Revision:
- 5:a92850395dcb
- Parent:
- 4:59f0f651296c
- Child:
- 6:bde0ea0e2bfc
diff -r 59f0f651296c -r a92850395dcb GPSUBX_UART.hpp --- a/GPSUBX_UART.hpp Fri Sep 17 16:16:43 2021 +0000 +++ b/GPSUBX_UART.hpp Fri Sep 17 16:30:14 2021 +0000 @@ -105,9 +105,9 @@ }; -/** My HelloWorld class. - * Used for printing "Hello World" on USB serial. - */ +/**GPS/GNSS library for UART (UBX protocol) +* RX pin is required. +*/ class GPSUBX_UART { private: @@ -124,22 +124,38 @@ public: int dummy; // Compiler bug? If "dummy" does not exist, the value of "Year" (under "public:") may include bugs. + /**Year*/ volatile int Year; + /**Month*/ volatile int Month; + /**Day*/ volatile int Day; + /**Hours*/ volatile int Hours; + /**Minutes*/ volatile int Minutes; + /**Seconds*/ volatile int Seconds; + /**Longitude (deg)*/ + volatile float Longitude; + /**Latitude (deg)*/ volatile float Latitude; - volatile float Longitude; + /**Height [m]*/ volatile float Height; + /**iTOW of POSLLH [ms]*/ volatile int iTOW_POSLLH; + /**iTOW of POSLLH [ms]*/ volatile Vector3 VelocityNED; + /**Speed [m/s]*/ volatile float Speed; + /**Ground speed [m/s]*/ volatile float GroundSpeed; + /**Heading angle (deg) */ volatile float Heading; + /**iTOW of VELNED [ms]*/ volatile int iTOW_VELNED; + /**Time zone*/ volatile int TimeZone; Vector3 UniversalZeroPosition; @@ -147,21 +163,28 @@ Vector3 UniversalZeroUnitE; Vector3 UniversalZeroUnitD; Vector3 UniversalPosition; + /**Position NED [m]*/ Vector3 PositionNED; - /** + /**Constructor *@param tx UART TX pin *@param rx UART RX pin *@param baud UART baud rate (default: 38400) *@param timezone Time zone (default: +9) */ GPSUBX_UART(PinName tx, PinName rx, int baud = 38400, int timezone = +9); + /**call Update() regularly in the main loop + */ void Update(); + /**call Attach() once before measuring position + */ void Attach(); Vector3 ToUniversalUnit(); Vector3 ToUniversal(); void CalculateUnit(); + /**call Calculate() before calculating PositionNED + */ void Calculate(); Vector3 Calculate(Vector3 position);