It did help, thank you.
My Oled display is alive and well at I2C address 0x3c
So, I assume the problem is in the code or in the config.
It may well be that the display is incompatible with the library.
First place to look should be to determine what I2C address is expected by the code. Progress…
… the code expected to see address 0x3c which matches.
I will check the config tomorrow. I assume the default config is to be found somewhere in the repository. Otherwise I will have to look at the flash drive on the device.
OK… Next day…
Overnight in the small hours after midnight I noticed that the OLED appeared to be working. I did not check what it was saying in any detail.
This morning its blank again.
Daytime I checked the config via USB Terminal commands and discovered:
(a) the i2C address remains active
(b) the grooove OLED device is enabled in config with a time period of 60 seconds.
(c.) the Grooove OLED device returns a reading of null as seen on the terminal output.
(d) I have verified that the OLED Device and its I2C cable remains operational (by plugging it into another project.)
From this I assume its working in a technical sense and configured.
Are you able to shed any light (!!) on what is going on here ?
Has output of the OLED been turned off by a logical condition in code for some reason ?
How can I turn it on again ?
Looking in the code, I see (in Sckaux.cpp) there are public methods for ‘print’ and ‘displayReading’ but nowhere in the code base can I find these methods being called.
I also see in SckAux.cpp a public method called ‘getBusyState’ which returns always ‘true’ for the OLED. Unsure if this is important, as I have not (yet) analysed the code base. there’s a lot of it…
I can see in the code that the OLED should display a Logo when the device is started, so should see that (if nothing else). But I am not seeing it.
It has also occured to me that my device is a 128x128 type, whereas code expects 96x96.
This did not cause a problem when using the original Seeed library to drive the device, but I am unsure about the U8g2 driver library.
The U8G2 Library seems to support the Seeed Grove OLED Display 1.12" (128x128 pixels) via the class U8G2_SH1107_128X128_1_HW_I2C found in U8g2lib.h, so my assumption was correct. This library is included in the build (via SckAux.h) for current version of firmware, so we are good to go…
In sensors.h (in ‘lib’) I see the following entry // Later this will be moved to a Actuators.h file
// Groove I2C Oled Display 96x96
OneSensor { BOARD_AUX, 250, SENSOR_GROOVE_OLED, “GR_OLED”, “Groove OLED”, 0, false, false, 1, },
The two highlighted settings refer to ‘enabled’ and ‘controllable’
I am unsure if this is important/relevant but if I felt confident building the firmware I would be trying ‘enabled’ set to ‘true’; but at this stage I am not confident using platformio to build the code base, in particular at this stage unsure if I have all of the dependencies sorted out to build without any errors
Thanks, Cheers