If I have a CSV file that contains more "Memories" than the radio supports, it appears that the "Import" function imports the number of entries from the file that the radios supports, where the "channel number" is valid for that radio.
Yes, that's the summary.
Using a CSV file that contains entries for 999 channels
(including blank channels)
- A radio that supports 127 memory channels will import the entries
from the CSV file with "channel numbers" 0-127 and ignore the entries with "channel numbers" greater than 127
Yes, because the target radio has nowhere to store channel 128 (for example). One caveat is that if the source or target radio has no zero channel, it will import starting from memory 1. It may not be clear, but you can import from any file chirp can read, not just CSV files. CSV files start at zero, but if you import a CSV file with a memory #0 into a radio with no zero memory, it will be skipped. If you import from a memory image of a radio that starts at 1 into a radio that has a memory #0, the existing memory #0 will not be overwritten. This is done to make sure that you can maintain consistent memory channel numbers across radios with different layouts.
- A radio that supports 250 memory channels will import the entries
from the CSV file with "channel numbers" 0-250 and ignore the entries with "channel numbers" greater than 250 3. A radio that supports 999 memory channels will import all of the channels in the CSV file.
The behavior is the same regardless of the upper bound you choose. Note that in your last example, if the radio that supports 999 channels' range goes from 1-999 and the CSV has 0-998, then you of course will be missing one.
This seems to be the behavior on the radios I have tried, but I only have 4 different models of radios to test with, so I want to confirm this.
The behavior is radio-independent, so...yes? Aside from the caveats above. CSV files could potentially have many more than 999 channels, so you can extend your example as far as you want, but the rule is the same.
I will note that import is not special and is literally the same as opening the source file and doing copy/paste into a target. If you, for example, want all 999 memories in a source file that goes from 0-998 brought into your radio that numbers channels from 1-999 (i.e. shifting the actual channel numbers to maintain them all) you'd be better off doing the open-copy-paste workflow. In fact, open-copy-paste is always superior in my view and the only reason File->import is there is due to complaints that without it, CHIRP was unable to move memories between radios and the only way to convince some people was to add it as a shortcut to a less-flexible automation of open-copy-paste :)
--Dan