MIP_SDK  v4.0.0-234-g2b06a940
MicroStrain Communications Library for embedded systems
Functions | Variables
5_series_stream_imu_example.cpp File Reference
#include <microstrain/connections/serial/serial_connection.hpp>
#include <microstrain/logging.hpp>
#include <mip/mip_interface.hpp>
#include <mip/definitions/commands_3dm.hpp>
#include <mip/definitions/commands_base.hpp>
#include <mip/definitions/data_sensor.hpp>
#include <chrono>
#include <cinttypes>
#include <cstdarg>
#include <cstdio>
#include <cstdlib>
#include <cstring>

Functions

static void logCallback (void *_user, const microstrain_log_level _level, const char *_format, va_list _args)
 Custom logging callback for MIP SDK message formatting and output. More...
 
static mip::Timestamp getCurrentTimestamp ()
 Gets the current system timestamp in milliseconds. More...
 
static void initializeDevice (mip::Interface &_device)
 Initializes and configures a MIP device interface. More...
 
static bool isDescriptorSupported (const mip::CompositeDescriptor &_compositeDescriptor, const uint16_t *_supportedDescriptors, const uint8_t _supportedDescriptorCount)
 Determines if the device supports a specific descriptor. More...
 
static void configureSensorMessageFormat (mip::Interface &_device, const uint16_t *_supportedDescriptors, const uint8_t _supportedDescriptorCount)
 Configures message format for sensor data streaming. More...
 
static void packetCallback (void *_user, const mip::PacketView &_packetView, mip::Timestamp _timestamp)
 Callback function that processes received MIP packets. More...
 
static void accelFieldCallback (void *_user, const mip::FieldView &_fieldView, mip::Timestamp _timestamp)
 Callback handler for accelerometer data fields. More...
 
static void gyroFieldCallback (void *_user, const mip::FieldView &_fieldView, mip::Timestamp _timestamp)
 Callback handler for gyroscope data fields. More...
 
static void magFieldCallback (void *_user, const mip::FieldView &_fieldView, mip::Timestamp _timestamp)
 Callback handler for magnetometer data fields. More...
 
static void terminate (microstrain::Connection *_connection, const char *_message, const bool _successful)
 Handles graceful program termination and cleanup. More...
 
static void terminate (mip::Interface &_device, const mip::CmdResult _cmdResult, const char *_format,...)
 Handles graceful program termination and command failure cleanup. More...
 
int main (const int argc, const char *argv[])
 

Variables

static constexpr const char * PORT_NAME = "/dev/ttyACM0"
 Set the port name for the connection (Serial/USB) More...
 
static constexpr uint32_t BAUDRATE = 115200
 Set the baudrate for the connection (Serial/USB) More...
 
static constexpr uint16_t SAMPLE_RATE_HZ = 1
 Streaming rate in Hz. More...
 
static constexpr uint32_t RUN_TIME_SECONDS = 30
 Example run time. More...
 

Function Documentation

◆ main()

int main ( const int  argc,
const char *  argv[] 
)