MIP_SDK
v3.0.0-533-g58dc0c0
MicroStrain Communications Library for embedded systems
|
Go to the documentation of this file.
31 template<
class Lambda>
34 template<
class T,
bool (T::*Callback)(const PacketView&, Timestamp)>
37 template<
class T,
bool (*Callback)(T&, const PacketView&, Timestamp)>
64 template<
class FunctionOrLambda>
69 return *(
static_cast<FunctionOrLambda*
>(obj))(
mip::PacketView(*packet), timestamp );
96 template<
class T,
bool (T::*Callback)(const PacketView&, Timestamp)>
101 return (
static_cast<T*
>(obj)->*Callback)(
PacketView(pkt), timestamp);
126 template<
class T,
bool (*Callback)(T&, const PacketView&, Timestamp)>
131 return (*Callback)(*
static_cast<T*
>(obj),
PacketView(pkt), timestamp);
size_t mip_parser_parse(mip_parser *parser, const uint8_t *input_buffer, size_t input_length, mip_timestamp timestamp)
Parse packets from a buffer.
Definition: mip_parser.c:187
A collection of C++ classes and functions covering the full mip api.
Definition: commands_3dm.c:11
void mip_parser_set_callback(mip_parser *parser, mip_packet_callback callback, void *callback_object)
mip_parser_set_callback
Definition: mip_parser.c:464
mip_timeout mip_parser_timeout(const mip_parser *parser)
Returns the packet timeout of the parser.
Definition: mip_parser.c:440
void mip_parser_set_timeout(mip_parser *parser, mip_timeout timeout)
Changes the timeout of the MIP parser.
Definition: mip_parser.c:452
Structure representing a MIP Packet.
Definition: mip_packet.h:50
size_t parse(const uint8_t *inputBuffer, size_t inputCount, Timestamp timestamp)
Parse packets from a buffer.
Definition: mip_parser.hpp:44
void flush()
Processes all previously buffered data.
Definition: mip_parser.hpp:51
bool(* mip_packet_callback)(void *user, const mip_packet_view *packet, mip_timestamp timestamp)
Callback function which receives parsed MIP packets.
Definition: mip_parser.h:48
void mip_parser_flush(mip_parser *parser)
Processes all previously buffered data.
Definition: mip_parser.c:394
MIP Parser state.
Definition: mip_parser.h:58
void mip_parser_init(mip_parser *parser, mip_packet_callback callback, void *callback_object, mip_timeout timeout)
Initializes the MIP parser.
Definition: mip_parser.c:32
uint_least16_t mip_parser_get_write_ptr(mip_parser *parser, uint8_t **ptr_out)
Gets a pointer into which a small amount of data may be written for parsing.
Definition: mip_parser.c:427
void mip_parser_reset(mip_parser *parser)
Resets the MIP parser.
Definition: mip_parser.c:51
Parser(Timeout timeout)
Construct without a callback.
Definition: mip_parser.hpp:27
microstrain::EmbeddedTimestamp Timestamp
Definition: mip_types.h:50
constexpr pointer data() const noexcept
Definition: array_view.hpp:69
Parser(C::mip_packet_callback callback, void *callbackObject, Timeout timeout)
Initializes the MIP parser.
Definition: mip_parser.hpp:23
microstrain::EmbeddedTimeout Timeout
Definition: mip_types.h:51
Represents a view over a contiguous array of objects, similar to std::span, and is implemented as a p...
Definition: array_view.hpp:44
void reset()
Resets the MIP parser.
Definition: mip_parser.hpp:41
Timeout timeout() const
Returns the packet timeout of the parser.
Definition: mip_parser.hpp:58
Parser(bool(*callback)(void *, const PacketView *, Timestamp), void *callbackObject, Timeout timeout)
Initializes the MIP parser.
Definition: mip_parser.hpp:25
size_t parse(microstrain::ConstU8ArrayView data, Timestamp timestamp)
Parse packets from a buffer (U8ArrayView version).
Definition: mip_parser.hpp:48
microstrain::U8ArrayView getWritePtr()
Gets a pointer into which a small amount of data may be written for parsing.
Definition: mip_parser.hpp:55
C++ class representing a view of a MIP packet.
Definition: mip_packet.hpp:35
constexpr size_t size() const noexcept
Definition: array_view.hpp:71
C++ class representing a MIP parser.
Definition: mip_parser.hpp:19
void setCallback(C::mip_packet_callback callback, void *callbackObject)
Definition: mip_parser.hpp:29
void setTimeout(Timeout timeout)
Changes the timeout of the MIP parser.
Definition: mip_parser.hpp:60