Building my own font for maxscroll 7219

Give it a try, it costs you nothing !
Post Reply
User avatar
PANNO
Posts: 115
Joined: Thu Feb 25, 2021 4:03 am
Has thanked: 130 times
Been thanked: 26 times

Building my own font for maxscroll 7219

Post by PANNO »

Hi.

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

Maybe with poke or something other ?
Thx
User avatar
cicciocb
Site Admin
Posts: 2164
Joined: Mon Feb 03, 2020 1:15 pm
Location: Toulouse
Has thanked: 465 times
Been thanked: 1438 times
Contact:

Re: Building my own font for maxscroll 7219

Post 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) ?
User avatar
PANNO
Posts: 115
Joined: Thu Feb 25, 2021 4:03 am
Has thanked: 130 times
Been thanked: 26 times

Re: Building my own font for maxscroll 7219

Post 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?
User avatar
cicciocb
Site Admin
Posts: 2164
Joined: Mon Feb 03, 2020 1:15 pm
Location: Toulouse
Has thanked: 465 times
Been thanked: 1438 times
Contact:

Re: Building my own font for maxscroll 7219

Post 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
User avatar
PANNO
Posts: 115
Joined: Thu Feb 25, 2021 4:03 am
Has thanked: 130 times
Been thanked: 26 times

Re: Building my own font for maxscroll 7219

Post by PANNO »

Side 36 from 723 :lol: i give up :lol:
User avatar
Fernando Perez
Posts: 378
Joined: Mon Feb 15, 2021 10:09 pm
Location: Santander (Spain)
Has thanked: 195 times
Been thanked: 267 times

Re: Building my own font for maxscroll 7219

Post 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%
} 
User avatar
cicciocb
Site Admin
Posts: 2164
Joined: Mon Feb 03, 2020 1:15 pm
Location: Toulouse
Has thanked: 465 times
Been thanked: 1438 times
Contact:

Re: Building my own font for maxscroll 7219

Post 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)
User avatar
Fernando Perez
Posts: 378
Joined: Mon Feb 15, 2021 10:09 pm
Location: Santander (Spain)
Has thanked: 195 times
Been thanked: 267 times

Re: Building my own font for maxscroll 7219

Post 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.
Post Reply