Page 1 of 2

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

Unread postPosted: 14 Feb 2024, 19:52
by acagliano
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.

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

Unread postPosted: 14 Feb 2024, 21:53
by Adriweb
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.

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

Unread postPosted: 15 Feb 2024, 08:50
by Epharius
Well done! How did you plug you calculator to make it work? Does it require an adapter or something?

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

Unread postPosted: 15 Feb 2024, 16:38
by acagliano
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.

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

Unread postPosted: 17 Feb 2024, 21:47
by acagliano


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.

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

Unread postPosted: 22 Feb 2024, 16:27
by acagliano
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.

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

Unread postPosted: 22 Feb 2024, 17:19
by Epharius
Nice! Did it require to change something to your lib to add WPS support? Or does the Wi-Fi device handle it by itself?

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

Unread postPosted: 22 Feb 2024, 17:34
by acagliano
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.

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

Unread postPosted: 07 Mar 2024, 05:12
by acagliano
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

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

Unread postPosted: 09 Mar 2024, 15:41
by acagliano
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.