FY6900-60M - FeelElec AWG - Firmware v1.8
Issues (FeelElec changes something):
- Frequency value entered is multiplied (10^6)
- Waveform names in TestController are not correct / out of sequenceI recently purchased a FeelElec FY6900-60M V1.8.0 - HW revisions: Power supply board (5V only) V1.4 - FPGA board V3.31 - MCU board V2.4
TC identifies correctly my device:
*idn?
;; FeelElec,FeelElec FY6900-60M, 1563840597, V1.8
There are some issues relative to set frequency unit (read is ok) and waveform table.
This is due to changed base unit for frequency and new waveforms added/modified by Feelelec.
4-Pulse and 8-Pulse now are the last before ARB series.
I don't know in which FW version these modifications were introduced, but someone else made 2 different drivers for his python SW, for older and newer FY6900 (
https://github.com/hb020/sds1004x_bode) with these annotations:
- Feeltech FYxxxx A range of Chinese generators. This driver is a newer driver that has some improvements over the older FY6600 driver, and supports FY2300, FY6600, FY6800, the older FY6900 and probably more.
- Feeltech FY6900 A Chinese generator. This driver has some improvements that are needed for the later FY6900 versions, that require the frequency to be sent as Hz instead of uHz. For the rest it is the same driver as the generic FY driver.I modified FeelElecFY6x00-xxM.txt to try resolving for my FY6900 version.
I don't know how this file is used with other versions, so I do my modifications to test them, but I leave to others, if desired, the solution to resolving for newer FY6900 without breaking previous versions...I resolved (I hope) set frequency unit, lines 191 and 211 in my version use
(formatDouble(value,0,8,0,6))
instead of
(formatDouble(value*1000000,0,14,0,0))
I've tried to resolve waveform table misalignment, but I don't understand why and how are used the 4 tables present in the file... I understand 2 tables: they are necessary because CH2 doesn't have Adj-Pulse.
Anyway I found something weird (temporary modifying each fist table line as "sine-### 0" where ### is the number of line code I find which table is actually used for CH1 and CH2):
CH1 use table starting at line 439 (442 of my modified file), after
334 #cmdSetup comboboxHot Waveform Output_1
(...)
339 #metaSection WAVE1
(...)
438 #metaSection WAVE2
CH2 use table starting at line 700 (709 of my modified file), after
595 #cmdSetup comboboxHot Waveform Output_2
(...)
600 #metaSection WAVE1
(...)
699 #metaSection WAVE2
so I think only
#cmdSetup comboboxHot Waveform Output_X
is valid and
#metaSection WAVE1 (or WAVE2)
for some reason are not valid / not recognized and always the 2nd one table is used (perhaps overrides the 1st one...).
So I modified the 2nd tables and now waveforms seems ok.
But I don't know if
#metaSection WAVE1
sections are really useless and so I leave that in place.
I also made some minor improvements: renamed the 2 different Trapezoid (using same name is FeelElec fault and is also on the instrument panel!) to distinguish which is which (the first has rise/fall time adjustable, the second has fixed slope).
FeelElecFY6x00-xxM_myMOD.txt is attached.
Ciao
marco