Planète Casio - Autres questions - Flux RSS http://www.planet-casio.com Programmes Casio, Jeux, Cours pour Calculatrices Casio fr-FR https://www.planet-casio.com/images/logo.gif Planète Casio - Autres questions - Flux RSS http://www.planet-casio.com 55 50 Programmes Casio, Jeux, Cours pour Calculatrices Casio. Wed, 17 Sep 2025 03:43:25 GMT Wed, 17 Sep 2025 03:43:25 GMT contact@planet-casio.com (Planet Casio) contact@planet-casio.com (Planet Casio) 5 are g1a addins compatible with sh3 processors? https://www.planet-casio.com/Fr/forums/topic19098--.html i made a .g1a addin for my sh4 calc, will it work for calcs with sh3 cpus? Sat, 13 Sep 2025 11:25:29 +0200 rom overflowed https://www.planet-casio.com/Fr/forums/topic19048--.html I have gotten this error when going to build c:/users/username/documents/prizmsdk-win-0.6/bin/../lib/gcc/sh3eb-elf/10.1.0/../../../../sh3eb-elf/bin/ld.exe: C:/Users/username/Documents/PrizmSDK-win-0.6/projects/example/example.bin section `.rodata' will not fit in region `rom' c:/users/username/documents/prizmsdk-win-0.6/bin/../lib/gcc/sh3eb-elf/10.1.0/../../../../sh3eb-elf/bin/ld.exe: region `rom' overflowed by 228394 bytes collect2.exe: error: ld returned 1 exit status make[1]: *** [C:/Users/username/Documents/PrizmSDK-win-0.6/toolchain/prizm_rules:84: C:/Users/username/Documents/PrizmSDK-win-0.6/projects/example/example.bin] Error 1 make: *** [Makefile:108: all] Error 2 I tried changing the rom (rx) : o = 0x00300000, l = 1024k line in the prizm.x linker script to 2048k but then nothing changed even the overflowed by 228394 bytes stayed the same does anyone know why this may be happening Sun, 07 Sep 2025 22:04:12 +0200 how do i do saving properly https://www.planet-casio.com/Fr/forums/topic19021--.html i have this code: void Save(int field[4][4]){ int savef = open("/2048s.bin", O_WRONLY | O_CREAT | O_TRUNC); write(savef, field, sizeof(int)*4*4); close(savef); } at main: while(1){ if(keypressed(KEY_MENU)){ Save(field); gint_osmenu(); return 1; } } when it gets saved sucesfully, it always loads but sometimes it restarts the whole calculator and doesnt save Tue, 02 Sep 2025 19:16:57 +0200 miss read error https://www.planet-casio.com/Fr/forums/topic19000--.html imt trying to scan a 4x4 2d array for 0s using a dynamic array, but i get a miss read error when i run it on my calculator (9860giii), it happens on the line with krealloc Pos *FreeP = NULL; int FreePItems = 0; for(int y=0; y<=3; y++){ for(int x=0; x<=3; x++){ if (field==0){ FreePItems++; FreeP = krealloc(FreeP, FreePItems*sizeof(Pos)); FreeP[FreePItems-1].x = x; FreeP[FreePItems-1].y = y; } } } Fri, 29 Aug 2025 12:12:55 +0200 how do i draw images with fxsdk https://www.planet-casio.com/Fr/forums/topic18998--.html i read the documentation in Lephenixnoir's github but dont know how i am supposed to put my image into the bopti_image_t format. i have a 9860giii Thu, 28 Aug 2025 15:56:46 +0200 2.5mm jack on fx-9860GIII(Graph 35+E II) https://www.planet-casio.com/Fr/forums/topic18955--.html Last month i bought a stm32F103C8T6,and it has 3 Uart port,but I don't know what kind of transistion(?) on fx-9860GIII's 2.5mm jack could be work. My project is make a contact between stm32 and Graphic calculator,and write a program for both of them. Thu, 14 Aug 2025 11:56:04 +0200 Données corrompues entre Casio et ESP32 (série) https://www.planet-casio.com/Fr/forums/topic18897--.html Bonjour à tous, Je travaille sur un projet où j’essaie d’établir une communication série entre ma Casio Graph 35+E II (fx-9750giii) et un ESP32, en passant par la prise jack TRS 2,5 mm. Je rencontre actuellement des problèmes de transmission : les données sont souvent corrompues ou incohérentes, et j’aimerais beaucoup avoir votre aide pour diagnostiquer le problème. Configuration : J’ai soudé des fils directement depuis la prise TRS vers l’ESP32. La continuité des fils a été vérifiée et confirmée. J’utilise le SDK fx-9860G de Casio. Le port série est configuré en 9600 bauds, 8 bits de données, aucune parité, 1 bit d’arrêt (8N1). Le problème : Lorsque j’envoie le message "Hello World\r\n" depuis la calculatrice, il arrive qu’il soit reçu correctement sur l’ESP32, mais la plupart du temps, les données sont brouillées ou corrompues. Voici un exemple de ce que j’obtiens dans le moniteur série : He▒▒▒▒World He▒▒ ▒▒ɱ▒5 He▒▒▒▒World He▒▒ ▒▒ɱ▒5 He▒▒ ▒▒ɱ▒5 He▒▒ ▒▒ɱ▒5 He▒▒ ▒▒ɱ▒5 He▒▒▒▒World Parfois, le message passe correctement, ce qui me laisse penser que la connexion physique est probablement correcte, mais quelque chose perturbe toujours la transmission. Mes questions : Le problème pourrait-il venir du câblage ? Est-ce que ma calculatrice pourrait avoir un défaut matériel ? Y a-t-il une erreur dans le code ou dans l’initialisation du port série ? Est-ce une incompatibilité au niveau du protocole (par exemple : niveaux de tension, stop bits, etc.) ? Et parfois, le port série refuse tout simplement de s’ouvrir, sans raison évidente. J’utilise les appels système (syscalls) listés sur cette page : https://bible.planet-casio.com/simlo/chm/v20/fx_legacy_Serial.htm Merci pour toute aide ! Calculator Code /* * ================================================================================= * Interactive Serial "Hello World" for Casio fx-9860G * ================================================================================= * * Description: * This Add-In sends "Hello World" over the serial port (2.5mm TRS jack). * * Instructions: * - Run the Add-In from the main menu. * - Press [F1] to send the "Hello World" message. * - Press to close the serial port and exit the application. */ #include "fxlib.h" #include <string.h> /* * ================================================================================= * Serial Syscall Definitions * ================================================================================= * The standard fx-9860G SDK does not provide C headers for the serial port. * We define them here using a C-based stub that calls the OS routines directly. */ /** * @brief Syscall 0x0418: Opens the serial port with the given configuration. */ const unsigned int sc_serial_open[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x0418 }; typedef int (*sc_serial_open_t)(unsigned char*); #define Serial_Open ((sc_serial_open_t)sc_serial_open) /** * @brief Syscall 0x040E: Puts one byte into the serial transmit buffer. * This is inspired by the Serial_BufferedTransmitOneByte example in the forum post. */ const unsigned int sc_serial_write_byte[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x040E }; typedef int (*sc_serial_write_byte_t)(unsigned char); #define Serial_WriteByte ((sc_serial_write_byte_t)sc_serial_write_byte) /** * @brief Syscall 0x0419: Closes the serial port. */ const unsigned int sc_serial_close[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x0419 }; typedef int (*sc_serial_close_t)(int); #define Serial_Close ((sc_serial_close_t)sc_serial_close) /* * ================================================================================= * Main Application * ================================================================================= */ // Global flag to track the serial port status int g_is_port_open = 0; /** * @brief Sends the "Hello World" string character by character. */ void SendHelloWorld(void) { const char* message = "Hello World\n"; int i; if (!g_is_port_open) { locate(1, 4); Print((unsigned char*)"Error: Port is not open! "); Bdisp_PutDisp_DD(); return; } for (i = 0; i < strlen(message); ++i) { Serial_WriteByte(message); } locate(1, 4); Print((unsigned char*)"Sent: 'Hello World' "); // Pad with spaces to clear previous messages Bdisp_PutDisp_DD(); } int AddIn_main(int isAppli, unsigned short OptionNum) { unsigned int key; unsigned char serial_config[] = {0, 5, 0, 0, 0, 0}; // 9600 baud, 8N1 Bdisp_AllClr_DDVRAM(); locate(1, 1); Print((unsigned char*)"Serial Communication Demo"); locate(1, 2); Print((unsigned char*)"-----------------------"); locate(1, 6); Print((unsigned char*)"[F1] Send 'Hello World'"); locate(1, 7); Print((unsigned char*)" Exit"); // Attempt to open the serial port if (Serial_Open(serial_config) == 0) { g_is_port_open = 1; locate(1, 4); Print((unsigned char*)"Serial port opened."); } else { g_is_port_open = 0; locate(1, 4); Print((unsigned char*)"Error: Failed to open port"); } Bdisp_PutDisp_DD(); // Main event loop while(1) { GetKey(&key); if (key == KEY_CTRL_F1) { SendHelloWorld(); } else if(key == KEY_CTRL_EXE) { break; } } // Close the port before exiting if (g_is_port_open) { Serial_Close(1); } return 1; } #pragma section _BR_Size unsigned long BR_Size; #pragma section #pragma section _TOP int InitializeSystem(int isAppli, unsigned short OptionNum) { return INIT_ADDIN_APPLICATION(isAppli, OptionNum); } #pragma section ESP32 Code /* * ================================================================================= * ESP32 Receiver for Casio fx-9860G Serial Communication * ================================================================================= * Description: * This code listens for serial data from a Casio calculator on HardwareSerial port 2. * It's configured for 9600 baud, 8N1, to match the calculator's settings. */ // Define the pins for the secondary serial port (Serial2) #define CALC_RX_PIN 16 // GPIO 16 #define CALC_TX_PIN 17 // GPIO 17 void setup() { Serial.begin(115200); // Initialize the secondary serial port to communicate with the calculator // Baud Rate: 9600 // Config: SERIAL_8N1 (8 data bits, No parity, 1 stop bit) // Pins: RX on GPIO 16, TX on GPIO 17 Serial2.begin(9600, SERIAL_8N1, CALC_RX_PIN, CALC_TX_PIN); Serial.println("\nESP32 Serial Receiver Initialized"); Serial.println("---------------------------------"); Serial.print("Listening on GPIO "); Serial.print(CALC_RX_PIN); Serial.println(" at 9600 baud..."); Serial.println("Waiting for message from Casio calculator..."); } void loop() { // Check if there is data available from the calculator if (Serial2.available()) { // Read the incoming byte from the calculator and write it to the Serial Monitor char receivedChar = Serial2.read(); Serial.print(receivedChar); } } Thu, 31 Jul 2025 04:35:05 +0200 Casio CG50 vs CG100 https://www.planet-casio.com/Fr/forums/topic18894--.html Je me demande donc quelle est votre opinion sur le grapher Casio cg50 par rapport à la nouvelle version cg100 ? Est-ce que cela va être un autre fiasco comme celui du « FX-991CW », où la nouvelle version est moins bonne que l'ancienne ? J'hésite à acheter un cg50 tant qu'il est encore disponible, et je me demande si le cg50 est réellement meilleur/plus performant/de meilleure qualité, etc. que le nouveau cg100. Tous vos commentaires/avis sont les bienvenus :) Wed, 30 Jul 2025 08:46:37 +0200 Comment implémenter une saisie mathématique type eActivity ? https://www.planet-casio.com/Fr/forums/topic18891--.html Je développe avec le SDK fx-9860G et j’essaie d’implémenter une saisie mathématique claire et intuitive, comme dans cet exemple : https://i.imgur.com/kvoghRm.png Mais mon application actuelle ressemble plutôt à ça : https://i.imgur.com/uc5M6N6.png J’aimerais reproduire l’expérience de saisie de l’application eActivity intégrée, mais je suis un peu perdu sur la façon de m’y prendre. Quelqu’un aurait-il un extrait de code ou des conseils à partager ? Toute aide serait la bienvenue ! Tue, 29 Jul 2025 06:11:51 +0200 How do I use the serial communication function of the 9750giii or 9860gii? https://www.planet-casio.com/Fr/forums/topic18824--.html How do I use the serial communication function of the 9750giii or 9860gii? I want to create a g1a plugin to use the TRS serial port to enable the 9750giii or 9860gii to connect to the ESP32C3 for interfacing with the AI API. However, I have no idea how to develop this function using the SDK. According to the AI's prompt, it informed me of many header files that do not exist in the SDK, such as serial.h or files in syscalls.src, and I always couldn't find a way to open the serial port. Thu, 03 Jul 2025 11:13:12 +0200