π
<-

Challenge NumWorks++ | Flash chip hardware mod

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby parisse » 08 Nov 2017, 13:06

Voir le 1er post de https://tiplanet.org/forum/viewtopic.php?f=102&t=20445
Apres les fractions, il faudrait tester des calculs intermediaires avec entiers longs, par exemple 200!/199!, des calculs avec entiers longs (par ex. 99!), ensuite une variable symbolique par exemple x, puis des expressions symboliques, par exemple sin(x), puis des calculs symboliques, par exemple factor(x^4-1)
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.5%
 
Posts: 3668
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby Adriweb » 08 Nov 2017, 13:17

Ah oui, j'avais oublié que ça gérait le bon formatage (fraction etc.) directement, apparemment - très bien.

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
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79%
 
Posts: 14757
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby zardam » 09 Nov 2017, 00:14

Effectivement, pour la video, j'ai eu droit à un "strike" de youtube car son contenu est "inapproprié" d'après eux :?

Pour la compilation de Giac, j'ai récupéré un config.h généré par le script configure de la 1.4.9 avec --enable-tommath. Je n'ai pas réussi à linker cette version avec epsilon, du coup je me suis replié sur la 1.2.0. Je vais de toute façon mettre tout ça sur github, une fois que j'aurais fait un peu de ménage (c'est parti un peu dans tous les sens pour faire fonctionner tout ça)

Pour les tests :
    - Les fractions fonctionnent très bien.
    - 200!/199! -> fail (SIGSEGV)
    - 99! -> fail (SIGSEGV)
    - x -> Ok
    - sin(x) -> fail (SIGSEGV)
    - factor(x^4-1) -> un popup "syntax error". epsilon doit filtrer le mot clé

Dans le cas SIGSEGV, je n'ai pas vraiment d'info utile, car pas de stacktrace dans gdb (la pile semble corrompue). Je supposais un problème de mémoire, mais il devrait y avoir de l'ordre de 100Ko de heap disponible. C'est étrange que des trucs tout simples comme 2! ne passent pas. Il y a certainement un problème autre. Je n'ai pas eu le temps de creuser, et gdb ne me permet pas de mettre des points d'arrêt dans le code de la flash externe. Bref à suivre...
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby parisse » 09 Nov 2017, 08:00

Ce sont les operateurs et commandes qui ne passent pas peut-etre parce que vos flags de compilation ne sont pas adaptes. Je conseillerais d'imiter ceux que j'utilise pour khicas
Code: Select all
-DHAVE_CONFIG_H -I. -I..  -DIN_GIAC -DTIMEOUT  -DNO_PHYSICAL_CONSTANTS -DNO_STDEXCEPT -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DGIAC_BINARY_ARCHIVE -DNO_UNARY_FUNCTION_COMPOSE -DTIMEOUT

eventuellement aussi -DNSPIRE_NEWLIB
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.5%
 
Posts: 3668
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby zardam » 09 Nov 2017, 23:12

Je suis repassé sur le simulateur finalement.

Pour les factorielles, il y avait un conflit entre micropython et libtommath (sur les fonctions du mp_...). Pour l'instant j'ai enlevé la partie python d'epsilon et ça fonctionne très bien.

Pour le reste, en fait ça coince dans unary.h sur cette ligne
Code: Select all
81       gen operator () (const gen & arg,const context * context_ptr) const { return op(arg,context_ptr); };


"op" ne semble pas initialisé correctement. D'ailleurs, avec -Os à la compilation, elle se fait "optimiser". J'ai bien essayé de désactiver toutes les optimisation et plusieurs combinaisons de define mais sans succès. C'est étrange, car avec giac 1.4.9 sur le simulateur, je n'ai pas le problème... Le code est identique, mais je n'ai pas encore comparé la ligne de commande de gcc.

Pour info, j'ai tout mis sur github ici : https://github.com/zardam/libtommath-0.39 et ici https://github.com/zardam/giac-1.2.0

J'ai corrigé un problème de compilation ici, mais pas certain que ce soit ok.

