Files
INS-VN-200/vnproglib/cpp/include/vn/util.h
r.koeppe 2d22ccd2d6 initial
2024-05-14 02:14:13 +02:00

446 lines
16 KiB
C++

#ifndef _VNPROTOCOL_UART_UTIL_H_
#define _VNPROTOCOL_UART_UTIL_H_
#include <string>
#include <sstream>
#include "types.h"
namespace vn {
namespace protocol {
namespace uart {
// Utility functions.
/// \brief Converts an AsciiAsync enum into a string.
///
/// \param[in] val The AsciiAsync enum value to convert to string.
/// \return The converted value.
std::string str(AsciiAsync val);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// AsciiAsync enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, AsciiAsync e);
/// \brief Converts a SensorError enum into a string.
///
/// \param[in] val The SensorError enum value to convert to string.
/// \return The converted value.
std::string str(SensorError val);
/// \brief Converts a BootloaderError enum into a string.
///
/// \param[in] val The BootloaderError enum value to convert to string.
/// \return The converted value.
std::string str(BootloaderError val);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// SensorError enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, SensorError e);
/// \brief Converts a SyncInMode enum into a string.
///
/// \param[in] val The SyncInMode enum value to convert to string.
/// \return The converted value.
std::string str(SyncInMode val);
/// \brief Converts a SyncInEdge enum into a string.
///
/// \param[in] val The SyncInEdge enum value to convert to string.
/// \return The converted value.
std::string str(SyncInEdge val);
/// \brief Converts a SyncOutMode enum into a string.
///
/// \param[in] val The SyncOutMode enum value to convert to string.
/// \return The converted value.
std::string str(SyncOutMode val);
/// \brief Converts a SyncOutPolarity enum into a string.
///
/// \param[in] val The SyncOutPolarity enum value to convert to string.
/// \return The converted value.
std::string str(SyncOutPolarity val);
/// \brief Converts a CountMode enum into a string.
///
/// \param[in] val The CountMode enum value to convert to string.
/// \return The converted value.
std::string str(CountMode val);
/// \brief Converts a StatusMode enum into a string.
///
/// \param[in] val The StatusMode enum value to convert to string.
/// \return The converted value.
std::string str(StatusMode val);
/// \brief Converts a ChecksumMode enum into a string.
///
/// \param[in] val The ChecksumMode enum value to convert to string.
/// \return The converted value.
std::string str(ChecksumMode val);
/// \brief Converts a ErrorMode enum into a string.
///
/// \param[in] val The ErrorMode enum value to convert to string.
/// \return The converted value.
std::string str(ErrorMode val);
/// \brief Converts a FilterMode enum into a string.
///
/// \param[in] val The FilterMode enum value to convert to string.
/// \return The converted value.
std::string str(FilterMode val);
/// \brief Converts a IntegrationFrame enum into a string.
///
/// \param[in] val The IntegrationFrame enum value to convert to string.
/// \return The converted value.
std::string str(IntegrationFrame val);
/// \brief Converts a CompensationMode enum into a string.
///
/// \param[in] val The CompensationMode enum value to convert to string.
/// \return The converted value.
std::string str(CompensationMode val);
/// \brief Converts a AccCompensationMode enum into a string.
///
/// \param[in] val The AccCompensationMode enum value to convert to string.
/// \return The converted value.
std::string str(AccCompensationMode val);
/// \brief Converts a EarthRateCorrection enum into a string.
///
/// \param[in] val The EarthRateCorrection enum value to convert to string.
/// \return The converted value.
std::string str(EarthRateCorrection val);
/// \brief Converts a GpsFix enum into a string.
///
/// \param[in] val The GpsFix enum value to convert to string.
/// \return The converted value.
std::string str(GpsFix val);
/// \brief Converts a GpsMode enum into a string.
///
/// \param[in] val The GpsMode enum value to convert to string.
/// \return The converted value.
std::string str(GpsMode val);
/// \brief Converts a PpsSource enum into a string.
///
/// \param[in] val The PpsSource enum value to convert to string.
/// \return The converted value.
std::string str(PpsSource val);
/// \brief Converts a GpsRate enum into a string.
///
/// \param[in] val The GpsRate enum value to convert to string.
/// \return The converted value.
std::string str(GpsRate val);
/// \brief Converts a AntPower enum into a string.
///
/// \param[in] val The AntPower enum value to convert to string.
/// \return The converted value.
std::string str(AntPower val);
/// \brief Converts a VpeEnable enum into a string.
///
/// \param[in] val The VpeEnable enum value to convert to string.
/// \return The converted value.
std::string str(VpeEnable val);
/// \brief Converts a HeadingMode enum into a string.
///
/// \param[in] val The HeadingMode enum value to convert to string.
/// \return The converted value.
std::string str(HeadingMode val);
/// \brief Converts a VpeMode enum into a string.
///
/// \param[in] val The VpeMode enum value to convert to string.
/// \return The converted value.
std::string str(VpeMode val);
/// \brief Converts a Scenario enum into a string.
///
/// \param[in] val The Scenario enum value to convert to string.
/// \return The converted value.
std::string str(Scenario val);
/// \brief Converts a HsiMode enum into a string.
///
/// \param[in] val The HsiMode enum value to convert to string.
/// \return The converted value.
std::string str(HsiMode val);
/// \brief Converts a HsiOutput enum into a string.
///
/// \param[in] val The HsiOutput enum value to convert to string.
/// \return The converted value.
std::string str(HsiOutput val);
/// \brief Converts a VelocityCompensationMode enum into a string.
///
/// \param[in] val The VelocityCompensationMode enum value to convert to string.
/// \return The converted value.
std::string str(VelocityCompensationMode val);
/// \brief Converts a MagneticMode enum into a string.
///
/// \param[in] val The MagneticMode enum value to convert to string.
/// \return The converted value.
std::string str(MagneticMode val);
/// \brief Converts a ExternalSensorMode enum into a string.
///
/// \param[in] val The ExternalSensorMode enum value to convert to string.
/// \return The converted value.
std::string str(ExternalSensorMode val);
/// \brief Converts a FoamInit enum into a string.
///
/// \param[in] val The FoamInit enum value to convert to string.
/// \return The converted value.
std::string str(FoamInit val);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// SyncInMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, SyncInMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// SyncInEdge enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, SyncInEdge e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// SyncOutMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, SyncOutMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// SyncOutPolarity enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, SyncOutPolarity e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// CountMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, CountMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// StatusMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, StatusMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// ChecksumMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, ChecksumMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// ErrorMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, ErrorMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// FilterMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, FilterMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// IntegrationFrame enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, IntegrationFrame e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// CompensationMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, CompensationMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// AccCompensationMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, AccCompensationMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// EarthRateCorrection enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, EarthRateCorrection e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// GpsFix enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, GpsFix e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// GpsMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, GpsMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// PpsSource enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, PpsSource e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// GpsRate enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, GpsRate e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// AntPower enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, AntPower e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// VpeEnable enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, VpeEnable e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// HeadingMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, HeadingMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// VpeMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, VpeMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// Scenario enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, Scenario e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// HsiMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, HsiMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// HsiOutput enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, HsiOutput e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// VelocityCompensationMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, VelocityCompensationMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// MagneticMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, MagneticMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// ExternalSensorMode enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, ExternalSensorMode e);
/// \brief Overloads the ostream << operator for easy usage in displaying
/// FoamInit enums.
///
/// \param[in] out The ostream being output to.
/// \param[in] e The enum to output to ostream.
/// \return Reference to the current ostream.
std::ostream& operator<<(std::ostream& out, FoamInit e);
}
}
}
#endif