CoretechR / OMOTE

Open Source Remote Using ESP32 and LVGL
https://hackaday.io/project/191752
GNU General Public License v3.0
1.31k stars 128 forks source link

Hardware Revision 4 Initial Commit #82

Closed CoretechR closed 4 months ago

CoretechR commented 5 months ago

I am really happy about the interest interest in this project and the support from the community. That is why I wanted to fix a few issues and hardware-bugs with a new hardware revision. The changes for this new revision 4 are intentionally kept simple, so existing boards will still be software-compatible. I have lots of ideas for major changes to the hardware, but that is something for a later date. For now this is what's new:

Changes in hardware:

Changes in software:

KlausMu commented 5 months ago

Thanks, @CoretechR Software part looks perfect. Only this line was lost in the branch: https://github.com/CoretechR/OMOTE/blob/84e889510298cc2fc874d3830630d6d83d682210/Platformio/src/applicationInternal/hardware/hardwarePresenter.h#L58C3-L58C24

KlausMu commented 5 months ago

In main.cpp, we now have inits in the following order:

init_battery();
...
init_tft()
...
// setup the Inertial Measurement Unit (IMU) for motion detection. Has to be after init_gui(), otherwise I2C will not work
init_IMU();

Are you sure that this works? Because init_battery() now uses I2C, but the I2C pins are set later in init_tft().

CoretechR commented 5 months ago

Yes, the battery monitor is definitely working. Why is a good question, @KlausMu. The begin() function seems to not do anything but check if the device responds. It probably only starts to work correctly after the touchscreen was initialized. Should we move the battery init after the touchscreen init? Maybe that is not necessary if it works anyway.

KlausMu commented 5 months ago

Yes, fuelGauge.begin(); has a return value, which we ignore. But I think the result is not important, because further calls to the library do not depend on the result of fuelGauge.begin();

Probably you could even replace fuelGauge.begin(); with fuelGauge.setWirePort(Wire); and it will still work, without ever calling fuelGauge.begin();

So I think we can keep the init where it is.

JustMe-NL commented 5 months ago

I like the idea of the fuel gauge. Should be pretty easy to add to ref. 3 in deadbugstyle as well. I’ll order some and try it out.