Hi all,
For quite some time, it has been apparent that the current method of storing memory data on save and detecting the model on load was breaking down. Right now, memory data from an image-based radio is dropped directly into a file and the length of that file is used to identify the model when it is opened.
I certainly don't want to eliminate that mode of operation, since it's useful for developers. However, it's not the best thing for the users. I've been thinking for a while about a meta format that could encapsulate the memory image, as well as some other useful data for us, the least of which would be information to make the process of driver matching straightforward.
Attached is an example of what I have come up with, along with an XML schema definition for it. I think this is extensible enough to support more things in the future, such as storing raw command strings from a Kenwood-like radio for whole backup purposes, etc. For now, it will support base64 encoding and md5 checksumming of the binary data, as well as timestamping of when the file was created, last modified, uploaded and downloaded from the radio.
I've got a mechanism in there for generic metadata, which could be used by the drivers for internal record-keeping, and/or by the UI for the users.
I'd appreciate some feedback and discussion on this. We don't have to solve the whole problem right now, but I'd like to make sure that what we settle on is something we can deal with in the long-term, even if we do extend it in the future.
I dunno what to call it, really. I burned .chirp on the generic XML format (which I've never liked), so I'm calling this CDF (chirp data format) for the moment.
Thanks!