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

add menu navigation capture #3

Merged
merged 1 commit into from
May 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ESPIron/hid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -539,7 +539,8 @@ void MuiMenu::drawScreen(){
render();
u8g2.sendBuffer();
Serial.printf("en:%lu\n", millis());

// take a screenshot
//u8g2.writeBufferXBM(Serial);
_rr = false;
}

Expand Down
63 changes: 44 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,24 @@ Firmware for [Feizer PTS200](https://www.aliexpress.com/store/1102411999) solder
I've started this project as a fork of [Songguo PTS200](https://github.com/Eddddddddy/Songguo-PTS200) to completely rework original firmware.
My goals is to create a well-structured firmware with a flexible design.

Currently project is in it's early development stage, mostly refactoring original firmware. Additional features and UI redesign will follow.
Work in progress code in [experimental](https://github.com/vortigont/ESPIron-PTS200/tree/ctrl) branch, no configuration UI currently.
Currently project is in it's early development stage. Additional features and UI redesign will follow.

Discussion forum [thread](https://community.alexgyver.ru/threads/proshivka-dlja-pajalnika-feizer-pts200-v2-esp32.9930/) (in russian).

Telegram group [LampDevs](https://t.me/LampDevs) (Russian)

WIP:
- turn Arduino's ino file into a set of cpp and header files
- create separate class instances for heater, sensors, etc...
- decomposite project into independent tasks and RTOS threads
- use full-range PWM for heater
- enabled PID control for PWM (not optimized yet)
- revised temperture probes scheduling
- exclude useless tight loops
- add tunable debugging messages
- removed ALL blocking code, wiped arduino's `loop()` hooks, now all code is asynchronous
- rework UI into non-blocking event based configuration system
- Move configuration data to NVS key/value storage
- Reimplemented temperature and timers configuration


Iron [Schematics](/docs/PTS200_Schematic_2022-07-10.pdf) (probably from similar iron, some items does not match with PTS-200)

### Key controls
| Mode | Key | Action | Function |
|-|-|-|-|
Expand All @@ -38,6 +34,45 @@ Iron [Schematics](/docs/PTS200_Schematic_2022-07-10.pdf) (probably from similar
| Idle/Working | `+`/`-` | single click | inc/decr working temperature in one step |
| Idle/Working | `+`/`-` | double click | inc/decr working temperature in 4 steps |
| Idle/Working | `+`/`-` | triple click | inc/decr working temperature in 6 steps |
| Menu navigation | `middle` | short press | enter menu section, comfirm action |
| Menu navigation | `middle` | long press | escape action, previous page, etc |
| Menu navigation | `+`/`-` | single click | move along menu items, inc/decr action |



### Menu navigation

<!-- https://stackoverflow.com/questions/37349314/is-it-possible-to-add-border-to-image-in-github-markdown -->
Menu navigation demo capture.
|<img src="pics/menu_demo01.png?raw=true" alt="Menu demo" />
|-


### Features implementation progress

| Function | Status |
|-|-|
| standby timer | :white_check_mark: done |
| :hourglass: idle timer | :white_check_mark: done |
| :zzz: suspend timer | :white_check_mark: done |
| :hotsprings: Temperature control | :white_check_mark: done |
| :rocket: boost mode | :white_check_mark: done |
| :floppy_disk: (optionaly) save/restore last used temperature | :white_check_mark: done |
| Tip calibration | :x: Planned |
| Tip profiles | :x: Planned |
| PD configuration | :x: Planned |
| QC Configuration | :x: Planned |
| Power profile | :x: Planned |
| Power budget | :x: Planned |
| PID profiles | :x: Planned |
| PID tuning | :x: Planned |




#### Schematics
Iron [Schematics](/docs/PTS200_Schematic_2022-07-10.pdf) (probably from similar iron, some items does not match with PTS-200)




Expand Down Expand Up @@ -68,15 +103,5 @@ Iron [Schematics](/docs/PTS200_Schematic_2022-07-10.pdf) (probably from similar

<!-- 构建方法 -->
## Build method
<!-- Arduino with ESP32 环境 -->
1. Arduino with ESP32 environment
<!-- 安装依赖库 -->
2. Install dependent libraries: Button2, U8g2, QC3Control, ESP32AnalogRead, PID_v1, SparkFun_LIS2DH12
<!-- 从U8G2库中替换u8g2_fonts.c文件 -->
3. Replace the u8g2_fonts.c file from the U8G2 library
<!-- 在Arduino 中选择Tools- USB CDC On Boot- Enable -->
4. In Arduino, select Tools-USB CDC On Boot-Enable
<!-- 在Arduino 中选择Tools-Upload Mode- Internal USB -->
5. In Arduino, select Tools-Upload Mode-Internal USB
<!-- 点击上传 -->
6. Click Upload
Use [PlatformIO](https://platformio.org/) to build the project.
Attach the iron to USB port and run `pio run -t upload` in project's directory.
Binary file added pics/menu_demo01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/p16_res.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/p22_res.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/p23_res.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/p50_res.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0000.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0002.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0003.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0004.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0005.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0006.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0110.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0111.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0112.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0113.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0114.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0115.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0120.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0121.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0122.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0130.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0131.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0132.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0133.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/menu_snaps/r0134.png
Binary file added pics/menu_snaps/r0140.png
Binary file added pics/menu_snaps/r0141.png
Binary file added pics/menu_snaps/r0142.png
Binary file added pics/menu_snaps/r0143.png
Binary file added pics/menu_snaps/r0144.png
Binary file added pics/menu_snaps/r0150.png
Binary file added pics/menu_snaps/r0151.png
Binary file added pics/menu_snaps/r0200.png
Binary file added pics/menu_snaps/r0201.png
Binary file added pics/menu_snaps/r0210.png
Binary file added pics/menu_snaps/r0211.png
Binary file added pics/menu_snaps/r0212.png
Binary file added pics/menu_snaps/r0220.png
Binary file added pics/menu_snaps/r0221.png
Binary file added pics/menu_snaps/r0222.png
Binary file added pics/menu_snaps/r0223.png
Binary file added pics/menu_snaps/r0224.png
Binary file added pics/menu_snaps/r0230.png
Binary file added pics/menu_snaps/r0231.png
Binary file added pics/menu_snaps/r0232.png
Binary file added pics/menu_snaps/r0233.png
Binary file added pics/menu_snaps/r0240.png
Binary file added pics/menu_snaps/r0241.png
Binary file added pics/menu_snaps/r0242.png
Binary file added pics/menu_snaps/r0243.png
Binary file added pics/menu_snaps/r0250.png