message: SerialManager_UI: expand the presetUpDown functionality
diff: @@ -40,7 +40,7 @@ class SerialManager_UI {
  TR_Card *card_h = page_h->addCard(card_title);
  if (card_h == NULL) return NULL;
  - String prefix = getPrefix(); //getPrefix() is in SerialManager_UI.h, unless it is over-ridden in this class somewhere
  + String prefix = getPrefix(); //3 character code. getPrefix() is here in SerialManager_UI.h, unless it is over-ridden in the child class somewhere
  String field_name1 = ID_char + field_name; //prepend the field name with the unique ID_char to that it is only associated with a particular instance of the class
  card_h->addButton("-", prefix+down_cmd, "", 4); //label, command, id, width...this is the minus button
  @@ -49,6 +49,27 @@ class SerialManager_UI {
  return card_h;
  }
  + // here is a multi channel version of the up-down button display
  + virtual TR_Card* addCardPreset_UpDown_multiChan(TR_Page *page_h, const String card_title, const String field_name, const String down_cmd, const String up_cmd, int n_chan) {
  + if (page_h == NULL) return NULL;
  + TR_Card *card_h = page_h->addCard(card_title);
  + if (card_h == NULL) return NULL;
  +
  + String prefix = getPrefix(); //3 character code. getPrefix() is here in SerialManager_UI.h, unless it is over-ridden in the child class somewhere
  +
  + for (int i=0; i<n_chan; i++) {
  + String fn_wChan = ID_char + field_name + String(i); //channel number as a character (well, as a string)
  + String pre_wChan = String(prefix[0])+String(prefix[1])+String(i); //drop the 3rd character of the prefix and replace with chan number
  + String cp1 = String(i+1); //for display to a human, who counts from 1 (not zero)
  +
  + card_h->addButton(cp1, "", "", 2); //label, command, id, width...this is the minus button
  + card_h->addButton("-", pre_wChan+down_cmd, "", 3); //label, command, id, width...this is the minus button
  + card_h->addButton("", "", fn_wChan, 4); //label, command, id, width...this text to display the value
  + card_h->addButton("+", pre_wChan+up_cmd, "", 3); //label, command, id, width...this is the plus button
  + }
  + return card_h;
  + }
  +
  //Method to update the text associated the "button" used to display a parameter's values. This updates
  //the button that was named by the convention used by "addCardPreset_UpDown()" so it pairs nicely with
  @@ -57,6 +78,11 @@ class SerialManager_UI {
  String field_name1 = ID_char + field_name; //prepend the unique ID_char so that the text goes to the correct button and not one similarly named
  setButtonText(field_name1, new_text);
  }
  + void updateCardPreset_UpDown(const String field_name,const String new_text, int Ichan) {
  + String field_name1 = ID_char + field_name + String(Ichan); //prepend the unique ID_char so that the text goes to the correct button and not one similarly named
  + setButtonText(field_name1, new_text);
  + }
  +
  //attach the SerialManager
  void setSerialManager(SerialManagerBase *_sm);
  