Hi.
Is it possible to build/using my own font for the 7219 device?
Maybe with poke or something other ?
Thx
Building my own font for maxscroll 7219
- cicciocb
- Site Admin
- Posts: 3076
- Joined: Mon Feb 03, 2020 1:15 pm
- Location: Toulouse
- Has thanked: 628 times
- Been thanked: 2193 times
- Contact:
Re: Building my own font for maxscroll 7219
No, the font is inside the flash and cannot be changed.
Have you seen all the symbols available (the chars from 1 to 255) ?
Have you seen all the symbols available (the chars from 1 to 255) ?
Re: Building my own font for maxscroll 7219
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?
Btw: can i find a list of usefull memory pointers for esp32?
- cicciocb
- Site Admin
- Posts: 3076
- Joined: Mon Feb 03, 2020 1:15 pm
- Location: Toulouse
- Has thanked: 628 times
- Been thanked: 2193 times
- Contact:
Re: Building my own font for maxscroll 7219
You can use the ESP32 Technical Reference Manual[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?
https://www.espressif.com/sites/default ... ual_en.pdf
but ....... "Bon courage"

- Fernando Perez
- Posts: 378
- Joined: Mon Feb 15, 2021 10:09 pm
- Location: Santander (Spain)
- Has thanked: 196 times
- Been thanked: 269 times
Re: Building my own font for maxscroll 7219
Surrender? Never!
An outline of a project:
FILE: /button.css
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%
}
- cicciocb
- Site Admin
- Posts: 3076
- Joined: Mon Feb 03, 2020 1:15 pm
- Location: Toulouse
- Has thanked: 628 times
- Been thanked: 2193 times
- Contact:
Re: Building my own font for maxscroll 7219
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)
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)
- Fernando Perez
- Posts: 378
- Joined: Mon Feb 15, 2021 10:09 pm
- Location: Santander (Spain)
- Has thanked: 196 times
- Been thanked: 269 times
Re: Building my own font for maxscroll 7219
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:
But I don't know what's happening, I can't get it now. I already have entertainment.
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.
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.

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.