MIP SDK  0.0.1
MicroStrain Communications Library for embedded systems
Classes | Namespaces | Typedefs | Enumerations | Functions
descriptors.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include "../utils/serialization.h"
#include <tuple>
#include <type_traits>
Include dependency graph for descriptors.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mip::C::mip_descriptor_rate
 
struct  mip::CompositeDescriptor
 Convenience struct holding both descriptor set and field descriptor. More...
 
struct  mip::Bitfield< DerivedT >
 A dummy struct which is used to mark bitfield objects. More...
 

Namespaces

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

Typedefs

typedef enum mip_function_selector mip::C::mip_function_selector
 
typedef struct mip::C::mip_descriptor_rate mip::C::mip_descriptor_rate
 
using mip::DescriptorRate = C::mip_descriptor_rate
 

Enumerations

enum  {
  mip::C::MIP_INVALID_DESCRIPTOR_SET = 0x00 , mip::C::MIP_DATA_DESCRIPTOR_SET_START = 0x80 , mip::C::MIP_RESERVED_DESCRIPTOR_SET_START = 0xF0 , mip::C::MIP_INVALID_FIELD_DESCRIPTOR = 0x00 ,
  mip::C::MIP_REPLY_DESCRIPTOR = 0xF1 , mip::C::MIP_RESERVED_DESCRIPTOR_START = 0xF0 , mip::C::MIP_RESPONSE_DESCRIPTOR_START = 0x80 , mip::C::MIP_SHARED_DATA_FIELD_DESCRIPTOR_START = 0xD0
}
 
enum  mip::C::mip_function_selector {
  mip::C::MIP_FUNCTION_WRITE = 0x01 , mip::C::MIP_FUNCTION_READ = 0x02 , mip::C::MIP_FUNCTION_SAVE = 0x03 , mip::C::MIP_FUNCTION_LOAD = 0x04 ,
  mip::C::MIP_FUNCTION_RESET = 0x05
}
 
enum class  mip::FunctionSelector : uint8_t {
  mip::WRITE = C::MIP_FUNCTION_WRITE , mip::READ = C::MIP_FUNCTION_READ , mip::SAVE = C::MIP_FUNCTION_SAVE , mip::LOAD = C::MIP_FUNCTION_LOAD ,
  mip::RESET = C::MIP_FUNCTION_RESET
}
 

Functions

bool mip::C::mip_is_valid_descriptor_set (uint8_t descriptor_set)
 
bool mip::C::mip_is_data_descriptor_set (uint8_t descriptor_set)
 
bool mip::C::mip_is_cmd_descriptor_set (uint8_t descriptor_set)
 
bool mip::C::mip_is_reserved_descriptor_set (uint8_t descriptor_set)
 
bool mip::C::mip_is_valid_field_descriptor (uint8_t field_descriptor)
 
bool mip::C::mip_is_cmd_field_descriptor (uint8_t field_descriptor)
 
bool mip::C::mip_is_reply_field_descriptor (uint8_t field_descriptor)
 
bool mip::C::mip_is_response_field_descriptor (uint8_t field_descriptor)
 
bool mip::C::mip_is_reserved_cmd_field_descriptor (uint8_t field_descriptor)
 
bool mip::C::mip_is_shared_data_field_descriptor (uint8_t field_descriptor)
 
void mip::C::insert_mip_function_selector (mip_serializer *serializer, enum mip_function_selector self)
 
void mip::C::extract_mip_function_selector (mip_serializer *serializer, enum mip_function_selector *self)
 
void mip::C::insert_mip_descriptor_rate (mip_serializer *serializer, const mip_descriptor_rate *self)
 
void mip::C::extract_mip_descriptor_rate (mip_serializer *serializer, mip_descriptor_rate *self)
 
template<class Derived >
void mip::insert (Serializer &serializer, const Bitfield< Derived > &bitfield)
 
template<class Derived >
void mip::extract (Serializer &serializer, Bitfield< Derived > &bitfield)
 
bool mip::isValidDescriptorSet (uint8_t descriptorSet)
 
bool mip::isDataDescriptorSet (uint8_t descriptorSet)
 
bool mip::isCommandDescriptorSet (uint8_t descriptorSet)
 
bool mip::isReservedDescriptorSet (uint8_t descriptorSet)
 
bool mip::isValidFieldDescriptor (uint8_t fieldDescriptor)
 
bool mip::isCommandFieldDescriptor (uint8_t fieldDescriptor)
 
bool mip::isReplyFieldDescriptor (uint8_t fieldDescriptor)
 
bool mip::isResponseFieldDescriptor (uint8_t fieldDescriptor)
 
bool mip::isReservedFieldDescriptor (uint8_t fieldDescriptor)
 
bool mip::isSharedDataFieldDescriptor (uint8_t fieldDescriptor)
 
void mip::insert (Serializer &serializer, const DescriptorRate &self)
 
void mip::extract (Serializer &serializer, DescriptorRate &self)