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