Ia ... cqfd?

Intelligence (artificielle ?) CQFD !

Petite histoire …

Revenons 2 semaines en arrière.

  • << Salut François ! Toi qui bricole pas mal avec les Arduinos, tu pourrais me faire un truc ? >>
    Bin oui, ça dépend …
  • << un truc simple : un afficheur, un nano, 4 sondes de T° >>
    Bin oui ! Faut juste faire un semblant de cahier des charges pour le matériel.
  • << je regarde pour acheter le matériel et te dis … >>

Passent 3 jours, durant lesquels je commence à programmer un truc qui marche pas mal :
1 écran LCD trouvé dans un tiroir
1 arduino machin truc dans le même tiroir
1 sonde PT100 attelée derrière une carte interface sonde T° pour la démo dynamique

Le principe du « truc » :

  • Afficher numériquement les températures des 4 culasses d’un moteur de coccinelle WW
  • Représenter les T° avec 4 bargraphes avec Cht de couleur suivant T°
  • Matérialiser les limites basses et hautes de fonctionnement du moteur.(froid/chaud)
  • Pouvoir saisir les consignes de cht de couleur en f° des limites.(par console IDE Arduino)

Ce fut fait (on va dire rapidement !) et présenté en vidéo à mon pote :

  • << Pas mal !!! >> dit l’homme

Suit une petite formation de 2 heures par vidéo whatsApp sur l’Arduino et son programme pour qu’il comprenne un peu le contenu et qu’il puisse le modifier si besoin !

Il a donc le programme.ino (texte). L’homme n’a jamais programmé.

  • << C’est compliqué ton truc ! C’est pas fait pour moi ces machins ! >>

Mon copain est concepteur/dessinateur industriel sur informatique. Je lui envoie le fichier.

Quelques jours plus tard,

  • << j’ai reçu le matériel >> (Ali ou pire ! NDLR)

Et 3 bibines plus tard chez B&V :wink:

Me voilà avec un magnifique écran TFT affublé d’un ESP32 noyé dans la masse … (mon copain en a commandé 2… ça, c’est pour la suite !!!)
Avec un programme de démo intégré à la mise sous tension – point barre –
Doc chinoise ? … introuvable ! Inexistante ! Nada ! Walou !
Après une journée de recherche (voire 2 !) … j’arrive à trouver un semblant de doc sous forme de petits programmes divers et (a)variés :cry: se rapportant à des cartes semblables, avec néanmoins de grosses-grosses zones d’ombre comme toutes les liaisons internes ESP/écran faites en direct sur la carte ! Et bien sûr non visibles :tired_face:
Aïe !
Mais bon … Ça tatonne, ça bricole, ça patine, ça arrive quand même à faire un truc qui ressemble à la 1ere version faite pour l’arduino.
Mais il m’a quand même fallu 3 bonnes journées à franchement patiner pour obtenir un truc tout simple.

Et là … Je reçois une photo + un fichier .ino !!!

GLOUPS !

Le gaillard a réussi de son coté à faire le même truc que moi !!! ARGHHHH !!! Le fourbe ! S’était-il bien foutu de moi en me demandant de lui faire le bazar ? L’enfoiré !!!

BIN NON … ou plutôt oui…:rofl:

La guenille a simplement soumis le problème à un ami … « Chat-machin-truc » !!!

L’horreur, la honte,… Les 2 enfoirés (lui et son copain !) ont réussi à trouver la solution en 23 sec !

Et moi, comme un brelot de base, j’ai mis 3 jours à modifier, reconfigurer, essayer 50 configs,
recompilé 150 fois ce p…! de programme.

Bon … Soyons bon perdant :innocent: ! Je récupère donc le programme… Et le charge dans ma carte !

:grimacing:

Entretemps, le CDC avait changé, (le gaillard avait pris de l’assurance !) maintenant il faut pouvoir afficher tout un tas d’infos
sur l’écran divisé en 2 zones :
Bargraphe d’un coté
T° air, T° et pression huile, Tension batterie de l’autre
Changement des paramètres de limites et autres par l’écran avec des boutons et non plus par la console IDE Arduino !

Et ça… c’est déjà intégré à sa version ! Le fourbe !

Mais soucis : impossible de faire fonctionner le « touch » écran ! Zéro Doc, aucun programme adapté ne fonctionne avec la carte.:flushed_face:
L’interruption (l’IRQ) n’est pas « en face ». Impossible de dialoguer avec ce foutu écran !
Encore 3 jours de travail de recherche sur le truc.
Jusqu’à ce que …

Hier soir …

WhatsApp … Lien vidéo…..

Sans commentaire … Je suis vert ! ….. LE GARS N’A JAMAIS ECRIT UNE LIGNE DE PROGRAMME DE SA VIE :rofl:

Reste maintenant à développer la carte « acquisition données » + communication I2C située à l’arrière de la Coccinelle WW
Je ne suis pas trop inquiet !!!
Tout compte fait !Vais peut-être pas trop me pencher sur le truc,
Vais attendre un peu, non ? Croyez pas ?

CQFD ??? … C’est bien ce que je disais en entête de post

Moi l’IA, ca m’epatte tous les jours. Je viens de lui poser une question et j’etais persuadé qu il ne comprendrait meme pas la question. Et bien non seulement il l’a comprise, mais il m’a donné la bonne formule qui marche. La seule différence entre ma formule et la sienne ce sont les blancs, mais la mienne ne marchait pas, la sienne si. Je suis presque plus estranciné par la comprehension de la question posée que de la justesse de la reponse. Pour une fois c’est Gemini que j’ai utilisé.

question posée: attention le logiciel du forum m’a bouffé du texte #« <« decalx »> » il a pris ca pour une balise et a transformé en #

Dans linuxcnc, est il possible de lire une variable avec 2 indirections. Je m explique. La variable #5220 donne le système de coordonnées. La variable #5221 donne le décalage en x dans le repère g54, la variable #5241 donne le décalage en x dans le repère g55. Je voudrais trouver le décalage en x dans le repère actif du genre #=#[#5220*20+5201]. Y a t il une syntaxe permettant cela?

reponse

C’est une excellente question de « Power User » LinuxCNC. La réponse courte est oui, c’est tout à fait possible et votre logique mathématique est déjà sur la bonne voie.

​Dans LinuxCNC (et le langage RS274NGC), vous pouvez imbriquer des crochets pour créer ce qu’on appelle une indirection.

​La Syntaxe Correcte

​Votre formule est presque parfaite. Pour que LinuxCNC évalue correctement l’expression, vous devez simplement vous assurer que le calcul de l’index est bien entre crochets à l’intérieur du symbole #.

​Voici la syntaxe exacte pour obtenir le décalage X du repère courant :

​# = #[#5220 * 20 + 5201]

​Pourquoi cette formule fonctionne ?

​Pour bien comprendre (et pour ceux qui voudraient adapter ce calcul à d’autres axes), voici le détail de la structure des paramètres de systèmes de coordonnées :

  • ​**#5220** : Contient l’index du système actif (1 pour G54, 2 pour G55, etc.).
  • 5201 : C’est la base de calcul (l’offset X du système « 0 », bien que G54 commence techniquement à 5221).
  • 20 : C’est l’écart (le « pas ») entre chaque système de coordonnées (5221, 5241, 5261…).

Et ce qui est bien avec lia c’est que tu peux aussi mettre les mots dans le désordre et ça marche