Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, and Tuner Genius Software?
SmartSDR v3.7.4 and the SmartSDR v3.7.4 Release Notes | SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
SmartSDR v1.12.1 and the SmartSDR v1.12.1 Release Notes
Power Genius XL Utility v3.8.8 and the Power Genius XL Release Notes v3.8.8
Tuner Genius XL Utility v1.1.20 and the Tuner Genius XL Release Notes v1.1.20
SmartSDR v3.7.4 and the SmartSDR v3.7.4 Release Notes | SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
SmartSDR v1.12.1 and the SmartSDR v1.12.1 Release Notes
Power Genius XL Utility v3.8.8 and the Power Genius XL Release Notes v3.8.8
Tuner Genius XL Utility v1.1.20 and the Tuner Genius XL Release Notes v1.1.20
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
SimpleVOX* setting question
rfoust
Member ✭✭
In the FlexLib API code, I'm not sure what is going on with the SimpleVOXLevel and SimpleVOXDelay code. On most of the settings, there is a check to make sure the min/max levels aren't exceeded (like 0 or 100). But not on those two settings. Also, on SimpleVOXDelay, it is multiplied by 20 when sent to the radio. Could someone explain how that works, or if that was just an oversight? Especially the * 20 multiplier. Thanks! private int _simpleVOXLevel; /// /// The vox level from 0 to 100 /// public int SimpleVOXLevel { get { return _simpleVOXLevel; } set { if (_simpleVOXLevel != value) { _simpleVOXLevel = value; SendCommand("transmit set vox_level=" + _simpleVOXLevel); RaisePropertyChanged("SimpleVOXLevel"); } } } private int _simpleVOXDelay; /// /// Sets the VOX delay from 0 to 100 /// public int SimpleVOXDelay { get { return _simpleVOXDelay; } set { if (_simpleVOXDelay != value) { _simpleVOXDelay = value; SendCommand("transmit set vox_delay=" + _simpleVOXDelay * 20); RaisePropertyChanged("SimpleVOXDelay"); } } }
0
Answers
-
Seems, looking at the Obj-C code, that whatever you pass will be divided by 20, so yes - multiplying by 20 is the correct way - as for why...... can't answer that.
0 -
We probably should be range checking the values in FlexLib since that is one level of API that we are offering. We also do range checking in the over-the-wire TCP protocol inside the radio. Thanks for bringing this to our attention.
As for the *20 and /20, this is likely just a units/range mapping thing. I would have to ask Ed Gonzalez as he is the expert on our codec interface code, but we often map a slider range of 0-100 on the client side of the interface just to simplify things. Then we will adjust the value internally to fit nicely with the data the command modifies. This could probably be moved inside the radio for the sake of clarity.0
Leave a Comment
Categories
- All Categories
- 244 Community Topics
- 2.1K New Ideas
- 481 The Flea Market
- 7.1K Software
- 5.9K SmartSDR for Windows
- 132 SmartSDR for Maestro and M models
- 331 SmartSDR for Mac
- 243 SmartSDR for iOS
- 222 SmartSDR CAT
- 162 DAX
- 348 SmartSDR API
- 8.5K Radios and Accessories
- 6.9K FLEX-6000 Signature Series
- 746 Maestro
- 41 FlexControl
- 836 FLEX Series (Legacy) Radios
- 722 Genius Products
- 388 Power Genius XL Amplifier
- 250 Tuner Genius XL
- 84 Antenna Genius
- 225 Shack Infrastructure
- 150 Networking
- 366 Remote Operation (SmartLink)
- 120 Contesting
- 580 Peripherals & Station Integration
- 114 Amateur Radio Interests
- 805 Third-Party Software