MIP_SDK  latest-2-g34f3e39
MicroStrain Communications Library for embedded systems
Namespaces | Classes | Typedefs | Enumerations | Functions
mip Namespace Reference

A collection of C++ classes and functions covering the full mip api. More...

Namespaces

 C
 
 commands_3dm
 
 commands_aiding
 
 commands_base
 
 commands_filter
 
 commands_gnss
 
 commands_rtk
 
 commands_system
 
 data_filter
 
 data_gnss
 
 data_sensor
 
 data_shared
 
 data_system
 
 
 platform
 
 serialization
 

Classes

struct  Bitfield
 A dummy struct which is used to mark bitfield objects. More...
 
struct  CmdQueue
 C++ wrapper around a command queue. More...
 
struct  CmdResult
 Represents the status of a MIP command. More...
 
struct  CompositeDescriptor
 Convenience struct holding both descriptor set and field descriptor. More...
 
class  CompositeResult
 Represents a list of zero or more actions and their results. More...
 
class  DescriptorId
 A combination of a MIP descriptor pair and u16 ID value. More...
 
struct  DescriptorRate
 
struct  Dispatcher
 
struct  FieldStruct
 
class  FieldView
 C++ class representing a MIP field. More...
 
class  FirmwareVersion
 Represents the device firmware version. More...
 
class  Interface
 Represents a connected MIP device. More...
 
class  PacketView
 C++ class representing a view of a MIP packet. More...
 
class  Parser
 C++ class representing a MIP parser. More...
 
struct  PendingCmd
 C++ class representing the state of a MIP command. More...
 
class  SizedPacketBuf
 A mip packet with a self-contained buffer (useful with std::vector). More...
 
struct  TypedResult
 A CmdResult that knows the corresponding command type. More...
 
struct  Vector
 Vector is a wrapper around an array of some type T, usually float or double. More...
 

Typedefs

using ModelNumber = C::mip_model_number
 
using Timestamp = microstrain::EmbeddedTimestamp
 
using Timeout = microstrain::EmbeddedTimeout
 
using Vector3f = Vector< float, 3 >
 
using Vector4f = Vector< float, 4 >
 
using Matrix3f = Vector< float, 9 >
 
using Vector3d = Vector< double, 3 >
 
using Vector4d = Vector< double, 4 >
 
using Matrix3d = Vector< double, 9 >
 
using Quatf = Vector4f
 
template<class T >
using isField = std::is_base_of< FieldStruct, T >
 
template<class T >
using EnableForFieldTypes = std::enable_if< isField< T >::value, T >
 
using DispatchHandler = C::mip_dispatch_handler
 
typedef SizedPacketBuf< mip::PACKET_LENGTH_MAX > PacketBuf
 Typedef for SizedPacketBuf of max possible size. More...
 
using Serializer = microstrain::BigEndianSerializer
 

Enumerations

enum  FunctionSelector : uint8_t {
  FunctionSelector::WRITE = C::MIP_FUNCTION_WRITE, FunctionSelector::READ = C::MIP_FUNCTION_READ, FunctionSelector::SAVE = C::MIP_FUNCTION_SAVE, FunctionSelector::LOAD = C::MIP_FUNCTION_LOAD,
  FunctionSelector::RESET = C::MIP_FUNCTION_RESET
}
 

Functions

bool mip_is_valid_descriptor_set (uint8_t descriptor_set)
 Determines if the descriptor set is valid. More...
 
bool mip_is_data_descriptor_set (uint8_t descriptor_set)
 Determines if the descriptor set represents some kind of data. More...
 
bool mip_is_cmd_descriptor_set (uint8_t descriptor_set)
 Determines if the descriptor set contains commands. More...
 
bool mip_is_reserved_descriptor_set (uint8_t descriptor_set)
 Determines if the descriptor is reserved for special purposes. More...
 
bool mip_is_gnss_data_descriptor_set (uint8_t descriptor_set)
 Determines if the descriptor set represents some kind of GNSS data. More...
 
bool mip_is_valid_field_descriptor (uint8_t field_descriptor)
 Determines if the field descriptor is valid. More...
 
bool mip_is_cmd_field_descriptor (uint8_t field_descriptor)
 Determines if the field descriptor is a command. More...
 
