Page 1 of 1

Building my own font for maxscroll 7219

Posted: Tue Nov 28, 2023 12:42 am
by PANNO
Hi.

Is it possible to build/using my own font for the 7219 device?

Maybe with poke or something other ?
Thx

Re: Building my own font for maxscroll 7219

Posted: Tue Nov 28, 2023 10:57 am
by cicciocb
No, the font is inside the flash and cannot be changed.

Have you seen all the symbols available (the chars from 1 to 255) ?

Re: Building my own font for maxscroll 7219

Posted: Tue Nov 28, 2023 11:53 pm
by PANNO
Hi , ciccocb , thx for the answer. Yes i have checked the other chars . It was only for interest.

Btw: can i find a list of usefull memory pointers for esp32?

Re: Building my own font for maxscroll 7219

Posted: Wed Nov 29, 2023 9:01 am
by cicciocb
[Local Link Removed for Guests] wrote: [Local Link Removed for Guests]Tue Nov 28, 2023 11:53 pm Btw: can i find a list of usefull memory pointers for esp32?
You can use the ESP32 Technical Reference Manual
https://www.espressif.com/sites/default ... ual_en.pdf

but ....... "Bon courage" :D

Re: Building my own font for maxscroll 7219

Posted: Wed Nov 29, 2023 12:15 pm
by PANNO
Side 36 from 723 :lol: i give up :lol:

Re: Building my own font for maxscroll 7219

Posted: Wed Nov 29, 2023 1:13 pm
by Fernando Perez
Surrender? Never!
An outline of a project:

Code: [Local Link Removed for Guests]

option.base 1
dim l(64)

onHTMLReload web
gosub web
wait

web:
  cls
  cssExternal "/button.css"
  a$ = "" : a$ = |<center><div class="led">|
  led = 1
  for y = 1 to 8
    for x = 1 to 8
      command "a$=a$+button$("+chr$(34)+str$(led)+chr$(34)+",btn,"+chr$(34)+"bt"+str$(led)+chr$(34)+")"
      led = led + 1
    next x
    a$ = a$ + "<br>"
  next y 
  a$ = a$ + |</div>| 
  html a$
return

btn:
  b = val(htmlEventButton$)
  b$ = "bt" + htmlEventButton$
  
  if l(b) = 0 then
    css CSSID$(b$, "background: black; color:white;")  
    l(b) = 1
  else
    css CSSID$(b$, "background: yellow; color:black;")
    l(b) = 0
  endif      

return

FILE: /button.css

Code: [Local Link Removed for Guests]

.led button{
  margin:3px;
  background:yellow;
  width:50px;
  height:50px;
  border-radius:50%
} 

Re: Building my own font for maxscroll 7219

Posted: Wed Nov 29, 2023 1:27 pm
by cicciocb
Fernando,
what you propose is a font editor?
The problem is that the font cannot be changed as it is stored internally.
The actual structure is a fixed font 6x8 (if I remember well)

Re: Building my own font for maxscroll 7219

Posted: Wed Nov 29, 2023 2:10 pm
by Fernando Perez
I do not propose to create a font editor for maxScroll, but rather an editor of fixed figures that do not scroll (including ASCII characters if necessary), which serve as a template for an independent display system in 8x8 LED matrices, controlled by MAX7219 .
I recovered an old file that I had working a long time ago:

Code: [Local Link Removed for Guests]

dim chars(9, 7)
initCHARS

CS = 5  ' CS=GPIO5 - CLK=GPIO18 - DIN=GPIO23
initMAX CS, 0  ' brightness 0 to 10

for h = 0 to 9
  display h
  pause 1000
next h
clearMAX

END

' ---------------------------------
SUB initMAX(pinCS, brightness)
  SPI.SETUP 1000000
  SPI.CSPIN CS
  writeMAX &H09, 0            ' 6H09 = MAX7219DECODE
  writeMAX &H0A, brightness   ' &H0A = MAX7219INTENSITY
  writeMAX &H0B, 7            ' &H0B = MAX7219SCANLIMIT
  writeMAX &H0F, 0            ' &H0F = MAX7219TEST; 0 = TESTMODEOFF
  writeMAX &H0C, 1            ' &H0C = MAX7219SHUTDOWN; 1 = MAX7219ON
END SUB

' ---------------------------------
SUB clearMAX
LOCAL i
  for i = 1 to 8
    writeMAX i, 0
  next i  
END SUB

' ---------------------------------
SUB writeMAX(opcode, value)
LOCAL r1, r2
  pin(CS) = 0
  r1 = spi.byte(opcode)
  r2 = spi.byte(value)
  verBIN opcode, r1, value, r2
  pin(CS) = 1
END SUB

' ---------------------------------
SUB display(char)
LOCAL i, byte
  for i = 1 to 8
    byte = chars(char, i-1)
    writeMAX i, byte
  next i
END SUB      

' ----------------------------------
SUB initCHARS
LOCAL i, j
  for i = 0 to 9
    for j = 0 to 7
      READ byte
      chars(i, j) = byte
    next j
  next i    
END SUB

' -----------------------------------
SUB verBIN(opcode, r1, value, r2)
LOCAL opcode$, value$
  opcode$ = bin$(opcode)
  opcode$ = string$(8-len(opcode$), "0") + opcode$
  value$ = bin$(value)
  value$ = string$(8-len(value$), "0") + value$
  wlog "Opcode=";opcode$;" r1=";r1,"Value=";value$;" r2=";r2    
END SUB

' ==========================================================================================
DATA &b00000000,&b00011000,&b00100100,&b00100100,&b00100100,&b00100100,&b00011000,&b00000000
DATA &b00000000,&b00001000,&b00011000,&b00001000,&b00001000,&b00001000,&b00011100,&b00000000
DATA &b00000000,&b00011000,&b00100100,&b00001000,&b00010000,&b00100000,&b00111100,&b00000000
DATA &b00000000,&b00111000,&b00000100,&b00111000,&b00000100,&b00000100,&b00111000,&b00000000
DATA &b00000000,&b00000100,&b00001100,&b00010100,&b00111100,&b00000100,&b00000100,&b00000000
DATA &b00000000,&b00111100,&b00100000,&b00111000,&b00000100,&b00000100,&b00111000,&b00000000
DATA &b00000000,&b00011000,&b00100100,&b00100000,&b00111000,&b00100100,&b00011000,&b00000000
DATA &b00000000,&b00111100,&b00000100,&b00001000,&b00010000,&b00100000,&b00100000,&b00000000
DATA &b00000000,&b00011000,&b00100100,&b00011000,&b00100100,&b00100100,&b00011000,&b00000000
DATA &b00000000,&b00011000,&b00100100,&b00100100,&b00011100,&b00000100,&b00011000,&b00000000


But I don't know what's happening, I can't get it now. I already have entertainment. :P
The LED activation code (when it works) will be included in the HTML design program, turning on the LEDs in real time as they are activated or deactivated on the screen. And it will allow you to save the created patterns to a file.