Arduino n'est pas un langage, c'est le C++

Il est regrettable de voir ce forum s'enfoncer dans le bas de gamme à cause d'un guignol qui persiste à croire qu'il a la science infuse grâce à quelques bricolages réalisés sur un coin de table, au mépris de toute connaissance informatique sérieuse, et qui se permet de contester l'avis de certaines "pointures" (comme dit 68tjs) qui ont probablement des dizaines d'années d'expérience derrière eux en tant que professionnel.
Pour ma part j'ai d'autres occupations bien plus intéressantes que de me chicorner en permanence avec un amateur

Oui enfin là tu t'emballes, il n'y a pas de vol Wiring est open source.

The Wiring Language (API), the Reference for the Language, the Hardware, and the Environment are under a Creative Commons license which makes it possible to re-use this content for non-commercial purposes if it is credited.
Copyright \ Wiring

Bonjour
Navré de provoquer, une fois de plus une polémique.
Ma démarche tend a vouloir me "satisfaire" de ce que m'offre le concept Arduino. On peut appeler ça un manque d'ambition, voire de la médiocrité, mais j'assume et ne sent nullement seul dans ce cas. Les gens à qui j'ai donné de mes productions n'ont pas l'air trop déçus.

Je m'obstine à utiliser la classe String, entre autre, parce que c'est pratique, ça facilite les choses.
J'ai lu et pas toujours compris pourquoi il ne fallait pas, mais je n'ai jamais eu de programmes qui plantent à cause de ça et n'ai croisé personne dans ce cas. Les seuls arguments que j'ai eu sont ça peut, peut-être, on sait pas quand etc. J'aimerai bien pour ma connaissance, que l'on me donne un programme qui parce qu'il est écrit en Arduino, provoque une erreur, voire un plantage .
Je suis comme ça, j'aime bien comprendre en "touchant" le problème.

Môsieur @hbachetti le guignol te salue!
Tout dans l'élégance, tout dans le style....

Je ne savait pas que j'avais cette "puissance", enfoncer le forum! Par contre, avec toi, il va plus du côté de Germinal que de la guerre des étoiles!

Du haut de ta suffisante, voire de ton arrogance, tu n'a pas l'air de te rendre compte que les bricoleur "du coin de la table" comme les amateurs (je fais partie des 2) que tu as l'air de mépriser, sont la majorité des gens qui viennent demander aides et conseils sur ce forum.

Pour ce qui est du quizz sur la profession que le guignol a pu éventuellement pratiquer (tiens il a disparu!), Ceux qui on pu lire cette liste de @hbachetti et qui par hasard en font partie voient le mépris que tu as des "petites gens".

Je vais répondre à ton interrogation:
Le guignol a été réparateur en machines à écrire, grutier, machiniste sur camion grue, 10 ans dans les télécommunications électromécaniques, 25 ans dans les réseaux de données comme X25, Internet, téléphonie IP, réseaux d'entreprises et suis titulaire d'un CCNA Cisco et je fais des programme depuis environ 45 ans.
Tu vois, tu n'avais rien de juste, tu ne viendra pas en 2ème semaine, tu est juste pathétique.

Cordialement
jpbbricole

Non je ne m'embale pas, open source ne signifie pas avoir tous les droit : voir la réponse de Baragan lors des affrontements Banzi Musso. Baragan explique très clairement que le fork, légal, était agressif.
Et c'est quand même Banzi qui a tout fait pour semer la confusion afin que l'on prenne les bibliothèques Wiring/Arduino comme un langage.
Je n'arrive plus a comprendre son rôle dans la société arduino, il devient étonament très silencieux, et les dirigeants d'ARM se succèdent aux postes d'administrateurs.

En cherchant vous retrouverez des demandes d’utilisateurs dont le programme était instable dans le temps et où virer la classe String a résolu le problème. Vous trouverez aussi nombre de discussion sur ESP (don’t certaines bibliothèques utilisent abondamment la classe String) ou il est proposé un mécanisme qui fait rebooter tous les jours l’ESP pour éviter les crash.

Adafruit et Sparkfun recommandent aux développeurs de bibliothèques de ne pas utiliser cette classe sans comprendre finement les conséquences tout comme les développeurs chevronnés qui participent sur les différents forum.

On vous a donné des liens, expliqué ce qu’il se passait en dessous mais vous ne lisez sans doute pas… ou faites semblant de ne pas comprendre.

Oui c’est simplificateur quand on ne veut pas se pencher sur les cString, que pour un petit bout de code court qui ne va pas tourner longtemps ce n’est pas un souci généralement mais c’est une très mauvaise habitude à donner aux débutants (notamment par exemple quand vous l’utilisez parce que vous avez la flemme de faire deux print séparés).

