summaryrefslogtreecommitdiff
path: root/ui/control_editor.py
diff options
context:
space:
mode:
authorChristian Kolset <ckolset@colostate.edu>2026-07-29 15:44:24 -0600
committerChristian Kolset <ckolset@colostate.edu>2026-07-29 15:44:24 -0600
commit767f1b013dffb8124a389997a2dbf2f06937a1d4 (patch)
tree06f20f442ed0e810eb544b740e47089ebb8d8a41 /ui/control_editor.py
parent34c8b0950398c07e84777479f3534615907f4f58 (diff)
parent9360dea6e6327004b905eb6d7c782cc7c0d3ba13 (diff)
Merge branch 'fix/control-channel-direction-filter'
# Conflicts: # ui/control_editor.py
Diffstat (limited to 'ui/control_editor.py')
-rw-r--r--ui/control_editor.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/ui/control_editor.py b/ui/control_editor.py
index 65aa96e..111a71f 100644
--- a/ui/control_editor.py
+++ b/ui/control_editor.py
@@ -360,8 +360,12 @@ class ControlEditorDialog(QDialog):
dev = self.registry.get_instance(dev_id)
if not dev:
return
- # Add actual channels
+ # Add actual channels (skip disabled — can't be driven while switched
+ # off — and skip read-only channels — a control writes, so a channel
+ # with no write mapping should never be offered as a target)
for ch in dev.info.channels:
+ if not ch.enabled or not ch.writable:
+ continue
self._ch_cb.addItem(f"{ch.name} ({ch.channel_id})",
userData=ch.channel_id)
# For Arduino backends also suggest digital pins for output