plex-emit
works like the standard word emit
. It blocks the calling thread, as long as the character is not written to the Plex display (less than 300 us for a 6x8 character and 400 kHz I2C). Horizontal (x) position is in pixel (0 to 15).
plex-emit ( Char -- ) Emits a character (writes a character to the Plex display) plex-emit? ( -- Flag ) Plex ready to get a character (I2C not busy) hook-emit ( -- a-addr ) Hooks for redirecting terminal IO on the fly hook-emit? ( -- a-addr ) plexpos! ( x -- ) Set Plex cursor position, x horizontal position, for 6x8 font max. (15 / 6) -1, depends on the font's x size plexpos@ ( -- x ) Get the current Plex cursor position plexclr ( -- ) Clears the Plex display, sets the cursor to 0 plexfont ( u -- ) Select the font, u: 0 6x8, 1 8x8 plexpwm ( n -- ) default PWM 1 .. 255 (brightness) plexshutdown ( n -- ) 1 activate Plex dispaly, 0 shutdown display plexcolumn! ( col leds pwm -- ) plexcolumn@ ( col -- leds ) plexpixel! ( col row pwm -- ) plexpixel@ ( col row -- u ) plexframe! ( n -- ) plexframe@ ( -- n ) plexdisplay! ( n -- ) plexdisplay@ ( -- n ) I2Cdev ( u -- ) Sets the 7-bit I2C address I2Cput ( c-addr u -- ) c-addr buffer address for the message with lengh u to send I2Cget ( c-addr u -- ) c-addr buffer address for the message to receive I2Cputget ( a1 u1 a2 u2 -- ) a1 buffer address for the message to send, a2 buffer address for the message to receive
: count-down ( -- ) plexclr hook-emit @ \ save emit hook -1 -1 -1 alarm! \ an alarm every second wait-alarm 10 0 do ['] plex-emit hook-emit ! \ redirect terminal to plex-emit i 25 * plexpwm 0 plexpos! 10 i - . wait-alarm loop 0 . hook-emit ! \ restore old hook cr ." 0 Launch!" ;
I | Attachment | History | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|---|
![]() |
feather_3138_iso_demo.jpg | r1 | manage | 758.0 K | 2021-04-23 - 20:09 | PeterSchmid |