Hi Rob,
Some extra information about the topic.
I tested also with a 18f1825 and sw I2C and as expected, got the same image
as in the photo I posted.
If the 6x8 font is used, everything works well even with the 18f2520, which
is equipped with the tiny bootloader
which works handy and fast for me.
The 16F1825 is programmed with the pickit 2. I hope that you are able to
locate the problem.
Kind regards, Bill.
On Monday, September 22, 2025 at 8:15:03 PM UTC+2 Bill Beek wrote:
> Hi Rob,
> Tested without the ina3221, delete the I2C code lines from the program and
> Vcc 3,3V but nothing changed.
> So I wondered if it's possible that the lib you posted is not the same as
> in your test?
> The 1306 is powered by wires under the board.
> Kind regards, Bill.
>
> On Monday, September 22, 2025 at 7:02:08 PM UTC+2 Rob CJ wrote:
>
>> Hi Bill,
>>
>> The only thing I found is that you include and initialize i2c_hardware.
>> As you may remember this is currently also done by the ssd1306 and I am not
>> sure if this messes things up so I commented that part out. I also
>> commented out the include of glcd_common since that is needed by the
>> ssd1306 library so it is included there. I also moved the selection of the
>> font but that should not make a difference. I attached the update.
>>
>> For the final version of the updated library you have to include and
>> initialize i2c_hardware but not yet for this version.
>>
>> So it should work but not sure if the I2c_hardware has messed things up
>> (I do not think so).
>>
>> Unfortunately I do not have an 18F2520 to test it.
>>
>> I see you have two devices on the IIC bus. Did you also test with without
>> the INA3221?
>>
>> And to be sure. Although the module works at +5V you should not pull-up
>> the SDA and SCL lines to +5Volt. If you have connected both the INA3221 and
>> the SSD1306 to +5V, the INA3221 will pull-up the lines to +5V and that can
>> kill the module. Last but not least. As I mentioned before the SSD1306
>> module generates a lot of noise on the SDA and SCL lines and that is gone
>> if you use it on 3.3 Volt.
>>
>> So for this test. Only connect the SSD1306 and use it (including the PIC)
>> at 3.3 Volt and see if that works. If that is the case and you want to use
>> it together with the INA3221 at +5V then use a level shifter between the
>> PIC and the SSD1306.
>>
>> BTW. I do not see any power connection to the SDD1306 🙂.
>>
>> Kind regards,
>>
>> Rob
>>
>>
>>
>> ------------------------------
>> *Van:* [email protected] <[email protected]> namens Bill
>> Beek <[email protected]>
>> *Verzonden:* maandag 22 september 2025 12:26
>> *Aan:* jallib <[email protected]>
>> *Onderwerp:* [jallib] Re: Update SSD1306 library supporting bigger font
>>
>>
>> Hi Rob,
>> I tested the lib but the same problem exist.
>> I added your name at the lib to be sure that the right lib was used.
>> You can see what's happens on the picture.
>> I can't understand what I have done wrong so I added my program.
>>
>> Kind regards, Bill.
>>
>> On Sunday, September 21, 2025 at 1:38:05 PM UTC+2 [email protected]
>> wrote:
>>
>> Hi Bill,
>>
>> It took me quite some time to figure this out. First of all, you cannot
>> read data from the SSD1306. This means that I cannot write characters using
>> pixels.
>>
>> So I looked at the procedure ssd1306_write_char() which writes ...
>> characters. This procedure does not require the big cache that you normally
>> need when writing characters as pixels or when using graphics in general.
>>
>> Currently the SSD1306 library worked correctly for the 6x8 font and that
>> was only because that is a vertical font and that matches how the SSD1306
>> displays the data. This seems to be one of the view (or the only?) vertical
>> font, all other - larger - fonts are horizontal fonts and that causes the
>> problem when using them.
>>
>> So I added code to this procedure that checks if the used font is a
>> horizontal font and if so it rotates the character 90 degrees to match the
>> SSD1306 display and splits the character up into smaller pieces since the
>> SSD1306 works with pages (0..7) each 8 pixels high. If a font is bigger
>> than 8 pixels, it needs to be spit up and divided over 2 pages.
>>
>> I attached the library including a picture that shows the 12x16 font
>> working. I still need to test this for other font sizes and I need to clean
>> the library up since currently the limit is 12x16 and if you use a smaller
>> font I could save data space. So please give it try. You do not need any
>> special setting for this only that you are using text mode.
>>
>> Next to cleaning the library up I am planning to move the IIC and SPI
>> part from this library to the main program so that it is not included by
>> this library anymore. This is in line with the JAL style guide but it
>> results in a breaking change for anyone who is currently using the library
>> since incuding IIC or SPI and initializing them moves to the main program.
>>
>> Kind regards,
>>
>> Rob
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "jallib" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion visit
>> https://groups.google.com/d/msgid/jallib/5f33c130-d73d-4080-b8c4-03900fba52a9n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/jallib/5f33c130-d73d-4080-b8c4-03900fba52a9n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/jallib/cdba0988-9ce1-4ca3-8c43-d9a18f9d3d12n%40googlegroups.com.