Gestern habe ich PiGFX 1.8.0 - ein bare metal Terminal auf Basis eines RPi- getestet.
PiGFX 1.8.0 is die original Version von https://github.com/fbergama/pigfx
(nicht der Fork von https://github.com/dhansel/pigfx)
Frohen Mutes habe ich meinen Arduino Due - auf dem RunCPM laeuft - angeschlossen.
Der RPi (1B+) bootete, brachte die Einschaltmeldung und erkannte die USB-Tastatur
ABER ich konnte keine Eingabe machen
Also habe ich 5 verschiedene Tastaturen ausprobiert mit dem selben Ergebnis - keine Eingabe moeglich.
Mit Strom versorgt hatte ich den Arduino Due (Clone) per MicroUSB (getestet auf beiden Ports).
Als Gegentest versorgte ich nun den Arduino Due mit 5V auf dem Barrel-Connector.
Nun konnte ich zwar scheinbar Eingaben machen - die Buchstaben erschienen auf dem Bildschirm - aber RunCPM erkannte diese nicht
Ich testete die Optionen in der Konfig-Datei von PiGFX zu CR/LF-Optionen, aber auch diese brachten gegenueber RunCPM keine Erkennung der Befehle.
In der Facebook-Gruppe zum Z80-MBC2 (wo die neue Version des PiGFX 1.8.0 vorgestellt wurde von David Collins) teilte mir John Smith mit, dass PiGFX auf seinem "Duo/Due" arbeiten wuerde mit einem Apple1-Emulator (mit echter 6502-CPU).
Sein Due stellte sich allerdings nach einem eingestellten Bild als Arduino MEGA2560 raus
Also machte ich mich auf die Suche nach einem Problem des Arduino Due mit dem Pin RX0, da TX0 zu arbeiten schien (Ausgabe klappe ja).
Fuendig wurde ich auf [SOLVED] RX pin doesn't work
Dort heisst es, dass einige Arduino Due (Clones bzw. auch Revisionen des Originals) Probleme mit dem Pin RX0 haben aufgrund einen Hardware-Design-Fehlers:
Zitat
The old Due design had #OE connected to ground, so that the driver is always enabled. The idle state of a UART is High. As you found, this can prevent re-use of Serial0.
At some point the Due design was changed to wire #OE to it's input pin, so that it is only driven low. With the Atmega UART in the idle state, the '125 buffer chip is High-Z, allowing re-use of Serial0.
Mit diesem neuen Wissen, habe ich mir dann am naechsten Morgen die RunCPM.ino (also das RunCPM-Programm fuer die Arduino IDE) angesehen und geschaut wie und wo der serielle Port0 (RX0/TX0) angesprochen wird.
Nachdem ich gegoogelt hatte dass dies ueber "Serial." fuer RX0/TX0 gemacht wird und RX1/TX1 ueber "Serial1." angesprochen wird, habe ich in allen Tabs (2 waren betroffen) "Serial." gegen "Serial1." ersetzen lassen und dann RunCPM kompiliert und auf den Arduino Due uebertragen.
Nachdem ich die TTL-serial-Kabel dann von RX0/TX0 auf RX1/TX1 umgesteckt hatte und das System/Konstrukt neu gestartet hatte, war sofort die USB-Tastatur nutzbar per PiGFX zur Nutzung am RunCPM des Arduino Due
Im Gegensatz zu meinem ersten Test von PiGFX (damals mit einer alten Version) scheint dies nun sauber zu funktionieren
Dabei fiel mir ein, dass ich mit dem Due/RunCPM das selbe Problem hatte bei dem Versuch das Projekt ESPTerm (ESP8266) zu nutzen.
Damals hatte ich es aufgegeben, da ich an einen Fehler in ESPTerm glaubte
Somit habe ich - fuer mich - dieses Problem nun erfolgreich geloest und hoffe die Infos koennen Euch mal helfen
PS: Auf dem Bild mit dem Raspberry Pi 1B+ ist der Arduino Due noch an RX0/TX0 angeschlossen!