Les cartes mères Broachlink de la série Noah se voulant être le parfait remplacement des cartes mères PC Engines de la série APU, il fallait avoir le même genre de pilote sous linux, pour effectuer les transitions logicielles entre la plateforme APU vers Noah. Ce qui a fait le succès des cartes mères PC Engines c'est le fait qu'il y a des pilotes linux pour piloter les LEDs et le bouton de façade.
Piloter des LEDs et un bouton poussoir au niveau du matériel n'est pas une chose aisé pour la plupart des développeurs d'applications de haut niveau. Par contre ouvrir un fichier pour écrire dedans et allummer ou éteindre une LED est accessible à tous et même aux adiministrateurs système par l'intermédiaire du shell ou de scripts. C'est ce qui avait été fait pour les APU.
Ayant constaté que ce manque était pénalisant pour nos clients des cartes mères Noah, nous avons décidé de programmer ce pilote. Ce pilote Linux permet aux développeurs utilisant les cartes mères Noah d'accéder à ce même niveau de facilité de pilotage des LEDs et du bouton de la façade que sur une APU de PC Engines.
Ce pilote Linux est open source et est disponible sur le dépot github de Rack Matrix. Il vous faudra suivre les instructions pour compiler le pilote et l'installer.
La photo ci-dessus montre l'emplacement des éléments pris en charge par le pilote.
Le pilote permet de manager les 3 LEDs situées à la gauche de la carte mère et le premier bouton poussoir à la droite de la carte mère.
pour savoir si le pilote est bien chargé, recherchez le message suivant avec dmesg si le pilote est installé de façon permanente, sinon il sera affiché lors du chargement du pilote avec la commande insmod bl_noah.ko
.
Une fois le pilote chargé et la bonne carte mère détectée, tous les périphériques (LED et bouton) se trouvent dans /dev/noah
Pour allumer/éteindre les LED, vous devez écrire la bonne valeur dans le fichier LED souhaité :
Remarque : remplacez le X par le numéro de la LED souhaité.
echo 1 > /dev/noah/led3
echo OFF > /dev/noah/led2
Pour allumer la LED3, ouvrez le fichier /dev/noah/led3
et écrire 1
ou ON
dedans puis fermez le fichier
Le pilote permet de savoir si les LEDs sont allummées ou éteintes en lisant leur fichier dans /dev/ledX
0
: La LED est eteinte1
: La LED est allumméecat /dev/noah/led3
Ouvrir le fichier /dev/noah/ledX
code> et lire 1 octet
Pour obtenir des informations sur le bouton poussoir, vous devez lire sa valeur depuis le fichier /dev/noah/button
:
0
pour non poussé1
pour poussé
Pour lire l’état du bouton à partir du shell, vous pouvez utiliser la commande suivante :
cat /dev/noah/button
Pour lire l'état du bouton depuis une application, vous devrez :