Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>Et2nano SimulatorNew to Visual Studio Code? Get it now.
Et2nano Simulator

Et2nano Simulator

Félix Jeanrichard

|
147 installs
| (1) | Free
Interactive simulator for Et2nano circuit board with C++ transpiler, line-by-line debugger, breakpoints, and variable watch - CPLN Ecole Technique
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🎮 Et2nano Simulator - Extension VS Code

Un simulateur interactif pour la carte Et2nano dans VS Code, permettant de tester et déboguer vos codes C++ sans avoir la carte physique.


📦 Installation

Méthode 1 : Installation directe (Recommandée)

  1. Téléchargez le dossier SimulateurEt2Nano complet
  2. Copiez-le dans le dossier extensions VS Code :
    • Windows : %USERPROFILE%\.vscode\extensions\
    • Mac/Linux : ~/.vscode/extensions/
  3. Redémarrez VS Code

Méthode 2 : Installation via VSIX

  1. Ouvrez VS Code
  2. Ctrl+Shift+P → Extensions: Install from VSIX...
  3. Sélectionnez le fichier .vsix
  4. Redémarrez VS Code

🚀 Démarrage rapide

Ouvrir le simulateur

  1. Appuyez sur Ctrl+Shift+P (ou Cmd+Shift+P sur Mac)
  2. Tapez : Et2nano: Open Simulator
  3. Le simulateur s'affichera dans un panneau

✨ Fonctionnalités

Simulation hardware

Élément Détails
8 LEDs D2-D9, visualisation en temps réel
8 Switchs tactiles SW1-SW8 cliquables
4 Switchs 2-positions SW5-SW8 avec toggles ON/OFF
Afficheur 7-segments Compatible cZord_DisplayEt2Nano
Interface réaliste Design basé sur la vraie carte

Transpileur C++

Fonctionnalité Détails
Classes supportées D_Out, D_In, Timer, StateMachine
Enums enum class multi-lignes supportés
Structures if/else, switch/case, for, while
Types Arduino byte, uint8_t, uint16_t, unsigned long, etc.

🐛 Débogueur ligne par ligne

Fonctionnalité Détails
Breakpoints Cliquez sur un numéro de ligne pour poser un point d'arrêt (pastille rouge)
Step Avancer d'une ligne à la fois
Continue Exécuter jusqu'au prochain breakpoint
Pause Mettre en pause à la prochaine ligne
Stop Arrêter le débogage
Ligne courante Surlignage jaune avec flèche ▶

👁️ Watch & Debug Info

Fonctionnalité Détails
Watch panel Surveillez vos variables en temps réel
Browse variables Bouton ☰ pour parcourir toutes les variables découvertes
Debug Info Panel affichant la ligne courante, le numéro de boucle, et toutes les variables avec leurs valeurs
Types colorés Nombres en vert, booléens en bleu, enums en violet, objets en cyan

🎯 Utilisation

Switchs Tactiles

  • Cliquez sur SW1-SW8 pour simuler une pression
  • Les boutons changent de couleur quand appuyés

Switchs 2-Positions

  • Basculez ON/OFF avec les toggles
  • Simulent les switchs physiques de la carte

LEDs

  • S'allument/s'éteignent selon votre code
  • Jaune/orange = allumée, gris = éteinte

Afficheur 7-Segments

  • Affiche les patterns créés par votre code
  • Montre la valeur hexadécimale en temps réel

Débogueur

  1. Cliquez le bouton Debug OFF sous la carte pour activer le mode debug (il devient Debug ON en vert)
  2. Posez des breakpoints en cliquant sur les numéros de ligne (pastille rouge 🔴)
  3. Cliquez Run — le code s'exécutera et pausera aux breakpoints
  4. Utilisez les boutons :
    • ⏭ Step : avancer d'une ligne
    • ▶ Run : continuer jusqu'au prochain breakpoint
    • ⏸ Pause : pauser à la prochaine ligne
    • ⏹ Stop : arrêter le débogage
  5. Consultez le panneau Debug Info pour voir l'état des variables à chaque pas
  6. Sans breakpoints, le débogueur s'arrête à chaque ligne automatiquement

