Skip to content

Commit f23a075

Browse files
committed
adding more TENMA PSUs
1 parent 001b394 commit f23a075

4 files changed

Lines changed: 253 additions & 19 deletions

File tree

benchmesh-serial-service/frontend/src/ui/ConfigModal.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -306,11 +306,13 @@ export function ConfigModal({ isOpen, onClose, apiBase, onConfigUpdated }: Confi
306306
onChange={(e) => updateDevice(index, 'model', e.target.value)}
307307
>
308308
<option value="">Select model...</option>
309-
{driverModels[device.driver].map((model) => (
310-
<option key={model} value={model}>
311-
{model}
312-
</option>
313-
))}
309+
{driverModels[device.driver]
310+
.filter((model) => model !== 'DEFAULT')
311+
.map((model) => (
312+
<option key={model} value={model}>
313+
{model}
314+
</option>
315+
))}
314316
</select>
315317
) : (
316318
<input

benchmesh-serial-service/src/benchmesh_service/api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,8 @@ def list_driver_models(driver_id: str):
279279
models = manifest.get('models', {})
280280
if not isinstance(models, dict):
281281
return []
282-
return list(models.keys())
282+
# Filter out DEFAULT - it's an internal template, not a selectable model
283+
return [k for k in models.keys() if k != 'DEFAULT']
283284
except Exception as e:
284285
raise HTTPException(status_code=500, detail=f"Failed to read manifest: {str(e)}")
285286

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
Currently supported instruments:
2-
72-2545
3-
72-2535
4-
72-2540
5-
72-2550
6-
72-2705
7-
72-2710
8-
72-2930
9-
72-2940
10-
72-13320
11-
72-13330
12-
72-13360
2+
| Model | Max Voltage | Max Current | Max Power | Configuration |
3+
|----------|----------------------------|------------------------|------------|-------------------------------------------------|
4+
| 72-2545 | 60V | 2A | 120W | Single output |
5+
| 72-2535 | 30V | 3A | 90W | Single output |
6+
| 72-2540 | 30V | 5A | 150W | Single output |
7+
| 72-2550 | 60V | 3A | 180W | Single output |
8+
| 72-2705 | 30V | 3A | 90W | Single output |
9+
| 72-2710 | 30V | 5A | 150W | Single output |
10+
| 72-2930 | 30V | 10A | 300W | Single output |
11+
| 72-2940 | 60V | 5A | 300W | Single output |
12+
| 72-13320* | 30V | 3A per output | 195W total | Triple output (3×30V/3A) |
13+
| 72-13330* | 30V (Ch1/Ch2), Fixed (Ch3) | 5A (Ch1/Ch2), 3A (Ch3) | 315W total | Triple output, Ch3 fixed voltage (2.5V/3.3V/5V) |
14+
| 72-13360 | 60V | 15A | 300W | Single output |
15+
* tripple output devices might have limited functionality

benchmesh-serial-service/src/benchmesh_service/drivers/tenma_72/manifest.json

Lines changed: 230 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
"max": 150.0
4545
}
4646
},
47-
"modes": {},
4847
"protection": {
4948
"OCP": {
5049
"type": "boolean"
@@ -57,10 +56,239 @@
5756
}
5857
}
5958
},
59+
"72-2535": {
60+
"id_patterns": [
61+
"TENMA 72-2535"
62+
],
63+
"instrument_class": {
64+
"PSU": {
65+
"features": {
66+
"absolute_limits": {
67+
"current": {
68+
"unit": "A",
69+
"max": 3.0
70+
},
71+
"power": {
72+
"unit": "W",
73+
"max": 90.0
74+
}
75+
}
76+
}
77+
}
78+
}
79+
},
6080
"72-2540": {
6181
"id_patterns": [
6282
"TENMA 72-2540"
83+
],
84+
"polling": [
85+
{
86+
"method": "poll_status",
87+
"interval": 3
88+
}
89+
],
90+
"instrument_class": {
91+
"PSU": {
92+
"features": {
93+
"channels": 1
94+
}
95+
}
96+
}
97+
},
98+
"72-2545": {
99+
"id_patterns": [
100+
"TENMA 72-2545"
101+
],
102+
"instrument_class": {
103+
"PSU": {
104+
"features": {
105+
"absolute_limits": {
106+
"voltage": {
107+
"unit": "V",
108+
"max": 60.0
109+
},
110+
"current": {
111+
"unit": "A",
112+
"max": 2.0
113+
},
114+
"power": {
115+
"unit": "W",
116+
"max": 120.0
117+
}
118+
}
119+
}
120+
}
121+
}
122+
},
123+
"72-2550": {
124+
"id_patterns": [
125+
"TENMA 72-2550"
126+
],
127+
"instrument_class": {
128+
"PSU": {
129+
"features": {
130+
"absolute_limits": {
131+
"voltage": {
132+
"unit": "V",
133+
"max": 60.0
134+
},
135+
"current": {
136+
"unit": "A",
137+
"max": 3.0
138+
},
139+
"power": {
140+
"unit": "W",
141+
"max": 180.0
142+
}
143+
}
144+
}
145+
}
146+
}
147+
},
148+
"72-2705": {
149+
"id_patterns": [
150+
"TENMA 72-2705"
151+
],
152+
"instrument_class": {
153+
"PSU": {
154+
"features": {
155+
"absolute_limits": {
156+
"current": {
157+
"unit": "A",
158+
"max": 3.0
159+
},
160+
"power": {
161+
"unit": "W",
162+
"max": 90.0
163+
}
164+
}
165+
}
166+
}
167+
}
168+
},
169+
"72-2710": {
170+
"id_patterns": [
171+
"TENMA 72-2710"
63172
]
173+
},
174+
"72-2930": {
175+
"id_patterns": [
176+
"TENMA 72-2930"
177+
],
178+
"instrument_class": {
179+
"PSU": {
180+
"features": {
181+
"absolute_limits": {
182+
"current": {
183+
"unit": "A",
184+
"max": 10.0
185+
},
186+
"power": {
187+
"unit": "W",
188+
"max": 300.0
189+
}
190+
}
191+
}
192+
}
193+
}
194+
},
195+
"72-2940": {
196+
"id_patterns": [
197+
"TENMA 72-2940"
198+
],
199+
"instrument_class": {
200+
"PSU": {
201+
"features": {
202+
"absolute_limits": {
203+
"voltage": {
204+
"unit": "V",
205+
"max": 60.0
206+
},
207+
"power": {
208+
"unit": "W",
209+
"max": 300.0
210+
}
211+
}
212+
}
213+
}
214+
}
215+
},
216+
"72-13320": {
217+
"id_patterns": [
218+
"TENMA 72-13320"
219+
],
220+
"polling": [
221+
{
222+
"method": "poll_status",
223+
"interval": 9
224+
}
225+
],
226+
"instrument_class": {
227+
"PSU": {
228+
"features": {
229+
"channels": 3,
230+
"absolute_limits": {
231+
"current": {
232+
"unit": "A",
233+
"max": 3.0
234+
},
235+
"power": {
236+
"unit": "W",
237+
"max": 195.0
238+
}
239+
}
240+
}
241+
}
242+
}
243+
},
244+
"72-13330": {
245+
"id_patterns": [
246+
"TENMA 72-13330"
247+
],
248+
"polling": [
249+
{
250+
"method": "poll_status",
251+
"interval": 9
252+
}
253+
],
254+
"instrument_class": {
255+
"PSU": {
256+
"features": {
257+
"channels": 3,
258+
"absolute_limits": {
259+
"power": {
260+
"unit": "W",
261+
"max": 315.0
262+
}
263+
}
264+
}
265+
}
266+
}
267+
},
268+
"72-13360": {
269+
"id_patterns": [
270+
"TENMA 72-13360"
271+
],
272+
"instrument_class": {
273+
"PSU": {
274+
"features": {
275+
"absolute_limits": {
276+
"voltage": {
277+
"unit": "V",
278+
"max": 60.0
279+
},
280+
"current": {
281+
"unit": "A",
282+
"max": 15.0
283+
},
284+
"power": {
285+
"unit": "W",
286+
"max": 300.0
287+
}
288+
}
289+
}
290+
}
291+
}
64292
}
65293
}
66-
}
294+
}

0 commit comments

Comments
 (0)