dhansel / VersaTerm

A versatile DIY serial terminal
GNU General Public License v3.0
107 stars 27 forks source link

Feature request and few issues. #11

Closed Garfius closed 4 months ago

Garfius commented 5 months ago

Hello, this project is awesome, i have just build one of yours, and works pretty nice, but soldering the HDMI was almost impossible.

Just wondering/asking wether this project can run on a 'rp2040-piZero', which already has the HDMI, so no soldering will be needed.

I just bought one rp2040-piZero, so i am ready for testing ;)

By the way... The issues are:

  1. I use PS2 keyboard, home and end keys does not send proper escape codes.
  2. HDMI output does not detect a 1024*600 display which uses Realtek rtd2660.

image

dhansel commented 5 months ago

This project can not run on a Pi Zero. The Pi Zero and Pi Pico are completely different devices and this is specifically written for the hardware on a Pi Pico. However, the Pi Zero runs Linux and there are multiple other terminal programs available on Linux so there really is no need to port this.

Regarding the keyboard, this is meant to emulate a VT100 terminal which didn't have HOME and END keys (as far as I know) so they are not supported in its default configuration. However, using the macro recording function you can map any escape code to any key you like:

  1. press F11 (you will hear a single beep)
  2. press the key you want to re-define
  3. press the keyboard key sequence you want the function key to send
  4. press F11 again (a double beep will indicate that the macro has been recorded)

Now every time you press the key, VersaTerm will send that sequence. When you save your configuration the keyboard macros will be included.

Note that during step 3 you can send any ASCII code by pressing and holding the left ALT key and then typing the three-digit (decimal) ASCII code on the number keypad on your keyboard. For example: [hold down LEFT-ALT] 0 6 5 [release LEFT-ALT] will produce an upper-case A. This works at any time, not just when defining macros.

Regarding the HDMI, have you tried forcing the output to HDMI by setting HDMI as the display type in the Display Settings menu? If it's purely an issue of not detecting the screen then you should get an output after setting that and restarting. If that still doesn't work then it may be that your monitor does not support the 640x480 display size that VersaTerm outputs. Not sure what can be done about that other than using a different monitor.

dquadros commented 5 months ago

The rp2040-piZero is a RP2040 board with the Rapsberry Pi Pico Zero form factor and DVI interface (the link above has more interface). I didn't know this board but it looks interesting.

dhansel commented 5 months ago

Ah I see - in that case it might work. Obviously I don't know much about that board. VersaTerm uses (a modified version of) the PicoDVI library to produce its HDMI output. If the rp2040-piZero board works with the PicoDVI library then there's a good chance it should work with VersaTerm.

Garfius commented 4 months ago

Ok, here trying to make it work on a RP2040-PiZero.

Changed speed at 9600 and all the pins, USB keyboard, uart0 removed VGA option.

Pins settings: https://github.com/Garfius/VersaTerm-PiZero/blob/main/hardware/PCB/pinVersaToPiZero.ods

I included PIN_USBMODE at pins.h because this board does not have this feature, also pin 24 is used for 'HDMI D1+', now works using duPont cable, might change it later.

I've got a red lines problem, compiled using Debug i can only see few maybe 2 lines, on Release i see what following photo shows:

https://github.com/Garfius/VersaTerm-PiZero/blob/main/software/screenshots/rp2040-piZero-alpha.jpg

There is also the binary available: https://github.com/Garfius/VersaTerm-PiZero/blob/main/rp2040-piZero-alpha.uf2

Any idea?

HELP

Garfius commented 4 months ago

Nevermind, Sven already did it: https://github.com/SvenMb/VersaTerm