Page 44 sur 58

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 18:57
de critor
parisse a écrit:Je viens d'en acheter une.

Ok, félicitations.
CX II-T ou CX II-T CAS ?

parisse a écrit:C'est sur les cx que je conseille de rester en os 4.5.0 et la version precedente de khicas/ndless. De toutes facons, les versions ulterieures de l'os n'apportent rien.

Certains n'auront pas le choix.

Le Baccalauréat International 2020 exigeait déjà la mise à jour des TI-Nspire CX au moins en version 4.5.1 :
https://www.ibo.org/contentassets/40baa ... 2020_f.pdf

Les Pays-Bas exigent la mise à jour des TI-Nspire CX au moins en version 4.5.2 :
https://www.examenblad.nl/nieuws/202002 ... tblik/2022

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 19:55
de Noury
@parisse J'en ai parlé avec TI64CLI++
As-tu essayé '--240x320-support true' ou '--240x320-support true --uses-lcd-blit false' dans ZEHNFLAGS, lors de la compilation ?

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 20:28
de Ti64CLi++
parisse a écrit:
parisse a écrit:Oui, ca je sais pourquoi, c'est l'adresse I/O du power management qui a change 900B -> 9014.
Comment on teste si on est sur une CX ou CX2?

Bon en fait, c'est le backlight que je modifiais pour simuler OFF/ON, et l'adresse sur la CX est 0x900f0020, celle sur la CX2 n'est pas connue (on parle de 0x90130018 mais ca plante). A moins qu'il n'y ait un controle qu'on peut ecrire sur le materiel du genre il faut d'abord ecrire quelque chose sur 0xCC000008.
Pour le moment je pense que je vais desactiver la simulation du OFF sur la cx2.

Tu veux dire que pour simuler le on/off tu mettais le contrast au minimum ?
Parce que dans ce cas là, juste écrire à 0x90130018 marche, je viens de tester sur ma CX II-T CAS ;)

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 20:33
de parisse
Bon, 2 bonnes nouvelles:
1/ d'abord le probleme du glitch graphique sur les cx ii est regle, en utilisant --uses-lcd-blit true comme flag de compilation de genzehn,
2/ l'interruption d'un programme Xcas par ON est resolue en supprimant le support des exceptions C++. Je soupconne un bug dans le support des exceptions dans la nouvelle version de ndless. Accessoirement, ca fait economiser environ 20% en taille, donc je vais peut-etre rester comme ca.
https://www-fourier.univ-grenoble-alpes.fr/~parisse/ti/khicas52.zip
Il reste a regler le support du backlight pour simuler OFF/ON, je verrai ca dans les prochains jours.
Si vous avez une CX avec l'OS 4.5.0 restez-ici pour le moment et utilisez https://www-fourier.univ-grenoble-alpes.fr/~parisse/ti/khicas.zip

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 20:36
de parisse
Ti64CLi++ a écrit:Tu veux dire que pour simuler le on/off tu mettais le contrast au minimum ?

oui

Parce que dans ce cas là, juste écrire à 0x90130018 marche, je viens de tester sur ma CX II-T CAS ;)

