|
|
HP48 / C-Kermit file transfer
|
Prepare hardware
Gather hardware
- Get or make a serial cable from HP48 to DB9 (most common) or DB25
(instructions on
https://www.hpcalc.org/hp48/docs/faq/48faq-12.html, the
core of it being: looking at the calculator socket from left to right,
pins are shield,tx,rx,ground ).
- Get a USB-to-Serial adapter with matching DB connector, or add an
adapter. Beware, some cheap adapters don't respect RS232 levels (-12/+12)
and do 0-5V instead, this can be a cause of failure to communicate.
Ensure PC recognizes hardware
We assume here that the PC side operating system runs Linux.
Prepare software
Information: why the software choice below
- A ckermit package used to be included
in Debian (and thus derivatives like Ubuntu) but no longer. Edit:
C-Kermit maintainer is working with Debian (in 2020) to get it
included again!
- A gkermit package exists but it seems
restricted to a different use case: transferring files on a
text-terminal-oriented session, which is what was common before
TCP/IP and the web, and does not fit this use case.
Get C-Kermit source my-tt and build it
Perform transfer
Run software, set HP48-specific parameters
Since Kermit protocol is very general and this implementation supports
many use cases, software needs some parameters to work in our case.
The lines below worked for me, words after the semicolons are comments
for the curious.
./wermit ; Start C-Kermit
; The following commands are entered at the "C-Kermit>" prompt...
set port /dev/ttyUSB0
set speed 9600 ; Serial port speed, HP48 defaults to 9600, also supports 4800 2400 1200
set carrier-watch off ; It's not a modem connection so ignore carrier signal state.
set modem type none ; No modem is involved; don't send AT commands.
set flow none ; Flow control is not supported by HP48.
set parity none ; 8 data bits, no parity
set control prefix all ; HP48 Kermit requires all control characters to be encoded in printable form.
set file type binary ; Might not always be needed.*
Note that it is not necessary to type all these commands every time you want
to set up a file-transfer connection with the HP48. You can copy the
commands into a file (e.g. "hp48.ksc") and then tell C-Kermit to
"take hp48.ksc". Or you can define a macro in your ~/.kermrc
file.
Transfer files
From that on, it's up to your knowledge of the Kermit protocol.
For example to send from PC to HP48, on the HP48 start a kermit server
(menu or SERVER command), and at
the C-Kermit> prompt type:
send myfilename
Or to send from HP48 to PC, on PC type
server
and on the HP48 put a file name on the stack (with VAR and
possibly NXT, find your object in the menu, press '
and the A-F key showing the object) and
issue SEND command.
Tested, success
Tested today on a PC running Xubuntu 20.04.
Both worked!
Links:
Last update:
Mon Nov 30 13:09:45 2020
|
[ Validate ]
|