Difference: CharlieWing (1 vs. 10)

Revision 102021-07-15 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"
%DASHBOARD{ section="banner"
Line: 7 to 7
  titlestyle="color:#F00000;" }%
Intro
Deleted:
<
<

Intro

 Adafruit 15x7 CharliePlex LED Matrix Display.

Driver is IS31FL3731 datasheet

Revision 92021-07-15 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"
%DASHBOARD{ section="banner"
Line: 12 to 12
  Driver is IS31FL3731 datasheet
Changed:
<
<
>
>
 
Line: 98 to 99
 Creative Commons License
This work by Peter Schmid is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Deleted:
<
<
feather_3138_iso_demo.jpg
 
META FILEATTACHMENT attachment="feather_3138_iso_demo.jpg" attr="" comment="" date="1619208574" name="feather_3138_iso_demo.jpg" path="feather_3138_iso_demo.jpg" size="776177" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="plex-header.jpg" attr="" comment="" date="1620294223" name="plex-header.jpg" path="plex-header.jpg" size="79243" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="plex.jpg" attr="" comment="" date="1620294493" name="plex.jpg" path="plex.jpg" size="495293" user="PeterSchmid" version="1"

Revision 82021-06-25 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"
%DASHBOARD{ section="banner"
Line: 20 to 20
 

Plex and I2C Words

Changed:
<
<
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 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). The plex display is default shutdown, to switch on =1 plexshutdown".
 
plex-emit    ( Char -- )        Emits a character (writes a character to the Plex display)

Revision 72021-05-06 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"
%DASHBOARD{ section="banner"
Line: 65 to 65
 
: count-down ( -- )
  plexclr

Deleted:
<
<
hook-emit @ \ save emit hook
  -1 -1 -1 alarm! \ an alarm every second wait-alarm 10 0 do
Changed:
<
<
['] plex-emit hook-emit ! \ redirect terminal to plex-emit i 25 * plexpwm 0 plexpos! 10 i - .
>
>
1 plexpos! i 1 + 25 * plexpwm \ set brightness i 0 = if [char] 1 plex-emit [char] 0 plex-emit else [char] 0 plex-emit
    1. i - [char] 0 + plex-emit then
  wait-alarm loop
Changed:
<
<
0 . hook-emit ! \ restore old hook cr ." 0 Launch!"
>
>
  1. $ff -1 plexcolumn! 14 $ff -1 plexcolumn! 1 plexpos! [char] 0 dup plex-emit plex-emit cr ." Launch!" cr
 ;
Added:
>
>
 

Marquee

Revision 62021-05-06 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"
%DASHBOARD{ section="banner"
Changed:
<
<
image="/twiki/pub/MecrispCube/OledDisplay/oled-mecrisp-cube-header.jpg"
>
>
image="/twiki/pub/MecrispCube/CharlieWing/plex-header.jpg"
  title="!CharlieWing Plex LED Display" titlestyle="color:#F00000;" }%
Line: 10 to 10
 

Intro

Adafruit 15x7 CharliePlex LED Matrix Display.
Changed:
<
<
Driver IS31FL3731 datasheet
>
>
Driver is IS31FL3731 datasheet
 
Changed:
<
<
Code page 850

Code page 850, 9x14

>
>
 
Line: 97 to 95
 feather_3138_iso_demo.jpg

META FILEATTACHMENT attachment="feather_3138_iso_demo.jpg" attr="" comment="" date="1619208574" name="feather_3138_iso_demo.jpg" path="feather_3138_iso_demo.jpg" size="776177" user="PeterSchmid" version="1"
Added:
>
>
META FILEATTACHMENT attachment="plex-header.jpg" attr="" comment="" date="1620294223" name="plex-header.jpg" path="plex-header.jpg" size="79243" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="plex.jpg" attr="" comment="" date="1620294493" name="plex.jpg" path="plex.jpg" size="495293" user="PeterSchmid" version="1"

Revision 52021-05-02 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"
%DASHBOARD{ section="banner"
Line: 22 to 22
 

Plex and I2C Words

Changed:
<
<
oled-emit works like the standard word emit. It blocks the calling thread, as long as the character is not written to the OLED display (less than 300 us for a 6x8 character and 400 kHz I2C). Horizontal (x) position is in pixel (0 to 127), vertical position (y) is in lines, a line consists of 8 pixels. Larger fonts takes more than one line.
>
>
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).
 

Changed:
<
<
plex-emit ( Char -- ) Emits a character (writes a character to the OLED display) plex-emit? ( -- Flag ) OLED ready to get a character (I2C not busy)
>
>
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 )
Line: 36 to 36
 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
Added:
>
>
plexpwm ( n -- ) default PWM 1 .. 255 (brightness) plexshutdown ( n -- ) 1 activate Plex dispaly, 0 shutdown display
 
Added:
>
>
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

Revision 42021-05-02 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"
Changed:
<
<

Feather Charlie Wing

>
>
CharlieWing Plex LED Display
Intro

Intro

 Adafruit 15x7 CharliePlex LED Matrix Display.
Changed:
<
<
IS31FL3731 https://www.issi.com/WW/pdf/31FL3731.pdf
>
>
Driver IS31FL3731 datasheet

Code page 850

Code page 850, 9x14

Plex and I2C Words

 
Changed:
<
<
I2C Address 0x74
>
>
oled-emit works like the standard word emit. It blocks the calling thread, as long as the character is not written to the OLED display (less than 300 us for a 6x8 character and 400 kHz I2C). Horizontal (x) position is in pixel (0 to 127), vertical position (y) is in lines, a line consists of 8 pixels. Larger fonts takes more than one line.
 

Changed:
<
<
\ buffer for I2C 20 buffer: i2c-buf
>
>
plex-emit ( Char -- ) Emits a character (writes a character to the OLED display) plex-emit? ( -- Flag ) OLED 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

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

Usage

 
Changed:
<
<
\ set I2C address $74 I2dev
>
>
It is easy to redirect the terminal output to the Plex display, to use the string formatting words.
 
Changed:
<
<
\ select frame 1 $000000FD i2c-buf ! i2c-buf 2 I2Cput

\ switch on first 8 LEDs (first column?) $0000FF00 i2c-buf ! i2c-buf 2 I2Cput

\ pwm first LED $00007F24 i2c-buf ! i2c-buf 2 I2Cput

\ pwm second LED $00007F25 i2c-buf ! i2c-buf 2 I2Cput

>
>
: 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!"
;

 
Added:
>
>

Marquee

-- Peter Schmid - 2020-12-29

Creative Commons License
This work by Peter Schmid is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

  feather_3138_iso_demo.jpg

Revision 32021-04-28 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"

Feather Charlie Wing

Revision 22021-04-24 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="MecrispCubeF405"

Feather Charlie Wing

Adafruit 15x7 CharliePlex LED Matrix Display.

Changed:
<
<
IS31FL3731 https://www.issi.com/WW/pdf/31FL3731.pdf
>
>
IS31FL3731 https://www.issi.com/WW/pdf/31FL3731.pdf

I2C Address 0x74

\ buffer for I2C
20 buffer: i2c-buf

\ set I2C address
$74 I2dev

\ select frame 1
$000000FD i2c-buf !
i2c-buf 2 I2Cput

\ switch on first 8 LEDs (first column?)
$0000FF00 i2c-buf !
i2c-buf 2 I2Cput

\ pwm first LED
$00007F24 i2c-buf !
i2c-buf 2 I2Cput

\ pwm second LED
$00007F25 i2c-buf !
i2c-buf 2 I2Cput
 

feather_3138_iso_demo.jpg

Revision 12021-04-23 - PeterSchmid

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="MecrispCubeF405"

Feather Charlie Wing

Adafruit 15x7 CharliePlex LED Matrix Display.

IS31FL3731 https://www.issi.com/WW/pdf/31FL3731.pdf

feather_3138_iso_demo.jpg

META FILEATTACHMENT attachment="feather_3138_iso_demo.jpg" attr="" comment="" date="1619208574" name="feather_3138_iso_demo.jpg" path="feather_3138_iso_demo.jpg" size="776177" user="PeterSchmid" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback