What is the maximum length of the Group and Name properties of the Memory object in FlexLib?

  • 1
  • Question
  • Updated 3 years ago

There appears to be a maximum number of characters that you can assign to the Group & Name properties of the Memory object.  Does anyone know what the limit is?

73, Ray, K9DUR

Photo of Ray Andrews, K9DUR

Ray Andrews, K9DUR, Elmer

  • 239 Posts
  • 61 Reply Likes

Posted 3 years ago

  • 1
Photo of Walt - KZ1F

Walt - KZ1F

  • 3040 Posts
  • 643 Reply Likes
Ray, the short answer is they are String objects so the max is some really large number of characters. It is used in the memory object and I haven't actually seen where / how they are used. Short of Eric answering how these values are used/max practical size, I'd assume a really small number like a name. I've found no instances of getGroup() or getName() nor have I seen where memory objects are used. What you could do is start wireshark on the system where ssdr is running and listen on port 4992 to see where messages referring to group and name are passed.

_radio.SendCommand("memory set " + _index + " group=" + _group.Replace(' ', '\u007f'));

Could it maybe have something to do with upgrade?
Photo of Ray Andrews, K9DUR

Ray Andrews, K9DUR, Elmer

  • 239 Posts
  • 61 Reply Likes

Walt,

Unfortunately the short answer is wrong. 

 I am working on a memory management program. My program can create a .csv file with the same format as SmartSDR creates.  However, if the Group or Name fields are too long in the .csv file, & I import it into SmartSDR, I get unpredictable results.  The Data from one memory spills over into the next memory.

73, Ray, K9DUR

Photo of James Whiteway

James Whiteway

  • 900 Posts
  • 219 Reply Likes
You can always use a Hex editor and look at the fields in the orignal file and see if each field is being padded with null characters at the end of the saved text. Unless the fields allow variable length.
If the are fixed length just loop thru a specific field and count the characters.
james
WD5GWY
Photo of James Whiteway

James Whiteway

  • 900 Posts
  • 219 Reply Likes
I guess my answer depends on being able to access the file Flex uses. (Didn't think of that earlier) Maybe, the api has a section where the memory file is created/loaded. You could look for it in the uncompiled source code and see where it is defined.
james
Photo of Walt - KZ1F

Walt - KZ1F

  • 3040 Posts
  • 643 Reply Likes
Ray, in the software they are both strings, Memory.cs:145 "private string _group; " @177 private string _name;
The max size on a string is 2^31 characters long. Thanks to the other question on Memory, I now know what they are used for and why they show up nowhere in the source avaiable, the GUI uses them. I added a frequency and neither group nor name are filled in. Using the Memory screen I can not add beyond 32 for Name or group. The question you need to ask is are imports allowed? While in that snippet I showed on actually sending the group to the radio, I don't see a reference to name nor do I see a reference to "memory get" So I'd limit your spreadsheet to 32. Look at the doc, if you haven't to see what it says. It could be a bug if it never persists name but thinks it is there, again, check on the doc I am guessing it's a new feature? Either way, there is a bug as input logic should always vet the data coming in.