bool mip_is_reply_field_descriptor (uint8_t field_descriptor)
 Determines if the field descriptor is for an ack/nack reply. More...
 
bool mip_is_response_field_descriptor (uint8_t field_descriptor)
 Determines if the field descriptor contains response data from a command. More...
 
bool mip_is_reserved_cmd_field_descriptor (uint8_t field_descriptor)
 Determines if the field descriptor is reserved. More...
 
bool mip_is_shared_data_field_descriptor (uint8_t field_descriptor)
 Determines if the field descriptor is from the shared data set. More...
 
void insert_mip_function_selector (microstrain_serializer *serializer, enum mip_function_selector self)
 
void extract_mip_function_selector (microstrain_serializer *serializer, enum mip_function_selector *self)
 
ModelNumber getModelFromString (const char *model_or_serial)
 
const char * getModelNameFromNumber (ModelNumber model)
 
template<typename T , size_t N>
size_t insert (Serializer &serializer, const Vector< T, N > &v)
 
template<typename T , size_t N>
size_t extract (Serializer &serializer, Vector< T, N > &v)
 
template<class Cmd , class... Args>
CompositeResult::Entry runCommandEx (Interface &device, const Cmd &cmd, Args &&... args)
 
template<class Derived >
size_t insert (Serializer &serializer, const Bitfield< Derived > &bitfield)
 
template<class Derived >
size_t extract (Serializer &serializer, Bitfield< Derived > &bitfield)
 
bool isValidDescriptorSet (uint8_t descriptorSet)
 
bool isDataDescriptorSet (uint8_t descriptorSet)
 
bool isCommandDescriptorSet (uint8_t descriptorSet)
 
bool isReservedDescriptorSet (uint8_t descriptorSet)
 
bool isGnssDataDescriptorSet (uint8_t descriptorSet)
 
bool isValidFieldDescriptor (uint8_t fieldDescriptor)
 
bool isCommandFieldDescriptor (uint8_t fieldDescriptor)
 
bool isReplyFieldDescriptor (uint8_t fieldDescriptor)
 
bool isResponseFieldDescriptor (uint8_t fieldDescriptor)
 
bool isReservedFieldDescriptor (uint8_t fieldDescriptor)
 
bool isSharedDataFieldDescriptor (uint8_t fieldDescriptor)
 
void connect_interface (mip::Interface &device, microstrain::Connection &conn)
 Sets up the mip interface callbacks to point at this object. More...
 
template<class Cmd >
CmdResult runCommand (C::mip_interface &device, const Cmd &cmd, Timeout additionalTime=0)
 
template<class Cmd >
CmdResult runCommand (C::mip_interface &device, const Cmd &cmd, typename Cmd::Response &response, Timeout additionalTime=0)
 
template<class Cmd , class... Args>
CmdResult runCommand (C::mip_interface &device, const Args &&... args, Timeout additionalTime)
 
template<class Cmd >
bool startCommand (C::mip_interface &device, C::mip_pending_cmd &pending, const Cmd &cmd, Timeout additionalTime)
 
template<class T >
bool extract (T &object, const uint8_t *buffer, size_t bufferLength, size_t offset=0, bool exactSize=false)
 
template<class T >
bool insert (const T &object, uint8_t *buffer, size_t bufferLength, size_t offset=0)
 

Detailed Description

A collection of C++ classes and functions covering the full mip api.

See also
C++ API

Typedef Documentation

◆ ModelNumber

◆ Serializer

◆ Timeout

◆ Timestamp

Function Documentation

◆ extract()

template<class T >
bool mip::extract ( T &  object,
const uint8_t *  buffer,
size_t  bufferLength,
size_t  offset = 0,
bool  exactSize = false 
)
inline

◆ getModelFromString()

ModelNumber mip::getModelFromString ( const char *  model_or_serial)
inline

◆ getModelNameFromNumber()

const char* mip::getModelNameFromNumber ( ModelNumber  model)
inline

◆ insert()

template<class T >
bool mip::insert ( const T &  object,
uint8_t *  buffer,
size_t  bufferLength,
size_t  offset = 0 
)
inline

◆ runCommandEx()

template<class Cmd , class... Args>
CompositeResult::Entry mip::runCommandEx ( Interface device,
const Cmd &  cmd,
Args &&...  args 
)