Changelog - p-o-n-y/pony GitHub Wiki
This changelog is mostly useful for plugin developers, but still can be used by developers interacting directly with the library sourse code. For more detailed information about changes, see commit history.
Features in the changelog are usually mentioned when they are considered to be working, though they still can have bug fixes, updates or changes.
Commits are mentioned in reverse chronological order.
13 Apr 2020
4dac39b
Fixed a bug with failing to parse initialisation strings containing "}{"
6 Apr 2020
49dded0
Fixed pony_linal_mat2quat() (attitude matrix to quaternion conversion) function
5 Apr 2020
fd83842
Added pony_linal_rpy2mat() (roll-pitch-yaw to attitude matrix conversion) and pony_linal_mat2rpy() (attitude matrix to roll-pitch-yaw conversion) functions
529b1e7
Added pony_linal_quat2mat() (attitude quaternion to matrix conversion) function
e537972
Added pony_linal_mat2quat() (attitude matrix to quaternion conversion) function
4 Apr 2020
c93711f
Slightly optimized pony_linal_kalman_update() function for sparse matrices
eaa0f14
Slightly optimized pony_linal_kalman_update() function
4 Mar 2020
62577af
Added pony_linal_mmul1T() (matrix multiplication with the first argument transposed) function
28 Feb 2020
2e12c05
Added t (time of the last measurement) to pony_imu
Added pony_linal_qmul() (quaternion multiplication) function
18 Feb 2020
f9d536c
Version increment - pony_bus_version is 4.
pony_bus renamed to pony_struct, pony is now a pointer to pony_struct (technocally, pony_bus is now an instance of pony_struct, and pony is pointing to pony_bus. However, pony_bus is not accessible outside of the library). This was done in order to allow processing multiple instances of pony_struct.
In your projects, change pony.[...] to pony->[...]
30 Jan 2020
e0b73f5
Added W[3] (angular velocity of the local level reference frame), W_valid (validity flag of W), g[3] (current gravity acceleration vector) and g_valid (validity flag of g) to pony_imu
Removed fg4 from pony_imu_const
29 Jan 2020
4a24979
Scheduled pluging are now also called during initialisation
Not all the mechanics mentioned in 8b668fa and 367319a have been fixed yet
999ecee
Added rad2deg (180/pi) to pony_imu_const
In pony_imu_const increased precision of pi to quad
27 Jan 2020
300d405
Added x_cov (coordinate RMS deviation estimate) and v_cov (velocity RMS deviation estimate) to pony_sol
23 Jan 2020
6a80209
Added pony_linal_vnorm() and pony_linal_cross3x1() functions
22 Jan 2020
367319a
Added pony_reschedule_plugin(), pony_suspend_plugin(), and pony_resume_plugin() functions. They technically work, but have some unobvious/unintended mechanics, which are being fixed. A wiki page will be linked soon
21 Jan 2020
8b668fa
Added pony_plugin structure, plugins are now of type pony_plugin. This did not influence the host side, unless pony.core.plugins is accessed directly.
Added pony_remove_plugin(), pony_replace_plugin() and pony_schedule_plugin() functions. They technically work, but have some unobvious/unintended mechanics, which are being fixed (except for pony_replace_plugin(), which works perfectly fine). A wiki page will be linked soon
20 Jan 2020
4c87ca7
Added pony_gnss_const structure to pony_bus. pony_gps_const, pony_glo_const, pony_gal_const and pony_bds_const instances are now members only in pony_gnss_const structure, and pi, c, sec_in_w and sec_in_d have been moved out of them to pony_gnss_const.
Added pony_time_days_between_dates() function
17 Jan 2020
eba020d
Added pony_imu_const (inertial navigation constants) structure (see structure contents in code)
15 Jan 2020
d63d778
Version increment - pony_bus_version is 3.
Added pony_locate_token() function (more detailed information here will be available later)
13 Jan 2020
b22a02c
Added current_plugin_id (index of the plugin currently being executed in the plugin list) to pony_core
19 Dec 2019
5baff31
Beidou is now functional like gps, glonass and galileo
29 Nov 2019
e81e758
Galileo is now functional like gps and glonass
27 Nov 2019
bad5977
Fixed a memory leak in cases when realloc() returns NULL in pony_add_plugin
19 Nov 2019
a8d3b39
Multithreaded applications are now possible (see Multithreaded applications)
e865a8d
Added ant_pos_tol (antenna position tolerance) and leap_sec_def (default leap seconds) to pony_gnss_settings
25 Oct 2019
e24e0c5
Fixed dt_valid (clock error validity flag) in pony_sol from being double to being char
1 Sep 2019
edc4976
Added ant_pos (antenna position) to pony_gnss_settings
Added pony_linal_mmul2T() (matrix multiplication with the second argument transposed) function
31 Aug 2019
c409fbf
Fixed leap_sec and leap_sec_valid in pony_gnss being uninitialized
28 Aug 2019
1b328c8
Glonass is now functional like gps, ignore "(not supported yet)"
26 Aug 2019
140b7ac
Added pony_glo_const (glonass constants) structure (see structure contents in code)
25 Aug 2019
c1b18a0
Variables leap_sec and leap_sec_valid, previously existing in both pony_gnss_gps and pony_gnss_glo, were moved to pony_gnss (are now shared, so only one of each now exists) (glonass is still not fully supported)
24 Aug 2019
69e6bb0
Version increment - pony_bus_version is 2.
19 Aug 2019
07966e0
Added pony_linal_mmul() (matrix multiplication) and pony_linal_uuT() (square (with transposition) of upper-triangular matrix) functions
17 Aug 2019
25ae72a
Fixed upper-triangular matrix multiplication, changed name from pony_linal_u_mul_v to pony_linal_u_mul
15 Aug 2019
9e30cff
Added pony_linal_u_inv() (upper-triangular matrix inversion) function
5e1f42c
Singular matrices are now allowed in pony_linal_chol()
12 Aug 2019
76db9de
Added pony_linal_chol() (upper-triangular Cholesky factorization) function
Added code_sigma (pseudorange measurement rmsdev (sigma), meters) and phase_sigma (carrier phase measurement rmsdev (sigma), cycles) to pony_gnss_settings
c6422c6
Linear algebra functions are now accessible without #define PONY_LINAL
78ed6df
Discontinuous enumeration of gnss modules is now possible
settings_cfg is renamed to cfg_settings in pony_gnss
10 Aug 2019
64b7660
Added e2 (Earth ellipsoid first eccentricity squared), F1, L1 (nominal frequency and wavelength for L1 signal) and F2, L2 (nominal frequency and wavelength for L2 signal) to pony_gps_const
25 Jul 2019
1d0f768
Version increment - pony_bus_version is 1.
Having multiple gnss modules is now supported.
23 Jul 2019
7fe8de3
Major update
Contents of pony have been almost completely overhauled (though same ideas apply), so rearrange access to the bus. Also the core functions are now structure members, so calls to them are also different. Built-in configuration entries parsing functions (more specifically, the ones used in plugins) have been removed, so now you can define your own (However, an analoge for them has been reintroduced in d63d778 (15 Jan 2020)). Certain linear algebra functions are now available, #define PONY_LINAL to use them in this version (#define PONY_LINAL is removed in c6422c6 (12 Aug 2019), functions are accessible without this definition).
16 Jul 2019
6d5d902
First usable version of pony