EliasOenal / multimon-ng

GNU General Public License v2.0
923 stars 206 forks source link

Addresses separator was changed from space to pipe making parsing more tedious and timestamp is missing #193

Closed ramonsmits closed 3 months ago

ramonsmits commented 2 years ago

Output I got from current master https://github.com/EliasOenal/multimon-ng/commit/7b337b6243b7416742fd3e670e5b228a347573d9

FLEX|1600/2|03.010.A|0002029568|SG|5|ALN|3.0.K|0001181799|0001181798|0001171755|0001171753|0001171799|ALARM C-PLOEG UDEN > P 2 BOB-01 DIENSTVERLENING (GASLUCHT) (BINNEN) BAKKER VEN DROSSAARD UDEN 213832
FLEX|1600/2|14.111.A|0001400577|SS|5|ALN|3.0.K|Gaarne telefonisch contact Logistiek Piket

Previously multiple addresses were separated by a space ` but now with pipe|which make parsing more tedious. This means splitting on|` isn't giving a consistent number of items.

I also noticed that the columns/fields are very different:

Master / https://github.com/EliasOenal/multimon-ng/commit/7b337b6243b7416742fd3e670e5b228a347573d9:

FLEX
1600/2
03.010.A
0002029568
SG
5
ALN
3.0.K
0001181799|0001181798|0001171755|0001171753|0001171799
ALARM C-PLOEG UDEN > P 2 BOB-01 DIENSTVERLENING (GASLUCHT) (BINNEN) BAKKER VEN DROSSAARD UDEN 213832

Note that the timestamp is gone on master

1.1.9:

FLEX
2022-06-04 08:51:31
1600/2/K/A
12.122
002029569 001430065 001400999 001400985 001400976 001400926 001400852
ALN
P 3 BRT-04 Uitval nutsvoorz. (elektriciteit) Hesseplaats en omgeving Rotterdam 179992 179094

Maybe 7b337b6 is in a way better as I don't really understand most but it lost the timestamp and it seems that the previous 1600/2/K/A and 01.063 are now split after the changes from @rfarley3

Revert to previous formatting

I would suggest reverting to the previous formatting that is the same regardless of grouping which is parsing friendly:

FLEX|2022-06-04 08:51:31|1600/2/K/A|12.122|002029569 001430065 001400999 001400985 001400976 001400926 001400852|ALN|P 3 BRT-04 Uitval nutsvoorz. (elektriciteit) Hesseplaats en omgeving Rotterdam 179992 179094
FLEX|2022-06-04 08:52:50|1600/2/K/A|13.036|001123109|ALN|B1 Eindhoven Rit: 62806

There the logic was simple. Split on | and if you have multiple addresses ignore the first.

Also, I would suggest that if any formatting is changed again that this is made clear in the release notes and not changed in a patch release but a minor. Preferably even as a major version if you would want to conform to the SemVer specification for API changes but a patch increment suggest a fix without any major changes.

Maybe even have a separate version number for the demodulator as quite a few people rely on the output. That way I guess it would even be better as these demodulators are unrelated regarding their changes.

EliasOenal commented 2 years ago

Thank you for your feedback. There were a few regressions in the changes introduced by @rfarley3, which is why we've now split the decoder versions into FLEX (1.1.9) and FLEX_NEXT (@rfarley3's changes) until FLEX_NEXT had enough time to mature. Thus using FLEX should now express the old behavior again. Please let me know if this sufficiently addresses the issue.

ramonsmits commented 2 years ago

@EliasOenal thanks, I see changes on master and a commit that set version to 1.2.0 but I don't see a release yet.

Does this mean master output format currently is the same as 1.1.8?

I might find some time this weekend to test master.