[Ti 83 premium CE] Lire une OS_variables
10 messages
• Page 1 sur 1
[Ti 83 premium CE] Lire une OS_variables
Bonjour;
J'aimerais pouvoir accéder depuis mon programme en C, à une variable très spécifique ; en effet lorsqu'on définit une équation, on peut faire une manipulation très simple par la suite, on peut changer la valeur de X en Ti basique, puis taper Y1 en entrée, et on obtient le résultat de la fonction avec la valeur de X demandé.
Lorsque l'équation Y1 équivaut à X², on peut obtenir le résultat de la fonction... J'aimerais en C pouvoir y accéder cependant, je n'y arrive pas,
Je vous donne le lien de mon projet builder ; https://tiplanet.org/pb/?id=108416_1538 ... 8b7cf60fa6
J'ai déjà jeter un coup d'oeil au toolchaine sans succès ; https://ce-programming.github.io/toolch ... 27c94b6892
En utilisant le logiciel CEme la variable est "ans" ;
Merci beaucoup!!
J'aimerais pouvoir accéder depuis mon programme en C, à une variable très spécifique ; en effet lorsqu'on définit une équation, on peut faire une manipulation très simple par la suite, on peut changer la valeur de X en Ti basique, puis taper Y1 en entrée, et on obtient le résultat de la fonction avec la valeur de X demandé.
Lorsque l'équation Y1 équivaut à X², on peut obtenir le résultat de la fonction... J'aimerais en C pouvoir y accéder cependant, je n'y arrive pas,
Je vous donne le lien de mon projet builder ; https://tiplanet.org/pb/?id=108416_1538 ... 8b7cf60fa6
J'ai déjà jeter un coup d'oeil au toolchaine sans succès ; https://ce-programming.github.io/toolch ... 27c94b6892
En utilisant le logiciel CEme la variable est "ans" ;
Merci beaucoup!!
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
-
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)- Messages: 18
- Inscription: 19 Sep 2016, 17:48
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [Ti 83 premium CE] Lire une OS_variables
Mateo m'a contacté pour en savoir plus (il n'etait pas sur de ta demande), mais il a pu finir par repondre entre temps si j'ai bien suivi
Bref, en effet ca se fait avec les fonctions de la lib fileioc, il y a des exemples sur https://github.com/CE-Programming/toolc ... src/main.c
En prenant ca en consideration, vu qu'on peut lire et ecrire des variables TI-Basic, quel serait le probleme desormais ?
Bref, en effet ca se fait avec les fonctions de la lib fileioc, il y a des exemples sur https://github.com/CE-Programming/toolc ... src/main.c
En prenant ca en consideration, vu qu'on peut lire et ecrire des variables TI-Basic, quel serait le probleme desormais ?
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14727
- Images: 1119
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: [Ti 83 premium CE] Lire une OS_variables
Bonsoir!
Alors oui il m'a répondu, et cela m'a beaucoup aidé à comprendre certaine chose autour des variables dans la calculatrice.
Cependant, j'ai malheureusement compris que l'histoire de la variables "Ans" au final ne m'étais pas utile...
Je cherche à faire calculé l'OS à ma place, j'aimerais non pas récuper la variable "Ans" qui est juste la dernière variable calculé, mais j'aimerais obtenir la valeur de la donnée Y1 que calcul l'OS et stock ensuite dans la var Ans.
Et j'ai déjà regardé plusieurs fois les nombreux exemples proposé, et la variables Y1 existe en equation et non pas en résultat, cependant en Ti basic on peut obtenir le résultat juste en tapant Y1 dans les entrées...
Voila mon le problème qui persiste ^^
Merci!
Alors oui il m'a répondu, et cela m'a beaucoup aidé à comprendre certaine chose autour des variables dans la calculatrice.
Cependant, j'ai malheureusement compris que l'histoire de la variables "Ans" au final ne m'étais pas utile...
Je cherche à faire calculé l'OS à ma place, j'aimerais non pas récuper la variable "Ans" qui est juste la dernière variable calculé, mais j'aimerais obtenir la valeur de la donnée Y1 que calcul l'OS et stock ensuite dans la var Ans.
Et j'ai déjà regardé plusieurs fois les nombreux exemples proposé, et la variables Y1 existe en equation et non pas en résultat, cependant en Ti basic on peut obtenir le résultat juste en tapant Y1 dans les entrées...
Voila mon le problème qui persiste ^^
Merci!
-
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)- Messages: 18
- Inscription: 19 Sep 2016, 17:48
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [Ti 83 premium CE] Lire une OS_variables
inspire toi de ça : https://github.com/nathanfarlow/Symboli ... tor/main.c
après je ne sais pas s'il y a autre chose à faire pour en arriver là
- Code: Tout sélectionner
ti_var_t y1, y2;
...
y1 = ti_OpenVar(ti_Y1, "r", TI_EQU_TYPE);
après je ne sais pas s'il y a autre chose à faire pour en arriver là
-
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)- Messages: 4498
- Images: 18
- Inscription: 07 Nov 2014, 00:43
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [Ti 83 premium CE] Lire une OS_variables
Hamza.S a écrit:inspire toi de ça : https://github.com/nathanfarlow/Symboli ... tor/main.c
- Code: Tout sélectionner
ti_var_t y1, y2;
...
y1 = ti_OpenVar(ti_Y1, "r", TI_EQU_TYPE);
après je ne sais pas s'il y a autre chose à faire pour en arriver là
J'ai déjà regardé plusieurs fois ce code en effet, il est très instructif, cependant il traite non pas un résultat mais une sorte de tableau dans lequel est stocké la l'équation purement en écriture formel.
Et je pense que créer un systeme capable de calculer un résultat à partir de cela est assez compliqué. En effet il faudrait créer tout un système capable de calculer la fonction en respesctant les règles de calcul formel. Ce qui reviendrait alors, à surchargé la calculatrice...
J'ai également déjà essayé de stocker la variables Y1 dans un real_t après l'avoir récupéré via la commande que tu as cité ici en esperant que l'OS allait me la calculer toute seule, mais sans résultat...
-
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)- Messages: 18
- Inscription: 19 Sep 2016, 17:48
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [Ti 83 premium CE] Lire une OS_variables
Ça a recopié Y1 tel qu'elle est écrite. C'est comme la fonction équ>string( donc essaie de comprendre comment ça fonctionne. Possible qu'il fait aussi ce qui tu veux
-
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)- Messages: 4498
- Images: 18
- Inscription: 07 Nov 2014, 00:43
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [Ti 83 premium CE] Lire une OS_variables
Alors actuellement j'arrive à ouvrir la virable y1 mais pas à recupéré ce qu'il y a dedans ;
Ainsi il est impossible de cast une ti_var_t en une equ_t voilà quelques trucs que j'ai déjà essayé ;
Je rappel que l'equation en tant que tel ne m'interesse pas, car elle ne me servirait à rien, il me faudrait le résultat que la calculatrice calcul.
En faite, ce que j'ai besoin de faire en C, cela ce fait super facilement en Ti-Basic ;
Merci!
- Code: Tout sélectionner
ti_var_t y1;
equ_t *my_equ;
y1 = ti_OpenVar(ti_Y1, "r", TI_EQU_TYPE);
Ainsi il est impossible de cast une ti_var_t en une equ_t voilà quelques trucs que j'ai déjà essayé ;
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Tout sélectionner
my_real = (real_t)y1; //erreur
my_real = os_FloatToReal((float)ti_GetDataPtr(y1)); //erreur
result = (int)y1; //Donne 0 pour n'importe quelle fonction Y1 et valeur de X.
result = (int)ti_GetDataPtr(y1); //Donne 211 pour n'importe quelle[..]
txt[0] = (char)y1; //Vide completement
etc...
Je rappel que l'equation en tant que tel ne m'interesse pas, car elle ne me servirait à rien, il me faudrait le résultat que la calculatrice calcul.
En faite, ce que j'ai besoin de faire en C, cela ce fait super facilement en Ti-Basic ;
- Code: Tout sélectionner
2→X
1→I
While I<10
Y₁→L₁(I)
I+1→I
X+0.5→X
End
Merci!
-
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)- Messages: 18
- Inscription: 19 Sep 2016, 17:48
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [Ti 83 premium CE] Lire une OS_variables
En fait, Y1 est une equation/"expression", donc tu n'auras pas de resultat de call en la demandant - mieux vaut stocker au prealable Y1(2) (par exemple, X=2 dans ce cas) dans une variable, puis la recuperer cote C. Il y a possblement mieux a faire...
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14727
- Images: 1119
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: [Ti 83 premium CE] Lire une OS_variables
Le problème c'est que mélanger des programmes en Ti basic et C va être vite problématique...
En soit j'aimerais calculé un grand nombre d'image de la fonction Y1 pour des valeurs de X et Y donnée.
J'ai beaucoup réflechi, et je me suis demandé,
Lorsque on entre Y1 et qu'on obtient le résultat, l'OS réalise le calcul à notre place et le stock dans la variables "Ans", grâce au désassemblage de l'émulateur CEmu, serait-il possible de récupérer en Assembleur la fonction qui se charge de faire le boulot ?
En effet, dans la documentation du fichier "fileioc.h File Reference" nous pouvons voir que ;
Grâce à ces informations, serait-il possible de retrouver quelle(s) fonction(s) stock(ent) le résultat de Y1 dans la cellule de mémoire correspondant à la variables "Ans" ?
Ainsi il """suffirait""" de rappelle cette/ces même(s) fonction(s) via ;
Voici ce que j'ai sur CEmu après quelques recherche ;
Merci!
En soit j'aimerais calculé un grand nombre d'image de la fonction Y1 pour des valeurs de X et Y donnée.
J'ai beaucoup réflechi, et je me suis demandé,
Lorsque on entre Y1 et qu'on obtient le résultat, l'OS réalise le calcul à notre place et le stock dans la variables "Ans", grâce au désassemblage de l'émulateur CEmu, serait-il possible de récupérer en Assembleur la fonction qui se charge de faire le boulot ?
En effet, dans la documentation du fichier "fileioc.h File Reference" nous pouvons voir que ;
- Code: Tout sélectionner
/* Some more definitions using Ans */
#define TI_ANS_TYPE (0x00)
#define ti_Ans ("\x72\0")
Grâce à ces informations, serait-il possible de retrouver quelle(s) fonction(s) stock(ent) le résultat de Y1 dans la cellule de mémoire correspondant à la variables "Ans" ?
Ainsi il """suffirait""" de rappelle cette/ces même(s) fonction(s) via ;
- Code: Tout sélectionner
_OS()
void _OS ( void(*)(void) function )
Use this function to call assembly functions in the OS and Bootcode i.e. _OS( asm_ArcChk );
Voici ce que j'ai sur CEmu après quelques recherche ;
Show/Hide spoilerAfficher/Masquer le spoiler
Merci!
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
-
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)- Messages: 18
- Inscription: 19 Sep 2016, 17:48
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [Ti 83 premium CE] Lire une OS_variables
Après avoir passé beaucoup de temps dans la documentation j'ai trouvé une commande très intéréssante ;
En effet il existe une fonction appellé ;
J'ai donc combiné cette fonction avec un Os_input.
Voici mon code ;
Comment puis-je faire pour que dans la partie os_StrToReal(char *,char**); Je puisse avoir une commande parfaitement fonctionnel ? Car avec mon code elle ne copie que le premier caractère intégré.
Merci!
En effet il existe une fonction appellé ;
- Code: Tout sélectionner
os_StrToReal()
real_t os_StrToReal ( const char * string,
char ** end
)
This converts a ti-ascii string to a ti-float.
J'ai donc combiné cette fonction avec un Os_input.
Voici mon code ;
- Code: Tout sélectionner
#define INPUT_SIZE 10
#define RESP_SIZE 20
/* Main Function */
void main(void) {
/* Declare some variables */
real_t real_value;
char inputBuffer[INPUT_SIZE];
char *str = malloc(10*sizeof(char));
char** pointer = NULL;
/* Clear the homescreen */
os_ClrHome();
/* Ask the user to type a string, which gets stored in `inputBuf` */
os_GetStringInput("What is f? ", inputBuffer, INPUT_SIZE);
strcpy(str, inputBuffer); // copy the contents of inputBuffer to str
pointer = &str;
real_value = os_StrToReal(str,&str+8);
ti_SetVar(TI_REAL_TYPE, ti_A, &real_value);
while( !os_GetCSC() );
}
Comment puis-je faire pour que dans la partie os_StrToReal(char *,char**); Je puisse avoir une commande parfaitement fonctionnel ? Car avec mon code elle ne copie que le premier caractère intégré.
Merci!
-
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)- Messages: 18
- Inscription: 19 Sep 2016, 17:48
- Genre:
- Calculatrice(s):→ MyCalcs profile
10 messages
• Page 1 sur 1
Retourner vers Langages alternatifs
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités