|
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