This is my ultimate goal with #tior: a multiplexed #TTY and file transfer through serial. It won't happen fast I'm barely gettting #ZMODEM together and need to finish the UI for my client after that.

Here I've carved up high-level goal what I have in mind: https://github.com/de-vri-es/serial2-rs/issues/6#issuecomment-1837024452

IMHO this is totally modern world thing. When I was still working e.g. with Nokia Linux phones security, earlier that on #Symbian, serial port was used a lot. Then it sort of phased out for a number of years in my work life but today with the maker community, all sorts of #SBC's and affordable #FPGA's the stocks are rising again. Of course if you've been all the time working on embedded, serial has been around for all this time. It is pretty weird that minicom and lrzsz still rock the world in that arena.

When you work on a a power on for a new hardware device, it is the first channel that gets usually enabled. And e.g. like any FPGA design or something you put to let's say to Arduino it is simplest route to get some communications on going.

So yeah, I really think this sort of endeavour does matter.
Akkoma

really like this fsmetry crate (also no_std):

fsmentry::dsl! { #[derive(Debug)] pub Mode { WaitingInput -> WaitingCommand -> WaitingInput; WaitingCommand -> SendingFile -> WaitingInput; WaitingCommand -> ReceivingFile -> WaitingInput; WaitingCommand -> Exit; } }

I use it manage life-cycle in my small serial port tool tior. I also have some #zmodem code together but it is apparently much bigger leap to implement the #cli interface than it is to implement the protocol. I had to take some time to refactor existing code (e.g. to put FSM in place) and now I’m doing file path auto-completing interface for sending and receiving files with zmodem.

For the text input I’m going to use inquire.

I guess the definition of feature complete for 0.1 version is fully working zmodem transfers and known bugs have been fixed. Right now there is a single known bug: https://github.com/jarkkojs/tior/issues/1.

#tior #fsmentry #inquire #rustlang

Akkoma

great, now #tior #serial #terminal tool has UTF-8/escape code encoder for most relevant key presses without modifier key. i guess now is a good time to look at #zmodem support. it is just disjoint state for the TTY session, and in the end might be easier part.
Akkoma

beginnings of an input encoder for my serial tool. it is probably better to have in-tool encoder because it also affects a lot to the user experience. next stop probably supporting also backspace :-) https://github.com/jarkkojs/tior/commit/08bc02c0acf8d3424eb35db44f49debc5394989a

#tior #serial #terminal
feat: transmit UTF-8 characters and new line · jarkkojs/tior@08bc02c

In order to keep dependencies to other crates minimal, start to implement internal encoder for key presses. This initial commit enables UTF-8 characters, and in addition pressing enter sends a new ...

GitHub