PicoMite: serial I/O (from MMB4L)


Author Message
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4370
Posted: 09:21pm 04 Jan 2022      

Hi folks,

Finally back trying to finish alpha 3 of MMB4L.

I'm using a PicoMite to test MMB4L's serial I/O and have it working (as far as I can tell) where MMB4L talks to the PicoMite over the latter's serial console.

I'm now moving over to talking to the PicoMite via its COM ports and *think* I have found a bug on the PicoMite.

This is the transmit code running on MMB4L:

' MMB4L code to continuously transmit lines containing "Hello World".

Option Base 0
Option Default None
Option Explicit On

Open "/dev/ttyUSB0:9600" As #1

Do
 Print #1, "Hello World"
Loop


This is the receive code running on the PicoMite:

' PicoMite code to receive data via serial I/O and echo to console.

Option Base 0
Option Default None
Option Explicit On

SetPin GP1, GP0, COM1

'Open "COM1:9600" As #1            ' (1) Prints "Hello World" continuously - OK
'Open "COM1:9600,256,foo,1" As #1  ' (2) Prints "foo" or "Hfoo" and ends   - OK
Open "COM1:9600,256,foo,2" As #1   ' (3) Prints "Hello World" continuously - BUG?

Dim ch$

Do
 ch$ = Input$(1, #1)
 Print ch$;
Loop

Close #1

Sub foo()
 Print "foo"
 End
End Sub


As you can see from the code comments I think there is a PicoMite BUG with case 3 where the interrupt trigger is 2 characters, am I correct or is there something I am missing ?

Best wishes,

Tom
Edited 2022-01-05 07:34 by thwill