noForth op rp2040 zonder serial dongle

2025-06-20

INCOMPLETE DRAFT -- ONVOLLEDIG CONCEPT

algemeen foutzoeken/instellen: wat is het probleem?

Er zijn hier een aantal mogelijke oorzaken van problemen:

  1. Elke versie van je operating system heeft een eigen standaard USB CDC-class serial device driver (dat is de officiele naam voo dit stukje software) en gebruikt eigen conventies voor usb serial devices
  2. Ook de terminal programma's hebben hun eigen bijzonderheden en hebben wellicht een andere instelling nodig
  3. De USB van de pc zit vol omdat er teveel usb apparaten zijn aangesloten die vermogen en/of bandbreedte nodig hebben, er kan er geen meer bij

De doorgewinterde seriele interface gebruiker heeft dit soort problemen al eerder gezien en overwonnen, maar voor wie dit pad nog niet heeft bewandeld de volgende opties. Het zal duidelijk zijn dat we niet alle verschillende combinaties kunnen beschrijven, maar hier volgen wat steunpuntjes:

Het correcte, maar ook flauwe advies is om te kijken naar de documentatie van het operating system en de cdc device driver van de pc en die van het terminal programma.

De volgende optie is om op het internet te zoeken hoe anderen die specifieke combinatie van operating system en terminal programma hebben aangepakt.

Hierbij spelen meestal de volgende vragen:

welk device moet ik gebruiken in mijn terminal programma?

voor linux:

Het device is meestal te vinden in /dev/tty en dan nog wat en wordt automatisch aangemaakt door de device driver. Werkwijze: plug de usb kabel in, geef het systeem een paar tellen om te reageren en kijk met

ls -ltr /dev/tty*

Voorbeeld:

(heel veel regels weggelaten)
crw--w---- 1 root   tty    4,  7 2025-06-07 03:59 /dev/tty7
crw--w---- 1 root   tty    4,  8 2025-06-07 03:59 /dev/tty8
crw--w---- 1 root   tty    4,  9 2025-06-07 03:59 /dev/tty9
crw-rw---- 1 root   uucp 166,  0 2025-06-13 15:22 /dev/ttyACM0

Zoek op de datum/tijd van het inpluggen van de usb kabel, dan heb je hoogstwaarschijnlijk het juiste device

voor ms-windows:

Het device is meestal COM met een volgnummer

voor macOS:

tbs

hoe krijg ik toegang tot het device?

voor linux:

Op de regel bij /dev/ttyACM0 staat bij het voorbeeld hierboven 'crw-rw---- 1 root uucp' (dit is linux versie specifiek, er worden ook andere aanduidingen gebruikt)

Dat betekent dat root de eigenaar is van het device met rw (read/write) toegang, en dat gebruikers met de group uucp in hun account ook rw (read/write) toegang hebben tot het device.

Dus je inlog account moet deel uitmaken van die groep.

Met de 'groups' opdracht kan je zien welke groepen je hebt. Als uucp daar niet bij staat moet je die toevoegen. Zie 'man groups' voor opties. Wees voorzichtig, het is mogelijk om je account te beroven van de toegang tot je systeem.

voor ms-windows:

tbs

voor macOS:

tbs

welke baudrate moet ik instellen op mijn terminal programma?

Omdat de communicatie over usb loopt is de baudrate van de device driver nodig. Om die te bepalen:

voor linux:

gebruik het stty commando. Voor het voorbeeld tty device hierboven wordt dat:

stty --file=/dev/ttyACM0

Dit geeft als uitvoer:

speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

De snelheid is dus 9600 baud. Voor de overige informatie zie 'man stty'

voor ms-windows:

tbs

voor macOS:

tbs