Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plans for next version #13

Open
dukeduck1984 opened this issue Jan 27, 2021 · 14 comments
Open

Plans for next version #13

dukeduck1984 opened this issue Jan 27, 2021 · 14 comments

Comments

@dukeduck1984
Copy link
Owner

dukeduck1984 commented Jan 27, 2021

Just a few thoughts, no concrete timeline now. No guarantee, it may not happen at all.

  • Upgrade to LVGL v7 (or v8 if released) and the lastest stable MicroPython
  • For scheduler mechanism, replace Timer & _thread with uasyncio.
  • Adding servo & fan control options to open the door of the oven and speed up cooling.
  • Plug & play, no need to modify the internal of the oven.
  • It might worth adding an ESP8266 for the sake of safety to monitor the temperature in case the ESP32 crashes, the power can be cut.
@dukeduck1984 dukeduck1984 pinned this issue Jan 27, 2021
@Bibbbi
Copy link

Bibbbi commented Jan 27, 2021

Great, I can't wait for that to happen.

@nmcq
Copy link

nmcq commented Jan 30, 2021

继电器是用交流控制交流的吗???

@dukeduck1984
Copy link
Owner Author

继电器是用交流控制交流的吗???

直流控交流,需要能以直流3V触发,否则就得加mos或者三极管了

@nmcq
Copy link

nmcq commented Jan 30, 2021

继电器是用交流控制交流的吗???

直流控交流,需要能以直流3V触发,否则就得加mos或者三极管了

感谢您的回复。

@nmcq
Copy link

nmcq commented Feb 5, 2021

Plug & play, no need to modify the internal of the oven.
目前版本将烤箱开到最大温度,长通状态(机械烤箱),直接控制烤箱电源应该也不用打开烤箱修改内部吧?

@dukeduck1984
Copy link
Owner Author

Plug & play, no need to modify the internal of the oven.
目前版本将烤箱开到最大温度,长通状态(机械烤箱),直接控制烤箱电源应该也不用打开烤箱修改内部吧?

对,你把所有电子器件装在一个盒子里,安一个国标三眼插座,把烤箱电源线接上去即可。

@Zefram88
Copy link

I find also pretty uncomfortable using the AP to access FTP, should be possible to add the ability to connect to an existing network? I tried add it by myself but code crashes somewhere, probably because of IP binding.

@dukeduck1984
Copy link
Owner Author

Well, the reason to use AP mode is because it's most straight forward and needs very little code, and doesn't have to deal with handling wrong SSID or password etc., after all it's meant for uploading code / debugging purpose only - you don't need a wifi to do the soldering work.

@dariomicro
Copy link

Just a few thoughts, no concrete timeline now. No guarantee, it may not happen at all.

  • Upgrade to LVGL v7 (or v8 if released) and the lastest stable MicroPython
  • For scheduler mechanism, replace Timer & _thread with uasyncio.
  • Adding servo & fan control options to open the door of the oven and speed up cooling.
  • Plug & play, no need to modify the internal of the oven.
  • It might worth adding an ESP8266 for the sake of safety to monitor the temperature in case the ESP32 crashes, the power can be cut.

hello, your work is great, I have been programming microcontrollers for a long time but I have no knowledge of linux and it is very difficult for me to compile LVGL + micropython.
Could you do this job for me?
I will reward you for this ($)

Thank you..
[email protected]

@dukeduck1984
Copy link
Owner Author

Just a few thoughts, no concrete timeline now. No guarantee, it may not happen at all.

  • Upgrade to LVGL v7 (or v8 if released) and the lastest stable MicroPython
  • For scheduler mechanism, replace Timer & _thread with uasyncio.
  • Adding servo & fan control options to open the door of the oven and speed up cooling.
  • Plug & play, no need to modify the internal of the oven.
  • It might worth adding an ESP8266 for the sake of safety to monitor the temperature in case the ESP32 crashes, the power can be cut.

hello, your work is great, I have been programming microcontrollers for a long time but I have no knowledge of linux and it is very difficult for me to compile LVGL + micropython. Could you do this job for me? I will reward you for this ($)

Thank you.. [email protected]

Here you will find the builds of the firmware which will work with the current stable release.

NOTE: I have been very busy with my own job, so pls consider this repo not under active development, the code will not work with the most current MicroPython and LVGL.

@sle118
Copy link

sle118 commented Jan 24, 2023

Just wanted to add my two cents here for anyone interested. I have done a great deal of retrofitting to the newest lv_micropython build in order to be able to use it on a marker fabs ESP32 3.5" capacitive touch screen (https://github.com/Makerfabs/Project_Touch-Screen-Camera). Under the new framework, timers were causing a great deal of instability, so I moved the oven control as well as some idle temperature update to threads which use the same cadence mechanism (e.g. rate configured in JSON file) and now everything is rock solid.

Some other notable changes are, for example, using a grid for the main layout, leveraging the chart capabilities to draw the profile, melting temperature as well as vertical cursors crossing the profile line at each critical steps. The capacitive panel doesn't require calibration, so although the settings menu that allows calibration or PID configuration selection was preserved, but hitting the settings button from a capacitive screen will skip it and show the PID and offset entry. That one uses the "window" object at its core, and keeps the numerical keyboard as is.

Overall, the look and feel has shifted away from the original (I'm using the base theme from lvgl), but all the controls are where they were placed originally, as their positioning made a lot of sense.

Below are screenshots of the simulator I used to speed up the effort

image
image

edit:
I also added a screen that gets dynamically constructed, which allows viewing and editing the full config.json file
image

The bonus is that new/future config parameters will appear there automatically.
image

@sle118
Copy link

sle118 commented Jan 26, 2023

I almost did a rage quit on mycropython because the system kept dumping on my with a stack overflow on the mp_task. I ended up digging quite a bit only to figure out what was going on; it seems like the mp_task scheduler was getting initialized at the very end of the main.py script when I was starting the buzzer thread.... with a relatively small stack size given its simplicity. So I am back into fine tuning navigation, etc with no more crashes this time. I'll also look at the beta 2 version to see if I need to retrofit anything else more recent and finally I'll add an option to control a GPIO that will stay on during the whole cycle (in my case, it's to drive a convection fan).

If there is any interest here, I'll go ahead and create a pull request when I'm satisfied.

@pastaclub
Copy link
Collaborator

Sure, let us see it! MicroPython can be a pain sometimes... it's mainly easier to interactively develop with it, but we also ran into memory problems in the past. A C implementation is definitely interesting.

@sle118
Copy link

sle118 commented Jan 29, 2023

I will definitely not have to go down the route of C as thorough debugging and tracing led me to figuring out how memory was being allocated and now the micropython version (ported to the latest lv_micropython) is rock solid. I took a long détour porting this project over because I liked the look and feel and it's features, but the point was to have an oven that would allow me to finish my current project, a multi room music steamer with Ethernet, optical and RCA digital out, analog out and analog in running the firmware I co authored, squeezelite-esp32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants