FeelTech FY6600

De knowledge
Révision datée du 17 août 2025 à 23:39 par Jpinon (discussion | contributions) (Page créée avec « vignette|La photo C'est un petit appareil très léger. Il fait un peut "toc" mais finalement il marche pas mal. Mon modèle est un 50MHz... bon 50MHz en Sinusoïde et avec un peu plus des -3dB règlementaires mais on va pas chipoter. En revanche il à deux voies et possède pas mal de fonctionnalités telle que : * Plein de modulations * Des formes d'ondes diverses et programmables * Un mode "vobulation" * Plein de d'entr... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
La photo

C'est un petit appareil très léger. Il fait un peut "toc" mais finalement il marche pas mal. Mon modèle est un 50MHz... bon 50MHz en Sinusoïde et avec un peu plus des -3dB règlementaires mais on va pas chipoter.

En revanche il à deux voies et possède pas mal de fonctionnalités telle que :

  • Plein de modulations
  • Des formes d'ondes diverses et programmables
  • Un mode "vobulation"
  • Plein de d'entrées et de sorties de synchro.

Son principal problème :

Il ne suis pas le protocole SCPI et rien n'est documenté. Tout doit être "rétro-ingéniéré".

Bon la seule chose que j'ai faite c'est de détecter que le mode USB est un "Serial over USB". Il suffisait de le brancher sur une machine linux.

Le reste viens de du projet github https://github.com/DerKammi/FY6600-15-30-50-60M/tree/master

Le fichier FY6600 Serial communication protocol V1.5.doc est une mine pour moi. Mais il y a plein d'infos hardware aussi.

La chose importante : Les commandes doivent se terminer par un "line feed" 0x0A. Pas un 0x0D ou un 0x0D 0x0A des vieux MAC ou des PC sous windows!

Le FY6600 réponds par une chaine de caractère terminée, elle aussi, par un LF. (Un LF tout seul si il n'a rien d'autre à dire)

Exemple

On veut fixer la valeur de la fréquence sur "CH1" sur 440 Hz.

Il faut envoyer la commande :

WMF440000000

Oui ca fait beaucoup de zéros! Le FY6600 est précis au µHz donc il faut lui donner la valeur en µHz (WMF440000001 marche aussi!) Pour lire c'est :

RMF

Qui nous renvoie:

00000440.000000

Soit le fréquence en... Hz!

Oui on doit la lui donner en µHz et il nous le donne en Hz! Me demandez pas pourquoi !

Pour le reste la doc de DerKammi sur github donne toutes les commandes.

Une dernière :

UMO

Qui nous renvoie :

FY6600-50M

Le *IDN? de SCPI.... pourquoi faire différemment? Ils sont bizarres chez FeelTech décidément.

Script de test

Lors de mes recherches j'ai échangé avec mon ami "copilot" et il m'a donné un script tout bête pour tester les commandes. Je vous le donne.

#!/bin/bash

PORT="/dev/ttyUSB0"
BAUD="115200"

# Serial port config
stty -F "$PORT" $BAUD cs8 -cstopb -parenb -echo

# Interactive loop
while true; do
    read -p "Command (or 'exit') : " CMD
    [[ "$CMD" == "exit" ]] && break

    # Send with LF (0x0A)
    echo -ne "$CMD\n" > "$PORT"

    # Read device output (time out 2s)
    echo "Answer :"
    timeout 2 cat "$PORT"
    echo ""
done

SI vous faites tourner ça sous linux (Raspberry pi par exemple) ca marche tout seul. Mais sous WLS, il faut "monter" le port USB sur la VM WSL. C'est décrit là.