Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Lorsque Life ne parvient pas à fournir une interface de débogage, faites clignoter une LED RVB

Oui je sais; si nous voulons créer des produits de bonne qualité, nous avons besoin d'outils appropriés, y compris des ports de débogage adéquats, mais la vie, comme vous le savez, devient parfois désagréable.

Récemment, au cours de ma carrière de pigiste, j'ai découvert que deux de mes clients n'avaient pas réussi à ajouter un quelconque type de débogage textuel à leurs produits. À une occasion, les ingénieurs de conception matérielle ont simplement oublié d'ajouter un tel canal, ne réalisant leur erreur qu'après s'être engagés dans un stock important de cartes. Dans un autre exemple, le produit était tellement miniaturisé qu'il n'y avait pas d'espace. Heureusement, dans les deux cas, une LED RVB (tricolore) était disponible pour que je puisse l'utiliser comme aide au débogage. Partant du principe que parfois, lorsque l'on vous donne des citrons, la seule chose que vous pouvez faire est de faire de la limonade, j'ai fini par utiliser la LED RVB pour mettre en œuvre un système de messagerie clignotant.

À partir de ces expériences, j'ai été surpris de découvrir que le débogage basé sur des LED RVB peut être extrêmement pratique et étonnamment riche en fonctionnalités, à condition qu'un schéma de modulation convivial soit utilisé.

La façon dont mes messages étaient modulés consistait à sélectionner différentes couleurs pour représenter le contexte du code et à choisir un nombre de clignotements et un style pour représenter un message spécifique dans ce contexte. Les clignotements sont mis en file d'attente et affichés séquentiellement sur la LED, de la même manière qu'un canal de journalisation textuel de base traiterait les messages texte courts.

Le module de débogage LED avait quatre types de rythmes de clignotement mis en œuvre à l'aide des fonctions suivantes :

Chacune de ces fonctions créera un processus de clignotement unique. Les clignotements normaux sont actifs pendant une seconde séparée par des intervalles d'une demi-seconde, tandis que les clignotements larges sont actifs pendant deux secondes séparées par des intervalles d'une demi-seconde. Les messages d'erreur sont indiqués par la couleur rouge suivie d'un clignotement de la couleur contextuelle, comme illustré à la figure 1.


Diagrammes temporels clignotants pour les quatre fonctions de débogage standard et d'erreur
(Cliquez ici pour une image plus grande. Source :Felipe Lavratti)

Notez que les zones jaunes de la figure 1 sont utilisées pour indiquer le contexte sélectionné. Si nous décidons d'allumer ou d'éteindre simplement les LED RVB, les zones jaunes de la figure 1 pourraient être vertes, bleues, jaunes, cyan, magenta ou blanches ; c'est-à-dire toute couleur disponible en allumant ou en éteignant les LED RVB, à l'exception du noir (tous éteints) et du rouge (utilisé pour indiquer une condition d'erreur). Si nous décidons d'utiliser la modulation de largeur d'impulsion (PWM), nous pouvons obtenir une gamme de couleurs plus large. Cependant, les LED RVB bon marché ne sont pas idéales pour mélanger les couleurs, il peut donc être difficile de distinguer certaines combinaisons, tandis que d'autres, comme l'orange, semblent fonctionner assez bien.

Les périodes de clignotement et la méthodologie ont été soigneusement choisies pour faciliter la lisibilité humaine, ce qui s'est avéré suffisant pour les ingénieurs lors de la phase de développement et également pour le technicien de terrain lors des tests, à condition d'éviter les messages excessifs via la LED.

Le débogage avec une LED n'est pas idéal, mais dans les systèmes sur lesquels je travaillais, cela a permis d'accélérer le développement et les tests sur le terrain en fournissant un moyen rapide d'observer l'état du système sans aucun type d'appareil connecté aux produits. Il a fallu un peu de formation pour que l'équipe s'habitue à la signification de chaque contexte de couleur et rythme de clignotement, mais l'apprentissage n'a pas pris longtemps. Plus important encore, chacun faisait la distinction entre les messages d'information et les messages d'erreur, et notre schéma a fourni suffisamment d'informations pour nous permettre de déterminer rapidement quel morceau de code avait mal tourné.

Je pense que c'est un exemple où un petit effort pour adapter le système aux capacités des humains qui l'utilisent a transformé une interface de débogage potentiellement difficile à utiliser en une interface étonnamment efficace.

Felipe Lavratti a développé des appareils connectés à Internet pour la domotique, créé des applications et des pilotes Linux intégrés pour les machines de point de vente portables et mis en œuvre des algorithmes mathématiques intégrés pour le contrôle des processus et des enregistreurs de données pour les applications industrielles. Dès le début de sa carrière, Felipe a réalisé l'importance de la qualité, c'est pourquoi il adopte toutes les techniques modernes nécessaires pour donner vie à des produits robustes; chaque partie du processus de développement est gérée pour la qualité :codage, test, acceptation, déploiement, intégration et déploiement. Actuellement, Felipe travaille en tant que consultant et développeur indépendant. Il peut être contacté à


Embarqué

  1. Quand le tungstène a-t-il été utilisé pour la première fois dans les ampoules
  2. Types de couleurs dans l'industrie des teintures diffusant la teinte dans la vie de tous les jours
  3. Philosophie et documentation
  4. Quand un DSP bat un accélérateur matériel
  5. Road trip à Voltera
  6. Les pilotes de LED compacts de Maxim offrent une efficacité élevée et une faible EMI
  7. Quand une porte de garage qui ne parvient pas à ouvrir une grande crise ?
  8. 4 signes clés que votre moteur arrive en fin de vie
  9. Quand le tour à métaux a-t-il été inventé ?