π
<-
Chat plein-écran
[^]

lwIP Library with CDC Ethernet for the TI-84+ CE

Assembleur, Axe, C/C++, ICE...

lwIP Library with CDC Ethernet for the TI-84+ CE

Unread postby acagliano » 14 Feb 2024, 19:52

Figured this might be a worthy share.

For a while I've been working on a number of network-reliant applications for the TI-84+ CE and been using some hackish implementation of SRLDRVCE with a TCP/SRL bridge running on a computer to facilitate a network.
Recently I finally decided to do things properly, and with some help from commandblockguy implement a fully-functional TCP/IP stack using USBDRVCE, lwIP code, and a self-written CDC-ECM driver.

Source: https://github.com/acagliano/lwip-ce

I've also prepared some screenshots of the current unit tests of this project. The below screenshot was recorded on the veth branch of CEmu using a virtual Ethernet device.
Image

Here is a video recording the screen of an actual TI-84+ CE Python edition.


Once more tests confirm this stable, it will be packaged and released as an application dylib for use with the CE C toolchain so that developers can use the TCP/IP in their projects easily.
Last edited by acagliano on 15 Apr 2024, 00:03, edited 1 time in total.
User avatar
acagliano
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 8
Joined: 14 Feb 2024, 19:45
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: acagliano

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby Adriweb » 14 Feb 2024, 21:53

Congrats! that seems like a whole lot of work and it pays off :)
It's a good idea to provide it as as toolchain-compatible lib too.
Image

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

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby Epharius » 15 Feb 2024, 08:50

Well done! How did you plug you calculator to make it work? Does it require an adapter or something?
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 7.6%
 
Posts: 1122
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby acagliano » 15 Feb 2024, 16:38

Epharius wrote:Well done! How did you plug you calculator to make it work? Does it require an adapter or something?

Yes. A USB-mini to USB-A OTG adapter and then a USB-A to Ethernet adapter. From there just plug into a router or switch and you’re golden.

Edit: This library supports CDC-ECM. There is no support for EEM or NCM (yet?). So if your Ethernet adapter is not an ECM device, it will NOT work with this.
User avatar
acagliano
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 8
Joined: 14 Feb 2024, 19:45
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: acagliano

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby acagliano » 17 Feb 2024, 21:47



We have a functioning demo, it would appear.
Moving on to a private beta with a number of interested persons. Just poke me here, on Cemetech DM, or Discord (acagliano) if you want to join the beta test.

You will need:
1. Your calculator (TI-84+ CE)
2. A USB-miniB to USB-A OTG adapter
3. A USB-A to Ethernet device with an ECM configuration (NCM/EEM devices not currently supported)
4. An Ethernet cable plugged into a router or switch.

You will also need the USBDRVCE library on your calculator.

EDIT: You may get updates for the project or join the beta test by going to https://discord.gg/3hBR9QwJyC. When prompted for what you want to do, select "Help Test Things" and you'll be given tester role which will allow you to see lwIP's beta testing channel.
User avatar
acagliano
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 8
Joined: 14 Feb 2024, 19:45
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: acagliano

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby acagliano » 22 Feb 2024, 16:27

Addendum

If you are like some others I've talked to who feel like plugging their calc into their router is an inconvenience, I have good news for you. I have purchased and tested this device: https://a.co/d/igLQRQl. You need to use WPS to connect the adapter to your router, at which point, connect your USB-mini -> USB-A -> Ethernet rig to this adapter via an Ethernet cable and you can connect your calc to your network wirelessly. I imagine any similar device will also work as long as it supports Ethernet to WiFi and WPS as well as onboard encryption.
User avatar
acagliano
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 8
Joined: 14 Feb 2024, 19:45
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: acagliano

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby Epharius » 22 Feb 2024, 17:19

Nice! Did it require to change something to your lib to add WPS support? Or does the Wi-Fi device handle it by itself?
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 7.6%
 
Posts: 1122
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby acagliano » 22 Feb 2024, 17:34

Epharius wrote:Nice! Did it require to change something to your lib to add WPS support? Or does the Wi-Fi device handle it by itself?

It's handled by the device. No library modifications needed. There probably is a way to interface with the device FROM the calc to select a network but it's not required (though we may add a driver for that if we can find a standard for it). You just follow the steps for WPS connection, and then just use lwIP as normal.
User avatar
acagliano
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 8
Joined: 14 Feb 2024, 19:45
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: acagliano

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby acagliano » 07 Mar 2024, 05:12

Just an update.
The lwIP private beta will be taking place tomorrow at 7:30 PM US Eastern.
Event Link: https://discord.gg/hQr654Dw?event=1214766328921980928
It will be streamed live on my YouTube channel. https://www.youtube.com/channel/UCyEcVV ... 9V7EfdW3HQ
Probably won't be a super long test. If anyone wants to participate directly, they can join the server linked above and indicate they'd like to help with testing. Bear in mind the hardware you need to make this work.

Update: Stream/Video link. https://youtube.com/live/fD2n7CzFeZU?feature=share
User avatar
acagliano
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 8
Joined: 14 Feb 2024, 19:45
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: acagliano

Re: lwIP Library with CDC-ECM for the TI-84+ CE

Unread postby acagliano » 09 Mar 2024, 15:41

Update

The beta test was live a few nights ago and no client-side issues were identified.


Project will be awaiting distribution as a library and move into public beta soon.
User avatar
acagliano
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 8
Joined: 14 Feb 2024, 19:45
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: acagliano

Next

Return to Langages alternatifs

Who is online

Users browsing this forum: No registered users and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
994 utilisateurs:
>950 invités
>39 membres
>5 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)