🎮 Et2nano Simulator - Extension VS Code
Un simulateur interactif pour la carte Et2nano dans VS Code, permettant de tester vos codes sans avoir la carte physique.
📦 Installation
Méthode 1 : Installation directe (Recommandée)
- Téléchargez le dossier
SimulateurEt2Nano complet
- Copiez-le dans le dossier extensions VS Code :
- Windows :
%USERPROFILE%\.vscode\extensions\
- Mac/Linux :
~/.vscode/extensions/
- Redémarrez VS Code
Méthode 2 : Installation via VSIX
- Ouvrez VS Code
Ctrl+Shift+P → Extensions: Install from VSIX...
- Sélectionnez le fichier
.vsix
- Redémarrez VS Code
🚀 Démarrage rapide
Ouvrir le simulateur
- Appuyez sur
Ctrl+Shift+P (ou Cmd+Shift+P sur Mac)
- Tapez :
Et2nano: Open Simulator
- Le simulateur s'affichera dans un panneau
✨ Fonctionnalités
| É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 |
🎯 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
💻 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
- Vérifiez que le dossier est dans
.vscode/extensions/
- Redémarrez VS Code
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 🚀