Post Reply 
Receiver hardware for IR beam (red eye)?
11-28-2023, 07:38 PM
Post: #8
RE: Receiver hardware for IR beam (red eye)?
The PIO only does HP41 interfacing, syncing and deserializing. It decodes ISA (using SYNC) and sends address to the C code, which takes, care of reading the printer ROM (and send the instruction out to ISA) Also the ISA instruction is deserialised by the PIO, and C software identifies the instruction and recognises, the printer commands. The printer status register is sent when requested by C code to another PIO state machine to send it on the DATA line. PIO takes care of timing and serializing. And of course send a carry bit on some instructions, but instruction decoding and execution is done in C.

I do not plan a Redeye receiver, I can imagine it is a bit more complex than sending. By sending half bits the state machine is quite efficient (also uses nops an delays) and only 27 bits need to be constructed in C, plus automatically 3 zero half bits for the interframe delay. This state machine runs at twice the required carrier frequency, and uses a sideset to drive the LED. Will post the PIO source tomorrow.

I really like the RP2040 and especially the PIO. The limited PIO codespace forces you to be creative and consider every single byte, just like mcode programming in the past. There are limitations of course but many tricks are possible. I actually do use the forced instructions a few times from C code to send new instructions or a jump to a state machine. Lots of fun!

Regards, Meindert
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Receiver hardware for IR beam (red eye)? - MeindertKuipers - 11-28-2023 07:38 PM



User(s) browsing this thread: 1 Guest(s)