Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some values for FreqSpectrumSteps give errant results #31

Open
TaeronKW opened this issue Aug 22, 2024 · 1 comment
Open

Some values for FreqSpectrumSteps give errant results #31

TaeronKW opened this issue Aug 22, 2024 · 1 comment

Comments

@TaeronKW
Copy link

rfeObj.SendCommand_SweepDataPoints(value) documentation says it accepts values from 16 to 4096 in multiples of 16.
I cannot get that full range to function. For the test below I tried values from 16 to 4096 in steps of 16 and read the resulting setpoint out as "rfeObj.FreqSpectrumSteps+1".

  • Values from 16 to 112 all produce a setpoint of 112, which is reasonable
  • Values from 112 to 2048 and the value 3136 works as expected.
  • Values from 2064 to 3072 produce a setpoint of 3120
  • Values from 3088 to 4096 produce a setpoint of 3136

refObj.SendCommand_SweepDataPointsEx(value) also produces odd behaviour.
The documentation says "a value in the range of 112-65536, note a value multiple of 2" though I can't figure out what "note a value multiple of 2" means in this context.
In the test below I tried values from 0 to 1024 in steps of 1 and read the resulting setpoint out as "rfeObj.FreqSpectrumSteps+1".
Values that work as expected:

  • Values less than 112 produce a setting of 112
  • Values from 112 through 127 work
  • The value 195 works
  • Values from 256 to 383 work
  • The value 451 works
  • Values from 512 to 639 work
  • The value 707 works
  • Values from 768 to 895 work
  • The values 1024 works

Problem values:

  • Values from 128 to 191 produce a setpoint of 194
  • Values from 192 to 255 produce a setpoint of 195
  • Values from 384 to 447 produce a setpoint of 450
  • Values from 448 to 511 produce a setpoint of 451
  • Values from 640 to 703 produce a setpoint of 706
  • Values from 704 to 767 produce a setpoint of 707
  • Values from 896 to 959 produce a setpoint of 962
  • Values from 960 to 1023 produce a setpoint of 963

I didn't run an exhaustive test beyond 1024. It sometimes looks like this is a problem with bit 6 (0x0040) but it doesn't seem consistent. It carries on with problems at higher numbers but testing gets inconvenient because the lag time on ProcessReceivedString gets big. I did a few checks though: for instance the value 65407 produces the setpoint 50110, but the value 50110 produces the setpoint 50051 and the value 65280 produces the setpoint 50111.

I am using the IoT Module as follows:
RF Explorer 01.16 18-Jan-18 02.01.01
RF Explorer device model info:#C2-M:005,255,01.16
HWSTATUS:015
Device serial number: B3CKK7L7C7K9LC37

@TaeronKW
Copy link
Author

Solved. The problem is in how the SendCommand() string was encoded in RFExplorer.py
The encoding needs to be specified as 'latin_1' (line 1688) for it to be interpreted properly by the device. This change has been added to my pull request. If that pull request gets merged, this issue can be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant