no, you don't need a softI2C library. The ESP32 in the M5Stack device already takes care of that for you. You can select almost any two pins to be used for I2C. This tutorial explains it quite nicely.
In the example below I am using lcd-image-converter.
lcd-image-converter https://sourceforge.net/projects/lcd-image-converter/
Select 8bit or 16bit for Block size and create xxx.c.
Use M5.Lcd.pushImage(x,y,imgWidth,imgHeight,(unit16_t *) xxx);
Ok, Solved.
On cleared Arduino IDE, I install no M5Stack library, but "Unified M5Stack".
And ONLY M5Stack boards.
And other my modules ESP32 - WROOM, MH ET mini kit, Wemos D1 I can
programing as "M5Stack ESP32" and its work without any other ESP32
boards and libraries.
Thank you, you are brilliant. It is not the answer I was looking for, but thanks for explaining. I hope the world has more people like you who are willing to help a beginner. I want to be creative with technology, but don't want to be a engineer.
in case you are still looking for a solution. I've received my gesture unit and did a quick test. The library allows to pass the Wire1 instance so it's quite straight forward.
See example here.
this issue fixed itself and has not reoccurred. I might have had the libraries or board set up incorrectly. It now works fine in Arduino IDE & VSCode + PlatformIO
@ChrisZang thanks for the reply.
The problem is that will only set up the time and DST offset if I request the time from the NTP server. When a DST transition occurs sometime later the clock will not automatically adjust without doing another request from the NTP server.
I have solved the problem by simply adding the code to advance or retard the clock at the appropriate time based on my timezone. i.e. first Sunday in April at 03:00 I change the clock to 02:00 and the first Sunday in October at 02:00 I change the clock to 03:00.