alon24 wrote:would it also be possible to add custom fonts like for hebrew?
The fonts for u8glib are derived from BDF fonts: bdf2u8g tool
If you start from a hebrew BDF font converting and adding it to the font list might be feasible.
Explore... Chat... Share...
alon24 wrote:would it also be possible to add custom fonts like for hebrew?
pracas wrote:Here's a modified version that displays the character 'A'. Hardcoded.
I'm trying to build the OLED library as well but i'm very new to LUA and have no clue how arrays and bitwise operators work. After much struggle i figured out that BIT wise operators are not supported in the firmware, now trying to see if i can recompile the firmware to include support for bitwise operators. Meanwhile if someone manages to get this ahead, keep this thread updated.Code: Select allid=0 -- need this to identify (software) IC2 bus?
sda=5 -- connect to pin GPIO14
scl=7 -- connect to pin GPIO12
addr=0x3C -- the I2C address of our device
i2c.setup(id,sda,scl,i2c.SLOW)
function read_reg(dev_addr, reg_addr)
i2c.start(id)
i2c.address(id, dev_addr ,i2c.TRANSMITTER)
i2c.write(id,reg_addr)
i2c.stop(id)
i2c.start(id)
i2c.address(id, dev_addr,i2c.RECEIVER)
c=i2c.read(id,1)
i2c.stop(id)
return c
end
function write_reg(dev_addr, reg_addr, reg_val)
i2c.start(id)
i2c.address(id, dev_addr, i2c.TRANSMITTER)
i2c.write(id, reg_addr)
i2c.write(id, reg_val)
i2c.stop(id)
end
function oled_command(cmd)
write_reg(addr,0x00,cmd)
end
function display()
oled_command(0x21) -- set column addresses
oled_command(0x00) -- reset column start address
oled_command(0x7F) -- reset column end address
oled_command(0x22) -- set page addresses
oled_command(0x00) -- reset page start address
oled_command(0x07) -- reset page end address
end
function init_oled() -- Initialises the 128x64 oled
print("starting")
oled_command(0xAE) -- turn off oled panel
oled_command(0xA8) -- set multiplex ratio to 1 byte following
oled_command(0x3F) -- 1/64 duty (N+1 MUX: 1-64))
oled_command(0xD3) -- set display offset to 1 byte following
oled_command(0x00) -- no offset
oled_command(0x40) -- set start line address
oled_command(0xA0) -- set segment remap
oled_command(0xC0) -- set COM output scan direction
oled_command(0xDA) -- set com pins hardware configuration to 1 byte following
oled_command(0x12) -- set pins
oled_command(0x81) -- set contrast control register
oled_command(0x7f) -- reset contrast to default value
oled_command(0xA4) -- set display on
oled_command(0xA6) -- set normal display
oled_command(0xD5) -- set display clock divide ratio/oscillator frequency
oled_command(0x80) -- set divide ratio
oled_command(0x8D) -- set Charge Pump enable/disable
oled_command(0x14) -- set(0x10) disable
oled_command(0xAF) -- turn on oled panel
print("Init done")
end
function fill()
for m=0,7 do
oled_command(0xb0+m)
oled_command(0x00)
oled_command(0x10)
for n=0,131 do
write_reg(addr,0x40,0x00)
end
end
end
function OLED_ShowChar()
x=2
y=60
OLED_SetPos(x,y)
write_reg(addr,0x40,0x7C)
write_reg(addr,0x40,0x12)
write_reg(addr,0x40,0x11)
write_reg(addr,0x40,0x12)
write_reg(addr,0x40,0x7C)
end
function OLED_SetPos(x,y)
oled_command(0xb0+y)
oled_command(0x10)
oled_command(0x01)
end
init_oled()
fill()
OLED_ShowChar()
It takes about 20-25 seconds for home assistant c[…]
I tried to upgrade tof my sonoff basic R2 with the[…]
a problem Perhaps you want to define "Probl[…]
Rebooting your router will not give you a faster I[…]
There are no other notifications from esptool.py i[…]
Using the Arduino IDE, you'll learn how to set up […]
In this project, you will post to Twitter using an[…]
In this project, we will build a water level contr[…]
I guess I'm late, but I had the same problem and f[…]
Last night I received my first D1 Minis for a lear[…]
Although I am aware that this is an old post, I fe[…]