c'est bien ce que j'ai essaye de faire pourtant.
Mais c'est peut-etre le lcd controller qui pose probleme. Ce que je ne comprends pas c'est que le code suivant passait avec le precedent ndless mais pas avec celui-ci
Code: Tout sélectionner
int getkey(int allow_suspend){
  sync_screen();
  if (shutdown_state)
    return KEY_SHUTDOWN;
  int lastkey=-1;
  unsigned NSPIRE_RTC_ADDR=0x90090000;
  static unsigned lastt=0;
  for (;;){
    unsigned t1= * (volatile unsigned *) NSPIRE_RTC_ADDR;
    if (lastt==0)
      lastt=t1;
    if (t1-lastt>10){
      display_time();
      sync_screen();
    }
    bool autosuspend=(t1-lastt>=100);
    if (allow_suspend && (autosuspend || (nspire_ctrl && on_key_pressed()))){
      nspire_ctrl=nspire_shift=false;
      while (!autosuspend && on_key_pressed())
   msleep(10);
      // somewhat OFF by setting LCD to 0
      unsigned NSPIRE_CONTRAST_ADDR=is_cx2?0x90130018:0x900f0020;
      unsigned oldval=*(volatile unsigned *)NSPIRE_CONTRAST_ADDR;
      *(volatile unsigned *)NSPIRE_CONTRAST_ADDR=0x100;
      static volatile uint32_t *lcd_controller = (volatile uint32_t*) 0xC0000000;
      lcd_controller[6] &= ~(0b1 << 11);
      msleep(20);
      lcd_controller[6] &= ~ 0b1;
      unsigned offtime=* (volatile unsigned *) NSPIRE_RTC_ADDR;
      for (int n=0;!on_key_pressed();++n){
   msleep(100);
   idle();
   if (!exam_mode && shutdown
       // && n&0xff==0
       ){
     unsigned curtime=* (volatile unsigned *) NSPIRE_RTC_ADDR;
     if (curtime-offtime>7200){
       shutdown_state=1;
       // after 2 hours, leave KhiCAS
       // that way the OS will really shutdown the calc
       lcd_controller[6] |= 0b1;
       msleep(20);
       lcd_controller[6]|= 0b1 << 11;
       *(volatile unsigned *)NSPIRE_CONTRAST_ADDR=oldval;
       statuslinemsg("Press ON to disable KhiCAS auto shutdown");
       //os_fill_rect(0,0,320,222,0xffff);
       sync_screen();
       int m=0,mmax=150;
       for (;m<mmax;++m){
         if (on_key_pressed())
      break;
         msleep(100);
         idle();
       }
       if (m==mmax){
         if (shutdown())
      return KEY_SHUTDOWN;
       }
       else {
         shutdown_state=0;
         break;
       }
     }
   }
      }
      lcd_controller[6] |= 0b1;
      msleep(20);
      lcd_controller[6]|= 0b1 << 11;
      *(volatile unsigned *)NSPIRE_CONTRAST_ADDR=oldval;
      statusline(0);
      sync_screen();
      lastt=* (volatile unsigned *) NSPIRE_RTC_ADDR;
      continue;
    }

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 20:38
de Ti64CLi++
Quand tu dis que ça ne marche pas, c'est vraiment que ça plante, ou juste ça ne met pas l'écran en noir ?
Parce que j'ai l'impression que les valeurs ne sont plus les mêmes.
Je vérifie ça et je te redis ;)

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 20:42
de Noury
parisse a écrit:le probleme du glitch graphique sur les cx ii est regle, en utilisant --uses-lcd-blit true comme flag de compilation de genzehn,

C'est ok pour moi, je viens de tester sur CX II

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 20:59
de parisse
Ti64CLi++ a écrit:Quand tu dis que ça ne marche pas, c'est vraiment que ça plante, ou juste ça ne met pas l'écran en noir ?
Parce que j'ai l'impression que les valeurs ne sont plus les mêmes.
Je vérifie ça et je te redis ;)

pas de changement a l'ecran mais on est bloque. Je me demande si le probleme ne serait pas qu'on reste dans la boucle qui teste que si la touche ON a ete relachee avant de simuler l'extinction. on_key_pressed est quand meme le candidat le plus plausible a avoir subi des modifs.

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 21:01
de Ti64CLi++
Il me semble oui que on_key_pressed n'est pas très fiable avec le nouvel Ndless.

Je viens de faire quelques tests pour le contraste, et à priori il n'est plus possible de descendre en dessous de 0x100 pour sa valeur.
Dès que l'on essaie de mettre une valeur plus petite, la calculatrice remet automatiquement la valeur par défaut, à 0x174 :(

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 21 Sep 2020, 21:04
de Ti64CLi++
msleep est peut-être aussi en tort. Je viens d'essayer sur ma CX II, et msleep l'a faite freeze :(