Skip to content
This repository was archived by the owner on Feb 11, 2026. It is now read-only.

Commit a8b8807

Browse files
Merge pull request #107 from LORD-MicroStrain/develop
Merge all changes for v2 release to master.
2 parents 2c3e4ef + 478948e commit a8b8807

125 files changed

Lines changed: 28978 additions & 5960 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Denote all files that are truly binary and should not be modified.
2+
*.bin binary
3+
*.svg binary

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ build-doc/
33
.vscode/
44
int/
55
.idea/
6+
.vs/
7+
8+
src/mip/mip_version.h

CHANGELOG.md

Lines changed: 91 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,91 @@
1-
2-
MIP SDK Change Log
3-
==================
4-
5-
The version number scheme for the MIP SDK is MAJOR.MINOR.PATCH.
6-
7-
* The MAJOR number is incremented when breaking changes are made which are not backwards compatible.
8-
This includes public API changes and especially behavioral changes. It is likely that existing code
9-
will not work properly and/or may not compile without changes.
10-
* The MINOR number is incremented when a new feature is added or a current feature is improved.
11-
Minor revisions may incorporate bug fixes and other patches.
12-
* The PATCH number is incremented when a bug is fixed or a small, non-breaking change is made.
13-
Patches will not significantly affect the behavior of existing code, except where such behavior
14-
is unintentional or erroneous.
15-
16-
Major revisions will specify what caused the non-backwards compatible change. These will be specified like so:
17-
CHANGED - A non-backwards compatible change was made to an existing function/class.
18-
RENAMED - A function/class has been renamed.
19-
REMOVED - A function/class has been removed.
20-
21-
Forthcoming
22-
-----------
23-
* TBD
24-
25-
v1.0.0
26-
------
27-
* Initial release of the MIP SDK
1+
2+
MIP SDK Change Log
3+
==================
4+
5+
The version number scheme for the MIP SDK is MAJOR.MINOR.PATCH.
6+
7+
* The MAJOR number is incremented when breaking changes are made which are not backwards compatible.
8+
This includes public API changes and especially behavioral changes. It is likely that existing code
9+
will not work properly and/or may not compile without changes.
10+
* The MINOR number is incremented when a new feature is added or a current feature is improved.
11+
Minor revisions may incorporate bug fixes and other patches.
12+
* The PATCH number is incremented when a bug is fixed or a small, non-breaking change is made.
13+
Patches will not significantly affect the behavior of existing code, except where such behavior
14+
is unintentional or erroneous.
15+
16+
Major revisions will specify what caused the non-backwards compatible change. These will be specified like so:
17+
CHANGED - A non-backwards compatible change was made to an existing function/class.
18+
RENAMED - A function/class has been renamed.
19+
REMOVED - A function/class has been removed.
20+
21+
Forthcoming
22+
-----------
23+
### New Features
24+
### Interface Changes
25+
### Bug Fixes
26+
27+
28+
v2.0.0
29+
------
30+
31+
### New features
32+
* CV7-INS support
33+
* GV7-INS support
34+
* Logging capability (`mip_logging.h`)
35+
* Diagnostic counters in mip parser and mip interface for debugging (define `MIP_ENABLE_DIAGNOSTICS`)
36+
* User-defined values in CmdResult
37+
* Additional metadata in C++ command structs
38+
* `mip::PacketBuf` - implements `mip::PacketRef` and includes a data buffer
39+
* Extra helper utilities
40+
* `CompositeResult` - stores a std::vector of CmdResults and associated command descriptors
41+
* `Index` - Helps prevent off-by-one errors when using 1-based MIP and 0-based arrays
42+
* `RecordingConnection` - Intermediate connection which logs sent/received data to files
43+
44+
### Interface Changes
45+
46+
#### Renamed
47+
* CMake:
48+
* `WITH_SERIAL` → `MIP_USE_SERIAL`
49+
* `WITH_TCP` → `MIP_USE_TCP`
50+
* C++
51+
* `mip::Packet` → `mip::PacketRef`
52+
* `CMD_GPS_TIME_BROADCAST_NEW` → `CMD_GPS_TIME_UPDATE`
53+
* C
54+
* `timestamp_type` → `mip_timestamp`
55+
* `timeout_type` → `mip_timeout`
56+
* `renaming_count` → `int` (typedef removed)
57+
* `packet_length` → `uint_least16_t` (typedef removed)
58+
* `MIP_CMD_DESC_BASE_GPS_TIME_BROADCAST_NEW` → `MIP_CMD_DESC_BASE_GPS_TIME_UPDATE`
59+
60+
#### Changed
61+
* The following 2 extern functions have been changed to callbacks to better support shared libraries.
62+
Supply your callbacks to `mip_interface_init`.
63+
* `mip_interface_user_send_to_device`
64+
* `mip_interface_user_recv_from_device`
65+
* The interface for certain commands from files in `mip/definitions` have been modified:
66+
* Vectors and Quaternions are now explicitly-defined types.
67+
* In C, these are typedef'd to arrays.
68+
* In C++, these are simple structs offering conversion to/from plain arrays and some
69+
other helpful features such as `fill`.
70+
* Command/response structs (e.g. `mip::commands_base::DeviceDescriptors::Response`) now have
71+
arrays embedded rather than pointers. This change simplifies user code and reduces bugs due
72+
to dangling pointers.
73+
* The C standard in CMake has been switched to `C11` from `C99` to reflect actual usage and fix
74+
some warnings.
75+
* `serial_port_init` must now be called before any of the other serial port functions.
76+
77+
### Bug Fixes
78+
* Use `NULL` payload for `mip_field_from_header_ptr` if input field isn't long enough
79+
* Properly de-queue pending commands in `mip_interface_wait_for_reply` if `mip_interface_update` fails.
80+
* `mip_packet_cancel_last_field` now computes the new header length correctly
81+
* Serial Ports
82+
* Serial ports now close themselves properly if an error occurs while reading from the port. This happens when the device is connected via USB and is unplugged.
83+
* The port is now opened exclusively in Posix (Linux, Mac) systems
84+
* The port is now closed properly if setup fails during `serial_port_open`.
85+
* Removed `handle->is_open` member to avoid it becoming out of date.
86+
* TCP connections are now supported on Windows.
87+
88+
89+
v1.0.0
90+
------
91+
* Initial release of the MIP SDK

0 commit comments

Comments
 (0)