Documentation pour l'introduction.
Présentation du micrologiciel
Le micrologiciel Open Source Sex Machine (OSSM) est un système de contrôle basé sur ESP32 qui gère les mouvements, les entrées de l'utilisateur et la communication de votre appareil. Ce guide présente l'architecture du projet et vous aide à configurer votre environnement de développement.
Technologies de base
Le micrologiciel OSSM s'appuie sur quatre technologies clés qui fonctionnent ensemble pour offrir un contrôle de mouvement réactif et fiable.
Boost SML (State Machine Language) est une bibliothèque C++ uniquement composée d’en-têtes qui fournit un langage spécifique au domaine pour définir des machines à états.
Pourquoi nous l'utilisons :
- La vérification de la machine à états au moment de la compilation détecte les erreurs avant l'exécution
- Aucune surcharge d'exécution par rapport aux implémentations manuelles avec switch/case
- Une syntaxe claire et déclarative rend les transitions d'état complexes lisibles
- Gère les transitions entre les états comme inactif, en cours d'exécution, erreur et référencement
La machine à états régit les modes de fonctionnement de l'appareil, garantissant des transitions sûres et un comportement prévisible. Pour plus de détails, consultez la documentation Architecture de la machine à états.
U8G2 est une bibliothèque graphique monochrome optimisée pour les systèmes embarqués et les écrans OLED.
Pourquoi nous l'utilisons :
- Prend en charge une large gamme de contrôleurs d'affichage, notamment SSD1306 et SH1106
- Empreinte mémoire minimale adaptée à la RAM limitée de l'ESP32
- Rendu de police intégré avec plusieurs tailles et styles
- Dessin accéléré par le matériel pour des mises à jour fluides de l'interface utilisateur
U8G2 restitue l'interface sur l'appareil, y compris la vitesse, la profondeur, la sélection de motifs et l'état du système.
FreeRTOS est un noyau de système d'exploitation en temps réel qui permet le multitâche sur les appareils embarqués.
Pourquoi nous l'utilisons :
- Exécute plusieurs tâches simultanées (contrôle de mouvement, mises à jour d'affichage, gestion des entrées)
- La planification basée sur les priorités garantit que les tâches de mouvement soumises à des contraintes temporelles s'exécutent de manière fiable
- Communication inter-tâches via des files d'attente et des sémaphores
- Intégré au framework ESP32 Arduino par défaut
FreeRTOS permet au micrologiciel de traiter simultanément les entrées de l'utilisateur, de mettre à jour l'affichage et de maintenir un cadencement précis du moteur.
StrokeEngine est une bibliothèque de motifs de mouvement créée par theelims, modifiée pour les exigences spécifiques à OSSM.
Pourquoi nous l'utilisons :
- Génère des motifs de mouvement fluides et personnalisables avec une vitesse et une profondeur configurables
- Prend en charge plusieurs types de motifs de mouvement (constants, aléatoires, oscillants, etc.)
- Gère la rampe d'accélération pour la protection du moteur
- Fournit un réglage des paramètres en temps réel sans interruption du mouvement
StrokeEngine traduit les paramètres utilisateur en commandes de moteur précises, permettant ainsi la variété de motifs de mouvement disponibles dans OSSM.
Premiers pas
Configurez votre environnement de développement en suivant ces étapes.
Conditions préalables
Avant de commencer, assurez-vous d'avoir :
- Un ordinateur exécutant Windows, macOS ou Linux
- Git installé sur votre système
- Une connexion Internet pour télécharger les dépendances
Installer VS Code et PlatformIO
Téléchargez et installez Visual Studio Code, puis ajoutez l'extension PlatformIO.
- Ouvrez VS Code
- Accédez au panneau Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Recherchez « PlatformIO IDE »
- Cliquez sur Installer et attendez la fin de l'installation.
- Redémarrez VS Code lorsque vous y êtes invité
Pour des instructions détaillées de configuration de PlatformIO, consultez notre Guide de configuration de PlatformIO.
Cloner le dépôt
Ouvrez un terminal et clonez le dépôt OSSM sur votre ordinateur local.
git clone https://github.com/KinkyMakers/OSSM-hardware.git
cd OSSM-hardware/Softwaregit clone git@github.com:KinkyMakers/OSSM-hardware.git
cd OSSM-hardware/Softwaregh repo clone KinkyMakers/OSSM-hardware
cd OSSM-hardware/SoftwareSi vous envisagez d'apporter des modifications, forkez d'abord le dépôt, puis clonez votre fork.
Ouvrez le projet dans VS Code
Lancez le projet à l'aide de PlatformIO.
- Ouvrez VS Code
- Sélectionnez Fichier > Ouvrir le dossier.
- Accédez au répertoire
OSSM-hardware/Softwareque vous venez de cloner - Cliquez sur Sélectionner un dossier (ou Ouvrir sur macOS)
PlatformIO détecte automatiquement le fichier platformio.ini et configure le projet.
Vous devriez voir la barre d'outils PlatformIO apparaître au bas de VS Code avec les boutons de compilation, de téléversement et de surveillance.
Compiler et téléverser le micrologiciel
Compilez le projet et flashez-le sur votre ESP32.
- Connectez votre carte ESP32 via USB
- Cliquez sur le bouton PlatformIO: Build (icône de coche) pour compiler
- Une fois la compilation réussie, cliquez sur PlatformIO: Upload (icône de flèche) pour flasher le micrologiciel.
Assurez-vous de sélectionner le bon port COM si plusieurs périphériques série sont connectés. Vous pouvez configurer cela dans platformio.ini ou via le moniteur de périphérique PlatformIO.
Prochaines étapes
Modes de fonctionnement
Découvrez les modes Simple Penetration, Stroke Engine et Streaming.
Fonctions de sécurité
Comprenez les vérifications préalables, la sécurité en cas de déconnexion et l'arrêt d'urgence.
Configuration
Personnalisez les paramètres de mouvement, les broches et les préférences utilisateur.
WiFi et mises à jour
Configurez le WiFi et installez les mises à jour du micrologiciel sans fil (OTA).
Structure des dossiers
Découvrez l'organisation du code source et l'architecture modulaire.
Configuration de PlatformIO
Configurez votre environnement de développement pour les modifications du micrologiciel.