feat: While using Flex & Steppir or Ultrabeam can prevent transmit when antenna is moving

This commit is contained in:
2026-07-16 19:51:25 +02:00
parent 28b6f04ea4
commit c9fd1379e1
8 changed files with 125 additions and 20 deletions
+9
View File
@@ -109,6 +109,7 @@ type flexTX struct {
tunePower int
tune bool
transmitting bool // interlock state == TRANSMITTING
inhibit bool // transmit inhibited (e.g. while a motorized antenna moves)
voxEnable bool
voxLevel int
voxDelay int
@@ -1708,6 +1709,14 @@ func (f *Flex) SetTune(on bool) error {
return f.txSet(cmd, "tune", func(t *flexTX) { t.tune = on })
}
// SetTXInhibit blocks (on=true) or allows transmission at the radio. Used to keep
// the operator from keying while a motorized antenna's elements are moving —
// SmartSDR refuses to transmit while inhibit is set, so it holds even against a
// footswitch or an external keyer, which a software PTT block could not.
func (f *Flex) SetTXInhibit(on bool) error {
return f.txSet("transmit set inhibit="+boolFlex(on), "inhibit", func(t *flexTX) { t.inhibit = on })
}
func (f *Flex) SetVOX(on bool) error {
return f.txSet("transmit set vox_enable="+boolFlex(on), "vox_enable", func(t *flexTX) { t.voxEnable = on })
}