by critor » 30 Apr 2021, 10:18
parisse wrote:Donc je penche plutôt sur un problème lorsque MicroPython teste si le clavier est actif pour gérer l'appui de la touche d'interruption pendant le déroulement d'un programme. Il y a une fonction int micropython_port_vm_hook_loop() {...}
qui gère ça, et, dans l'implémentation de cette fonction, j'utilise des appels au "SDK C". Si ces appels n'utilisent pas la même interface que dans Delta, ça va bugguer. Et d'ailleurs l'interruption d'un script ne doit probablement pas marcher. Si c'est bien ça, il faudrait peut-être recompiler libmicropy.a.
Merci.
Sous Delta+KhiCAS, si je lance un
while 1:pass
, la seule touche d'annulation me permet d'interrompre le script, et toutes les autres sont sans effet, comportement attendu.
Et effectivement bien vu, sous Omega+KhiCAS quelque chose ne semble pas du tout aller avec le clavier...
N'importe quelle touche me permet d'interrompre le script, et la touche on/off éteint même directement la calculatrice alors que le script est pourtant en cours d'exécution.
Cela expliquerait-il l'ensemble des anomalies que je rencontre avec la version Omega de KhiCAS ?
Scripts qui semblent se figer jusqu'à l'appui sur une touche ?
Scripts qui semblent se terminer sans réponse ni exception ?
Calculatrice qui semble pouvoir s'éteindre
(automatiquement ou manuellement) pendant l'exécution de scripts, et retournant dans les deux cas une exception
KeyboardInterrupt au rallumage ?
Merci.