MIP_SDK  v4.0.0
MicroStrain Communications Library for embedded systems
mip_logging.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <mip/mip_logging.h>
4 #include <mip/mip_packet.hpp>
5 
6 
7 namespace mip
8 {
9 
16 
17 #ifdef MICROSTRAIN_LOGGING_ENABLED
18 
44 inline bool formatPacketBytes(microstrain::CharArrayView buffer, size_t* index, const PacketView& packet)
45 {
46  return mip::C::mip_format_packet_bytes(buffer.data(), buffer.size(), index, &packet);
47 }
48 
73 inline bool formatPacket(microstrain::CharArrayView buffer, size_t* index, const PacketView& packet)
74 {
75  return mip::C::mip_format_packet(buffer.data(), buffer.size(), index, &packet);
76 }
77 
104 inline bool formatField(microstrain::CharArrayView buffer, size_t* index, const FieldView& field)
105 {
106  return mip::C::mip_format_field(buffer.data(), buffer.size(), index, &field);
107 }
108 
109 
110 
113 inline void logPacket(const PacketView& packet, microstrain_log_level level)
114 {
115  return mip::C::mip_log_packet(&packet, level);
116 }
117 
120 inline void logField(const FieldView& field, microstrain_log_level level)
121 {
122  return mip::C::mip_log_field(&field, level);
123 }
124 
127 inline void logPacketVerbose(const PacketView& packet, microstrain_log_level level)
128 {
129  return mip::C::mip_log_packet_verbose(&packet, level);
130 }
131 
132 #endif // MICROSTRAIN_LOGGING_ENABLED
133 
136 
137 } // namespace mip
mip_logging.h
mip
A collection of C++ classes and functions covering the full mip api.
Definition: commands_3dm.c:11
microstrain_log_level
microstrain_log_level
Logging level enum.
Definition: logging.h:87
microstrain::ArrayView::data
constexpr pointer data() const noexcept
Definition: array_view.hpp:69
microstrain::ArrayView
Represents a view over a contiguous array of objects, similar to std::span, and is implemented as a p...
Definition: array_view.hpp:44
mip_packet.hpp
microstrain::ArrayView::size
constexpr size_t size() const noexcept
Definition: array_view.hpp:71