|
33 | 33 |
|
34 | 34 | public class BoardPort {
|
35 | 35 |
|
36 |
| - private String address; |
37 |
| - private String protocol; |
| 36 | + private String address; // unique name for this port, used by Preferences |
| 37 | + private String protocol; // how to communicate, used for Ports menu sections |
38 | 38 | private String boardName;
|
39 | 39 | private String boardId;
|
40 |
| - private String vid; |
41 |
| - private String pid; |
42 |
| - private String iserial; |
43 |
| - private String label; |
44 |
| - private final PreferencesMap prefs; |
45 |
| - private boolean online; |
| 40 | + private String label; // friendly name shown in Ports menu |
| 41 | + private final PreferencesMap prefs; // "vendorId", "productId", "serialNumber" |
| 42 | + private boolean online; // used by SerialBoardsLister (during upload??) |
46 | 43 |
|
47 | 44 | public BoardPort() {
|
48 | 45 | this.prefs = new PreferencesMap();
|
49 | 46 | }
|
50 | 47 |
|
51 | 48 | public BoardPort(BoardPort bp) {
|
52 |
| - prefs = new PreferencesMap(); |
53 |
| - // TODO: copy bp.prefs to prefs |
| 49 | + prefs = new PreferencesMap(bp.prefs); |
54 | 50 | address = bp.address;
|
55 | 51 | protocol = bp.protocol;
|
56 | 52 | boardName = bp.boardName;
|
57 |
| - vid = bp.vid; |
58 |
| - pid = bp.pid; |
59 |
| - iserial = bp.iserial; |
60 | 53 | label = bp.label;
|
| 54 | + online = bp.online; |
61 | 55 | }
|
62 | 56 |
|
63 | 57 | public String getAddress() {
|
@@ -113,27 +107,39 @@ public boolean isOnline() {
|
113 | 107 | }
|
114 | 108 |
|
115 | 109 | public void setVIDPID(String vid, String pid) {
|
116 |
| - this.vid = vid; |
117 |
| - this.pid = pid; |
| 110 | + if (vid == null) { |
| 111 | + prefs.remove("vendorId"); |
| 112 | + } else { |
| 113 | + prefs.put("vendorId", vid); |
| 114 | + } |
| 115 | + if (pid == null) { |
| 116 | + prefs.remove("productId"); |
| 117 | + } else { |
| 118 | + prefs.put("productId", pid); |
| 119 | + } |
118 | 120 | }
|
119 | 121 |
|
120 | 122 | public String getVID() {
|
121 |
| - return vid; |
| 123 | + return prefs.get("vendorId"); |
122 | 124 | }
|
123 | 125 |
|
124 | 126 | public String getPID() {
|
125 |
| - return pid; |
| 127 | + return prefs.get("productId"); |
126 | 128 | }
|
127 | 129 |
|
128 | 130 | public void setISerial(String iserial) {
|
129 |
| - this.iserial = iserial; |
| 131 | + if (iserial == null) { |
| 132 | + prefs.remove("serialNumber"); |
| 133 | + } else { |
| 134 | + prefs.put("serialNumber", iserial); |
| 135 | + } |
130 | 136 | }
|
131 | 137 | public String getISerial() {
|
132 |
| - return iserial; |
| 138 | + return prefs.get("serialNumber"); |
133 | 139 | }
|
134 | 140 |
|
135 | 141 | @Override
|
136 | 142 | public String toString() {
|
137 |
| - return this.address+"_"+this.vid+"_"+this.pid; |
| 143 | + return this.address+"_"+getVID()+"_"+getPID(); |
138 | 144 | }
|
139 | 145 | }
|
0 commit comments