Il en va de même pour votre obstination à ne pas mettre le break dans votre code de réception série alors que c’est une source potentielle de bug clairement. Mais vous n’envoyez pas de commandes rapidement donc vous n’avez jamais vu le bug donc pour vous c’est ok… mais non, pas quand on partage un code à vocation générale ou pédagogique… on essaie d’être le plus propre possible.

Bonjour,

Moi aussi ça fait 45 ans que je programme et si ça m'a apprit une chose c'est que si ça peut planter, ça va planter.

J'ai toujours du mal à comprendre ce raisonnement: Pourquoi faire les choses bien alors qu'en faisant n'importe quoi ça arrive à marcher marchotter?

Il faut peut être insister pour provoquer la lecture :

Dans l'article il y a un programme à essayer, sur UNO ou MEGA.

Le problème est que cela propage de mauvaises pratiques, et de manière assez fréquente puisque tu réponds à beaucoup de demandes. Les débutants à qui l'on donne un code bourré de Strings auront tendance à utiliser celles-ci pour d'autres projets, y compris des projets plus importants.
Et lorsqu'ils s'apercevront que leur logiciel ne marche pas plus de quelques minutes, heures, ou jours ils reviendront sur le forum avec une nouvelle question : "pourquoi mon code plante t-il au bout de X temps ?". Ce qui est fréquent.

D'autre part, l'esprit de ce forum est d'aider, et non pas de faire le travail à la place des demandeurs.
S'il est louable de rendre service aux autres, le faire de manière excessive est un syndrome que l'on appelle "Syndrome du sauveur".

Il y a d'autres activités lorsque l'on est en retraite que de rester toute la journée devant un écran, de plus ce n'est pas une bonne chose de rester assis en permanence. Pour ma part : la marche, le VTT, le jardinage, la musique, la cuisine, etc. D'où une présence plutôt ponctuelle sur le forum.

Bonjour

Pour l'anecdote, dans un autre forum on m'avait rétorqué qu'à la vitesse de 500'000 mon programme allait bugger!!!
Ca fait quelques années que j'utilises cette routine voire même 3 fois dans un Mega, sans aucun problème ni retour de problème des utilisateurs. Mais il est vrai, c'est pas parce que ça fonctionne que c'est forcément bien.

Oui, entièrement d'accord, mais à ce moment on ne fait plus rien vu que ça planter, ou on se dit que la majorité des gens qui pratiquent ne font ni des pacemaker, ni des systèmes qui vont être en orbite et encore moins de l'industriel vu que Arduino "c'est en tout cas pas fait pour ça", donc on peut se laisser un peu de marge.

C'est ma façon de concevoir l'aide, c'est ainsi que j'ai quasiment tout appris de l'Arduino et ça vaut largement ta façon de faire.
PS: Je rentre d'une promenade au bord du lac, magnifique!

Cordialement
jpbbricole

Je ne sais pas c’est quoi cette histoire de vitesse - peut être pour mettre en évidence le souci - mais C’est quand même pas compliqué à comprendre - et ça paraît logique - que lorsque vous avez identifié une commande (reçu le caractère de fin de commande) il serait bon de la soumettre et ne pas continuer à remplir votre String avec ce qui suit dans le buffer série et en ayant fait sauter le caractère séparateur et donc potentiellement regrouper deux commandes en une seule…

Ça ne vous semble pas être de bon sens ?

J'en conclus que tu ne liras jamais mon article sur la fragmentation mémoire, et que tu n'essaieras même pas l'exemple proposé, par pure obstination.

Tant pis, on va te laisser polluer les débutants avec tes exemples de code potentiellement dangereux. Cependant nous nous réservons le droit de critiquer autant qu'il le faudra, pas pour que tu changes d'avis, mais pour prévenir les demandeurs des dangers potentiels.

Entre autres, mon système d'arrosage automatisé tourne 365 jours par an. Il n'est pas en orbite et il n'est pas d'une importance vitale, sauf pour mes plantes. Mais cela m'ennuierait beaucoup de devoir le redémarrer de temps à autre pour cause de défaillance mémoire.

Chacun fait comme il veut pour soi-même, mais quand il s'agit d'aider les autres, le partage de code bâclé n'est pas admissible.
Tu pourrais profiter de ton temps libre pour apprendre à coder correctement.
https://www.tutorialspoint.com/cprogramming/c_strings.htm

1 Like

Un exemple récent sur les Strings

La conclusion est intéressante…

My conclusions (for myself at least):

  1. Avoid Strings like the Covid19. Don't let your software control your memory allocations and de-allocations.
1 Like

:innocent:
on ne saurait faire boire un âne qui n’a pas soif

1 Like