Sinon, la trace gdb, au cas ou :
Code: Select all
(gdb) bt
#0  0x00005555556b4e61 in giac::unary_function_eval::operator() (this=0x555555f1e774 <giac::_cos_s+2>, arg=..., context_ptr=0x55555629d380 <caseval::C>) at unary.h:81
#1  0x0000555555955aaa in giac::symbolic::eval (this=0x555556357e68, level=1, contextptr=0x55555629d380 <caseval::C>) at symbolic.cc:1444
#2  0x00005555556538c8 in giac::gen::in_eval (this=0x7fffffffdd00, level=1, evaled=..., contextptr=0x55555629d380 <caseval::C>) at gen.cc:2105
#3  0x00005555556b40b6 in giac::gen::eval (this=0x7fffffffdd00, level=1, contextptr=0x55555629d380 <caseval::C>) at gen.h:677
#4  0x0000555555cd5b40 in giac::protecteval (g=..., level=1, contextptr=0x55555629d380 <caseval::C>) at prog.cc:7399
#5  0x00005555556b25f9 in giac::caseval (s=0x5555563af708 "sin(0)") at gen.cc:15372
#6  0x00005555556331a3 in Calculation::Calculation::setContent (this=this@entry=0x55555629aa08 <container+9800>, c=0x5555563af708 "sin(0)", context=context@entry=0x5555563574b0)
    at apps/calculation/calculation.cpp:58
#7  0x0000555555633208 in Calculation::CalculationStore::push (this=this@entry=0x55555629aa00 <container+9792>, text=<optimized out>, context=context@entry=0x5555563574b0)
    at apps/calculation/calculation_store.cpp:14
#8  0x00005555556338c6 in Calculation::EditExpressionController::textFieldDidFinishEditing (this=0x555556357530, textField=<optimized out>, text=<optimized out>, event=...)
    at apps/calculation/edit_expression_controller.cpp:99
#9  0x000055555562484f in TextField::handleEvent (this=0x5555563af5a8, event=...) at escher/src/text_field.cpp:365
#10 0x000055555561c006 in App::processEvent (this=<optimized out>, event=...) at escher/src/app.cpp:49
#11 0x000055555561d313 in Container::dispatchEvent (this=this@entry=0x5555562983c0 <container>, event=...) at escher/src/container.cpp:39
#12 0x000055555564a24d in AppsContainer::dispatchEvent (this=0x5555562983c0 <container>, event=...) at apps/apps_container.cpp:83
#13 0x000055555561fa8a in RunLoop::step (this=this@entry=0x5555562983c0 <container>) at escher/src/run_loop.cpp:69
#14 0x000055555561faa6 in RunLoop::run (this=this@entry=0x5555562983c0 <container>) at escher/src/run_loop.cpp:24
#15 0x000055555561d27f in Container::run (this=this@entry=0x5555562983c0 <container>) at escher/src/container.cpp:48
#16 0x000055555564a39b in AppsContainer::run (this=0x5555562983c0 <container>) at apps/apps_container.cpp:135
#17 0x00005555556027c5 in main (argc=<optimized out>, argv=<optimized out>) at ion/src/simulator/boot/main.cpp:6
(gdb) p op
$2 = (giac::gen_op_context) 0x736f63615f74615f
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby zardam » 10 Nov 2017, 02:45

Bon, on peut oublier le post précédent :D voir pourquoi ici : https://vimeo.com/242163942 (si ma video ne se fait pas jeter comme sur youtube)

Bref, j'ai fini par réussir à compiler Giac 1.4.9 comme il faut, et ça fonctionne parfaitement ! L'accès à la flash externe n'est pas encore optimal (24MHz en SPI standard) ça doit expliquer en partie la lenteur. J'ai fini par souder directement l'adesto, mais elle ne veut pas passer en QSPI. Et vu cette ligne du datasheet "WARNING : The QE bit should never be set to a 1 during standard SPI or Dual SPI operation if the WP or HOLD pins are tied directly to the power supply or ground.", ça explique peut être pourquoi j'ai cramé le microcontrolleur la fois passée... Je vais faire un peu plus attention...

Le code source va suivre, mais la c'est l'heure d'aller dormir.
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby Lionel Debroux » 10 Nov 2017, 08:35

Bref, j'ai fini par réussir à compiler Giac 1.4.9 comme il faut, et ça fonctionne parfaitement !

Super nouvelle :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby Adriweb » 10 Nov 2017, 08:45

Félicitations !

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
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79%
 
Posts: 14757
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby parisse » 10 Nov 2017, 11:14

Bravo!
Pour info, avec ce type de caracteristiques materielles, je m'attendais a environ 1 seconde pour calculer l'integrale de 1/(x^4-1)
(time() permet de mesurer le temps d'execution mais ca ne doit pas marcher avec l'UI de l'app Calculs).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.5%
 
Posts: 3668
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby Ti64CLi++ » 10 Nov 2017, 12:49

Bonne nouvelle :)
Bien joue zardam :bj:
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

PreviousNext

Return to News NumWorks

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 guests

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1007 utilisateurs:
>949 invités
>51 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)