| 
    MIP_SDK
    v4.0.0-237-g9879cb72
    
   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:185
 
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:462
 
mip_timeout mip_parser_timeout(const mip_parser *parser)
Returns the packet timeout of the parser.
Definition: mip_parser.c:438
 
void mip_parser_set_timeout(mip_parser *parser, mip_timeout timeout)
Changes the timeout of the MIP parser.
Definition: mip_parser.c:450
 
Structure representing a MIP Packet.
Definition: mip_packet.h:63
 
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:47
 
void mip_parser_flush(mip_parser *parser)
Processes all previously buffered data.
Definition: mip_parser.c:392
 
MIP Parser state.
Definition: mip_parser.h:57
 
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:30
 
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:425
 
void mip_parser_reset(mip_parser *parser)
Resets the MIP parser.
Definition: mip_parser.c:49
 
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:34
 
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