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

Add support for FY6300. #8

Merged
merged 1 commit into from
Mar 31, 2022
Merged

Conversation

jeremytrimble
Copy link
Contributor

@jeremytrimble jeremytrimble commented Mar 31, 2022

Fairly straightforward, except that unlike other models supported so far, this one seems to require that the main frequency sent over the wire includes a decimal point. A summary of my troubleshooting follows.

Main wave Frequency must be represented in decimal Hz, not uHz as in previous models.

Summary of the Issue

Put another way, the resolution of the main wave frequency is still 1 uHz as in other FeelTech generators, but when sending the frequency over the wire, you must include a decimal point (making the resulting string appear to be represented in decimal Hz).

For instance, to set the frequency to 123.4 kHz, FYGen would typically send: WMF00001234000000

1234000000 uHz = 1234 Hz = 1.234 kHz

...but to the FY6300, this appears to be asking for:

1234000000 Hz = 1.234 GHz

... which is of course too large and the FY6300 just sets its frequency to the maximum (50MHz in this case).

Sending the frequency with a decimal (e.g. WMF01234.000000) makes the FY6300 correctly interpret it as:

1234 Hz = 1.234 kHz

Troubleshooting Setup

  • FeelTech Model FY6300-50M, Firmware V2.3.2
  • FeelTech CH1 output cabled into oscilloscope (Rigol ds1054z)

Troubleshooting Examples:

fy.send("WMF1000")
  • Causes 00'001.000'000'000KHz to be displayed on the screen.
  • Verified that the frequency is 1 kHz with oscope measurement.
fy.send("WMF1")
  • Causes 00'000.001'000'000KHz to be displayed on the screen.
  • Verified that the frequency is 1Hz with oscope measurement.
fy.send("WMF1000000")
  • Causes 01'000.000'000'000KHz to be displayed on the screen.
  • Verified that the frequency is 1MHz with oscope measurement.

Can go lower than 1Hz by including the decimal point:

fy.send("WMF0.1")
  • Causes 00'000.000'100'000KHz to be displayed on the screen.
  • Verified the frequency 100mHz with oscope measurement.
Minimum Possible:
fy.send("WMF0.000001")
  • Causes 00'000.000'000'001KHz to be displayed on the screen.

Modulation

Modulation frequency parameters like hop_freq_hz (command WFK) and fm_bias_freq_hz (command WFM) do not seem to require special treatment for the fy6300.

…e seems to require that the main frequency sent over the wire include a decimal point.
@mattwach
Copy link
Owner

The change looks good to my eyes. Thank you for taking the time to do this!

I'll try the change on my FY2300 later today and, if everything still works as expected, I'll merge in the change.

@mattwach
Copy link
Owner

Everything looked good on my FY2350H.

There is some risk that the difference is not related to the device but the firmware loaded on it. I'm not sure how to tell at this point so we'll have to see. If someone out there with a working FY6300 suddenly has issues. For now LGTM.

@mattwach mattwach merged commit c284d82 into mattwach:master Mar 31, 2022
@jeremytrimble
Copy link
Contributor Author

Yeah I agree this issue could be tied to the firmware not just the model. Hopefully folks can report if this problem pops up in other models.

@marcusbirkin
Copy link

This is also true for FY6900 requires force setting of fy.frequency_includes_decimal=True to allow correct frequency setting

Tested with FY6900-50M (Firmware V1.46)

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

Successfully merging this pull request may close these issues.

3 participants