Posté le 12/07/2021 21:36
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 278 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 12/07/2021 22:05 | # | Fichier joint
Hi! That's quite the bomb you dropped there, nice job. xD
No problem with speaking English, the more technical audience of Planète Casio is comfortable with it, and we can translate later for everyone else.
I'm not very familiar with the network stack at this level, but I get the gist of the configuration involved there. One thing I'm unsure of is what kind of device driver the kernel associates with the calculator? (Also what cable did you use?) /dev/ttyUSB0 sounds like the CDC class from the USB protocol but that wouldn't be a network device AFAICT.
This is too nice to not write a front-page article about. If you're ok with it, I'd like to make one sometime in the next few days.
I'm always happy to see these cool projects porting libraries with awesome results. This is something that the Cemetech community did much more when were active on the fx-CG 10/20, while people here on Planète Casio (myself included) mostly make games from scratch. It also shows that the GCC setup (and to some extent the SDK) is now somewhat solid. I'm glad you liked it! o/
Citer : Posté le 12/07/2021 22:08 | #
Wow, such an awesome project ._.
Technically speaking, if you manage to add UART support to gint, Lephe may be interested with a PR on his project (and so I am, having some projects using UART in my todo-list). If you consider this, we can create you an account on Gitea.
Citer : Posté le 12/07/2021 23:08 | #
Thank you
About the UART:
https://github.com/Manawyrm/fxIP/blob/main/src/scif.c contains the UART driver.
It has 2x 2KiB ringbuffers (one for each TX and RX, big enough to hold one full IP packet).
It has no support for configuring the serial port (yet?), so I'm still calling the Casio OS routines to do that.
The documentation in the Renesas datasheet was quite accurate and it worked pretty much first try.
With these UART routines, the performance was greatly improved. The original UART routines in the system seemed to not be interrupt-based but rather poll the 16-byte hardware FIFO at each OS-call/yield?
In any case, the original routines caused data loss, the new ones don't
I don't have any more Casio calculators, only this modded fx-9750GII (SH4a).
If you wanted to implement UART support in fxsdk, I think only a configure/setup-function and maybe different register offsets for the other CPUs/calculators would be needed.
Everything else (and a bit of code cleanup maybe, I'm not a C master) should work pretty well.
Sorry for not explaining the UART/network stuff more clearly:
I'm using a USB->UART cable (FTDI FT232), which is common on 3.5mm jacks.
It's a bit uncommon for 2.5mm jacks, so I had to cut a cable and solder the ends onto the USB->UART converter. This is also why it appears as a USB-CDC device on the computer.
SLIP is just a very simple protocol (with a start and end byte and an escape byte) to encode IP packets into a serial data stream. It's just as simple as it sounds (https://github.com/Manawyrm/fxIP/blob/main/src/slipdev.c ).
About the front page:
Sure, I'd be honored
@Dark storm:
Cool, I'd love to see some hardware-interfacing/UART projects. Don't be afraid, it was pretty straight-forward and worked right away.
After we had a working UART driver, I also wrote this very simple RS232 terminal application and connected a 56k modem directly to the casio (after removing the +/-15V driver IC):
https://www.youtube.com/watch?v=epFX8K0dhdY
It was quite fun to use a modem on the casio. I originally wanted to use the modem for Internet connectivity as well, but I had some trouble connecting my 2 modems together reliably, so I skipped this step (for now).
Citer : Posté le 13/07/2021 09:49 | #
:o
(edit: this should go in the next RDP)
Citer : Posté le 22/07/2021 15:38 | #
It's been longer than I hoped, but I have finished the article I promised for the front page.
I think I got most of the points right, but feel free to add details or fix mistakes (in English) in the comments. If you ever take it further (such as by connecting the modem), I would be happy to write a followup.
Thanks again for this extremely cool proof-of-concept.
Citer : Posté le 22/07/2021 16:02 | #
That is a very nice article, thank you
Re: http://fxip.as203478.net/ -- it is still online, maybe not reachable from your ISP?
The Casio is really running the full HTTP webserver itself. Just publicly reachable with a public IPv4 address.
You can also reach it via 44.190.23.86 directly.
Citer : Posté le 22/07/2021 16:23 | #
Thank you! I amended the article to add the new link (I had checked the previous link from the top post), and added the reference to the complete HTTP server.
I was unsure about the HTTP server because I didn't find it in the source code, but I realize now it seems to be in µIP itself.