Watch

  1. Cliquez le bouton ☰ pour voir la liste de toutes les variables
  2. Cliquez sur une variable pour l'ajouter/retirer du watch
  3. Ou tapez le nom dans le champ et cliquez +
  4. Les valeurs se mettent à jour en temps réel pendant l'exécution

💻 API JavaScript

Accédez au simulateur via window.simulator :

// LEDs (1 à 8)
simulator.setLED(1, true);        // Allumer LED1
simulator.setLED(1, false);       // Éteindre LED1
simulator.toggleLED(1);           // Inverser LED1
simulator.setAllLEDs(true);       // Allumer toutes

// Afficheur 7-segments
simulator.displayWriteByte(0xFF);  // Écrire une valeur hex
simulator.displayWriteValue(5);    // Afficher le chiffre 5

// Lire les switchs
const sw1 = simulator.getSwitch(1);       // État de SW1
const all = simulator.getAllSwitches();   // Tous les switchs
const pos5 = simulator.getPosSwitch(5);   // Position switch 5

📝 Exemple de code

function setup() {
    setAllLEDs(false);
    displayWriteValue(0);
}

let count = 0;

function loop() {
    // Allumer les LEDs selon les boutons
    for (let i = 1; i <= 4; i++) {
        setLED(i, getSwitch(i));
    }
    
    // Chenillard si DIP switch 5 est ON
    if (getPosSwitch(5)) {
        count = (count + 1) % 8;
        for (let i = 1; i <= 8; i++) {
            setLED(i, i === count + 1);
        }
    }
    
    displayWriteValue(count);
}

🔌 Référence des Pins

Composant Pins
LED 1-8 D2-D9
Switch 1-4 A0-A3
Switch 5-6 A4-A5
Switch 7-8 D11-D12
Afficheur Série

📊 Encodage 7-Segment (cZord_DisplayEt2Nano)

Bit 0 = Segment a (haut)
Bit 1 = Segment b (haut-droit)
Bit 2 = Segment c (bas-droit)
Bit 3 = Segment d (bas)
Bit 4 = Segment e (bas-gauche)
Bit 5 = Segment f (haut-gauche)
Bit 6 = Segment g (milieu)
Bit 7 = Point décimal

Patterns courants

Hex Affichage
0x3F 0
0x06 1
0x5B 2
0x4F 3
0x66 4
0x6D 5
0x7D 6
0x07 7
0x7F 8
0x6F 9

📁 Structure du projet

SimulateurEt2Nano/
├── extension.js          ← Point d'entrée
├── package.json          ← Configuration
├── media/
│   ├── simulator.js      ← Logique du simulateur
│   └── styles/
│       └── simulator.css ← Interface
└── README.md

🛠️ Dépannage

Le simulateur ne s'ouvre pas

  1. Vérifiez que le dossier est dans .vscode/extensions/
  2. Redémarrez VS Code
  3. F1 → Developer: Reload Window

Les switchs ne répondent pas

  • Cliquez et maintenez pour simuler une pression
  • Vérifiez votre code : di_SW_X.read()

Les LEDs ne s'allument pas

  • Vérifiez l'appel à do_LED_X.setOn()
  • Contrôlez que l'état n'est pas réinitialisé ailleurs

L'afficheur n'affiche rien

  • Appelez DisplayEt2Nano_Init() dans setup()
  • Utilisez displayWriteByte() ou displayWriteValue()

Erreurs générales

  • Ouvrez la console : F1 → Developer: Toggle Developer Tools
  • Vérifiez VS Code version 1.74+

📄 Licence

MIT


Extension créée pour les élèves CPLN - Cours Et2nano 🚀

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft