iu2frl / ICOM_MemoriesTools

Manage ICOM ICF files to edit memories such as import and export via CSV
3 stars 0 forks source link

Samples #1

Open chevdor opened 4 weeks ago

chevdor commented 4 weeks ago

I read from Reddit that you have quite some radios. It would be great if you could dump some sample ICF file with the infos about the radio and the firmware version. It may be convenient to code the model name and firmware version into the file name.

ManoDaSilva commented 4 weeks ago

I've created a few different versions from the cloning softwares that I have, each with one channel at 145.500 simplex, named "IU2FRL".

Profiles.zip

I don't know how other series of radios work (ham or otherwise). However, for those ICF files, the first line (a number, such as 29790000) give out a unique identifier to which software it matches to. Afaik, each identifier will refer to a unique profile structure specific to this family of radios.

Hoping it helps!

iu2frl commented 4 weeks ago

Here is an IC-2820 memory:

image image image image

Channels are actually more but there's no easy way to export them in a user-friendly way

2820.zip

iu2frl commented 4 weeks ago

Here is an ID-51 plus

0-99.csv 100-199.csv 200-299.csv 300-399.csv 400-499.csv ID-51_plus.zip

iu2frl commented 4 weeks ago

All radios are at the latest firmware available

chevdor commented 4 weeks ago

From what I have seen so far (already be mentioned), there is no real ICF standard. It seems to be a memory dump and thus it is very fragile and depends on the internal data structure. I guess this is due to laziness and/or to avoid having to do parsing in the radio. However, there is already some kinda parsing in and out of csv files. IMO csv is not the greatest format to serialize random data.

I think a good start would be to be able to spot the radio model and the firmware version from an ICF file itself. From there, we could apply the right data structure to decode.

However, for those ICF files, the first line (a number, such as 29790000) give out a unique identifier to which software it matches to. Afaik, each identifier will refer to a unique profile structure specific to this family of radios.

@ManoDaSilva great info. It is also to be expected that an ICF may work for a range of versions. I guess when they make a new firmware version, the version number in the ICF changes but the encoding may or may not. Without a proper encoding, it is however suprising and it would mean that the radio is able to load/parse "any" previous version of the ICF. That sounds at that point way less efficient that having a standard format so maybe they DO have a standard format, just unspotted yet.

iu2frl commented 4 weeks ago

You are right, ICF Is not a standard, as you can see It has different row and data length, that's why a common format should be found. U started with CSV just because it one of the easiest to handle and import export from chirp. Of course it does not consider additional info such as radio settings

chevdor commented 4 weeks ago

I am however a bit suprised that ICOM would not use some kind of standard format. It would make it hard for them to import and ICF that is a few firmware versions old... thinking....