Créer un nouvel onglet et variable pour Speeduino et TunerStudio
Créer des nouvelles options entre TunerStudio est Speeduino
https://github.com/noisymime/speeduino
Mon Projet modifié : https://github.com/AmesisProject/speeduino
Logiciel cartographie : TunerStudio
Logiciel pour modifier le code : Visual Studio Cade
Fichiers concernés
speeduino.ini
Dans le bloque [Constants] il y a des "page = x " c'est pages sont des blocs de mémoire de l'arduino du speeduino pour être cohérent avec TunerStudio.
Dans le bloc [Menu] il y a les onglet de TunerStudio
Pour créer un nouvelle fenêtre il faut choisir donc un onglet dans lequel le rajouter, par exemple ( menu = "&Accessories" )
A présent nous devons créer la fenêtre. Pour ça rdv dans
[UserDefined]
-Nous allons nous caler juste après dialog = vvtSettings, "VVT Control" pour créer notre code de l'interface de la nouvelle fenêtre.
Coller le code
dialog = APthrottleBody, "AmesisProject FDR Throttle Body"
field = "#The APthrottleBody here is in experimental alpha version @AmesisProject & @FreakDoctor"
field = "APThrottleBody Enabled", tbEnabled
A présent enregistrer le fichier speeduino.ini et actualiser le dans TS (TunerStudio) avec ctrl + p puis cocher "Other/Browse " pour aller chercher le nouveau fichier speeduino.ini
La ligne field = "APThrottleBody Enabled", tbEnabled
N'apparait pas dans la fenêtre car la variable "tbEnabled" n'a pas été déclaré dans le code.
Nous allons donc nous rendre dans
[ConstantsExtensions]
Et déclarer la variable
requiresPowerCycle = tbEnabled
Puis nous allons lui attribuer ses valeurs et son emplacement dans la mémoire.
Tout au début de ce tuto j'ai parlé des pages. Et bien nous y sommes, nous allons devoir choisir une page dans laquelle il y a de la mémoire pour nos futur bordel de variables constantes et autre, pour notre projet de plugin.
-Suivant les mise à jour du programme officiel, la mémoire n'est pas tout le temps disponible au même endroit. Oui le propriétaire du projet ne s'occupe pas si des petits gars comme nous on utilise la mémoire ou pas, il écrira la mémoire à la suite. Ce que nous allons faire comme suite.
J'ai trouvé une place avec de la mémoire disponible en page = 13 (les pages sont dans [Constants] )
Voici comment j'ai trouvé la mémoire :
tout en bas de la page il y a cette ligne la
unused12_106_127 = array, U08, 106, [ 22], "%", 1.0, 0.0, 0.0, 255, 0
La variable unused12_106_127 nous dit qu'il y a de la mémoire non utilisée du bits 106 à 127
Ce qui nous offre déjà pas mal de place
106 est l'emplacement de la variable unused12_106_127 le 22 entre croché nous informe qu'il reste 22 bits de disponible
J'ai donc caler ma nouvelle variable tbEnabled juste avant unused12_106_127, en gros je lui ai pris ça place et poussé à la suite. Donc dans ce cas on réattribue les adresses.
Ma nouvelle variable a pris sa place en 106 et j'ai mis unused12_106_127 en 107 et l'espace dispo passe dans ce cas de 22 à 21.
Voyons à présent de quoi est composé ma nouvelle variable
tbEnabled = bits, U08, 106, [0:0], "Off", "On"
"tbEnabled" : est le nom de la variable
"bits, U08, 106," : on dit que le bits qu'on utilise est à l'adresse 106 et le U08 signifie que le bits est non signé et sur 8bits
Le U08 sont des valeurs positive, si nous avons besoin de valeur négative le bits doit être signé et on
l'écrira comme ça S08
[0:0] : est un tableau est 0 est le 1er bit (ici on en utilise qu'un nous sommes donc en booléen, ce qui signifie que c'est soit vrai soit faux, que
c'est 0 ou 1, que c'est OFF ou ON, appel ça comme tu veux) pour avoir 2 autre état en plus nous aurions eu besoin d'un bit supplémentaire on l'aurait écrit comme ça [0:1]
En d'autre terme voici nos bits à l'enlacement 106 : "00000000" voici nos 8 bits le fameux U08 donc le bit a l'emplacement 0 peut donc avoir l'état de 0 ou 1
"00000000" "10000000" le bit n°1 est donc ici en X "0X00000" le bits n°2 ici "00X00000" etc
-Nous pouvons créer un nouvel onglet "Help" qui renvoi vers un lien pour plus d'information.
Ajouter
topicHelp = "http://VOTRE_LIEN"
Nous avons donc créé une nouvelle fenêtre avec un titre, un descriptif, un lien d'aide, et une variable booléenne que nous allons pouvoir exploiter dans le code.
Voici le résultat !!!! Plutôt classe !
A oui j'ai oublié de préciser, TunerStudio est pourvu d'un système de traduction (pas ouf mais bien utile quand même) donc tout ce que tu écris dans le code doit être en anglais,
La traduction se fera simplement dans un autre fichier texte de cette façon hello = bonjour tout simplement.
Commentaires
Enregistrer un commentaire