diff --git a/ESPIron/hid.cpp b/ESPIron/hid.cpp index d1eff1f..fff726c 100644 --- a/ESPIron/hid.cpp +++ b/ESPIron/hid.cpp @@ -539,7 +539,8 @@ void MuiMenu::drawScreen(){ render(); u8g2.sendBuffer(); Serial.printf("en:%lu\n", millis()); - + // take a screenshot + //u8g2.writeBufferXBM(Serial); _rr = false; } diff --git a/README.md b/README.md index 0e7f260..5cea96f 100644 --- a/README.md +++ b/README.md @@ -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 | |-|-|-|-| @@ -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 + + +Menu navigation demo capture. +|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) + @@ -68,15 +103,5 @@ Iron [Schematics](/docs/PTS200_Schematic_2022-07-10.pdf) (probably from similar ## Build method - -1. Arduino with ESP32 environment - -2. Install dependent libraries: Button2, U8g2, QC3Control, ESP32AnalogRead, PID_v1, SparkFun_LIS2DH12 - -3. Replace the u8g2_fonts.c file from the U8G2 library - -4. In Arduino, select Tools-USB CDC On Boot-Enable - -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. diff --git a/pics/menu_demo01.png b/pics/menu_demo01.png new file mode 100644 index 0000000..64c4515 Binary files /dev/null and b/pics/menu_demo01.png differ diff --git a/pics/menu_snaps/p16_res.png b/pics/menu_snaps/p16_res.png new file mode 100644 index 0000000..9c13971 Binary files /dev/null and b/pics/menu_snaps/p16_res.png differ diff --git a/pics/menu_snaps/p22_res.png b/pics/menu_snaps/p22_res.png new file mode 100644 index 0000000..4220703 Binary files /dev/null and b/pics/menu_snaps/p22_res.png differ diff --git a/pics/menu_snaps/p23_res.png b/pics/menu_snaps/p23_res.png new file mode 100644 index 0000000..9c13971 Binary files /dev/null and b/pics/menu_snaps/p23_res.png differ diff --git a/pics/menu_snaps/p50_res.png b/pics/menu_snaps/p50_res.png new file mode 100644 index 0000000..a459c6c Binary files /dev/null and b/pics/menu_snaps/p50_res.png differ diff --git a/pics/menu_snaps/r0000.png b/pics/menu_snaps/r0000.png new file mode 100644 index 0000000..91edb31 Binary files /dev/null and b/pics/menu_snaps/r0000.png differ diff --git a/pics/menu_snaps/r0001.png b/pics/menu_snaps/r0001.png new file mode 100644 index 0000000..7cc4284 Binary files /dev/null and b/pics/menu_snaps/r0001.png differ diff --git a/pics/menu_snaps/r0002.png b/pics/menu_snaps/r0002.png new file mode 100644 index 0000000..6045380 Binary files /dev/null and b/pics/menu_snaps/r0002.png differ diff --git a/pics/menu_snaps/r0003.png b/pics/menu_snaps/r0003.png new file mode 100644 index 0000000..ea48519 Binary files /dev/null and b/pics/menu_snaps/r0003.png differ diff --git a/pics/menu_snaps/r0004.png b/pics/menu_snaps/r0004.png new file mode 100644 index 0000000..994eead Binary files /dev/null and b/pics/menu_snaps/r0004.png differ diff --git a/pics/menu_snaps/r0005.png b/pics/menu_snaps/r0005.png new file mode 100644 index 0000000..2f06642 Binary files /dev/null and b/pics/menu_snaps/r0005.png differ diff --git a/pics/menu_snaps/r0006.png b/pics/menu_snaps/r0006.png new file mode 100644 index 0000000..91edb31 Binary files /dev/null and b/pics/menu_snaps/r0006.png differ diff --git a/pics/menu_snaps/r0110.png b/pics/menu_snaps/r0110.png new file mode 100644 index 0000000..884b697 Binary files /dev/null and b/pics/menu_snaps/r0110.png differ diff --git a/pics/menu_snaps/r0111.png b/pics/menu_snaps/r0111.png new file mode 100644 index 0000000..b4f35c3 Binary files /dev/null and b/pics/menu_snaps/r0111.png differ diff --git a/pics/menu_snaps/r0112.png b/pics/menu_snaps/r0112.png new file mode 100644 index 0000000..a49017e Binary files /dev/null and b/pics/menu_snaps/r0112.png differ diff --git a/pics/menu_snaps/r0113.png b/pics/menu_snaps/r0113.png new file mode 100644 index 0000000..4cb245a Binary files /dev/null and b/pics/menu_snaps/r0113.png differ diff --git a/pics/menu_snaps/r0114.png b/pics/menu_snaps/r0114.png new file mode 100644 index 0000000..d2953b3 Binary files /dev/null and b/pics/menu_snaps/r0114.png differ diff --git a/pics/menu_snaps/r0115.png b/pics/menu_snaps/r0115.png new file mode 100644 index 0000000..884b697 Binary files /dev/null and b/pics/menu_snaps/r0115.png differ diff --git a/pics/menu_snaps/r0120.png b/pics/menu_snaps/r0120.png new file mode 100644 index 0000000..1d165a5 Binary files /dev/null and b/pics/menu_snaps/r0120.png differ diff --git a/pics/menu_snaps/r0121.png b/pics/menu_snaps/r0121.png new file mode 100644 index 0000000..8513699 Binary files /dev/null and b/pics/menu_snaps/r0121.png differ diff --git a/pics/menu_snaps/r0122.png b/pics/menu_snaps/r0122.png new file mode 100644 index 0000000..a59b91e Binary files /dev/null and b/pics/menu_snaps/r0122.png differ diff --git a/pics/menu_snaps/r0130.png b/pics/menu_snaps/r0130.png new file mode 100644 index 0000000..1d165a5 Binary files /dev/null and b/pics/menu_snaps/r0130.png differ diff --git a/pics/menu_snaps/r0131.png b/pics/menu_snaps/r0131.png new file mode 100644 index 0000000..1946a1e Binary files /dev/null and b/pics/menu_snaps/r0131.png differ diff --git a/pics/menu_snaps/r0132.png b/pics/menu_snaps/r0132.png new file mode 100644 index 0000000..2658cbe Binary files /dev/null and b/pics/menu_snaps/r0132.png differ diff --git a/pics/menu_snaps/r0133.png b/pics/menu_snaps/r0133.png new file mode 100644 index 0000000..9404416 Binary files /dev/null and b/pics/menu_snaps/r0133.png differ diff --git a/pics/menu_snaps/r0134.png b/pics/menu_snaps/r0134.png new file mode 100644 index 0000000..1946a1e Binary files /dev/null and b/pics/menu_snaps/r0134.png differ diff --git a/pics/menu_snaps/r0140.png b/pics/menu_snaps/r0140.png new file mode 100644 index 0000000..0f182a6 Binary files /dev/null and b/pics/menu_snaps/r0140.png differ diff --git a/pics/menu_snaps/r0141.png b/pics/menu_snaps/r0141.png new file mode 100644 index 0000000..b030406 Binary files /dev/null and b/pics/menu_snaps/r0141.png differ diff --git a/pics/menu_snaps/r0142.png b/pics/menu_snaps/r0142.png new file mode 100644 index 0000000..e34bff8 Binary files /dev/null and b/pics/menu_snaps/r0142.png differ diff --git a/pics/menu_snaps/r0143.png b/pics/menu_snaps/r0143.png new file mode 100644 index 0000000..da09ea4 Binary files /dev/null and b/pics/menu_snaps/r0143.png differ diff --git a/pics/menu_snaps/r0144.png b/pics/menu_snaps/r0144.png new file mode 100644 index 0000000..0f182a6 Binary files /dev/null and b/pics/menu_snaps/r0144.png differ diff --git a/pics/menu_snaps/r0150.png b/pics/menu_snaps/r0150.png new file mode 100644 index 0000000..4656ab8 Binary files /dev/null and b/pics/menu_snaps/r0150.png differ diff --git a/pics/menu_snaps/r0151.png b/pics/menu_snaps/r0151.png new file mode 100644 index 0000000..91edb31 Binary files /dev/null and b/pics/menu_snaps/r0151.png differ diff --git a/pics/menu_snaps/r0200.png b/pics/menu_snaps/r0200.png new file mode 100644 index 0000000..7cc4284 Binary files /dev/null and b/pics/menu_snaps/r0200.png differ diff --git a/pics/menu_snaps/r0201.png b/pics/menu_snaps/r0201.png new file mode 100644 index 0000000..10a1f02 Binary files /dev/null and b/pics/menu_snaps/r0201.png differ diff --git a/pics/menu_snaps/r0210.png b/pics/menu_snaps/r0210.png new file mode 100644 index 0000000..4cf26b1 Binary files /dev/null and b/pics/menu_snaps/r0210.png differ diff --git a/pics/menu_snaps/r0211.png b/pics/menu_snaps/r0211.png new file mode 100644 index 0000000..af6ab5b Binary files /dev/null and b/pics/menu_snaps/r0211.png differ diff --git a/pics/menu_snaps/r0212.png b/pics/menu_snaps/r0212.png new file mode 100644 index 0000000..10a1f02 Binary files /dev/null and b/pics/menu_snaps/r0212.png differ diff --git a/pics/menu_snaps/r0220.png b/pics/menu_snaps/r0220.png new file mode 100644 index 0000000..f5fefe9 Binary files /dev/null and b/pics/menu_snaps/r0220.png differ diff --git a/pics/menu_snaps/r0221.png b/pics/menu_snaps/r0221.png new file mode 100644 index 0000000..db2376e Binary files /dev/null and b/pics/menu_snaps/r0221.png differ diff --git a/pics/menu_snaps/r0222.png b/pics/menu_snaps/r0222.png new file mode 100644 index 0000000..fe5ad2e Binary files /dev/null and b/pics/menu_snaps/r0222.png differ diff --git a/pics/menu_snaps/r0223.png b/pics/menu_snaps/r0223.png new file mode 100644 index 0000000..3f4836f Binary files /dev/null and b/pics/menu_snaps/r0223.png differ diff --git a/pics/menu_snaps/r0224.png b/pics/menu_snaps/r0224.png new file mode 100644 index 0000000..f5fefe9 Binary files /dev/null and b/pics/menu_snaps/r0224.png differ diff --git a/pics/menu_snaps/r0230.png b/pics/menu_snaps/r0230.png new file mode 100644 index 0000000..50e2091 Binary files /dev/null and b/pics/menu_snaps/r0230.png differ diff --git a/pics/menu_snaps/r0231.png b/pics/menu_snaps/r0231.png new file mode 100644 index 0000000..812bbdc Binary files /dev/null and b/pics/menu_snaps/r0231.png differ diff --git a/pics/menu_snaps/r0232.png b/pics/menu_snaps/r0232.png new file mode 100644 index 0000000..c19bc88 Binary files /dev/null and b/pics/menu_snaps/r0232.png differ diff --git a/pics/menu_snaps/r0233.png b/pics/menu_snaps/r0233.png new file mode 100644 index 0000000..50e2091 Binary files /dev/null and b/pics/menu_snaps/r0233.png differ diff --git a/pics/menu_snaps/r0240.png b/pics/menu_snaps/r0240.png new file mode 100644 index 0000000..4d2c563 Binary files /dev/null and b/pics/menu_snaps/r0240.png differ diff --git a/pics/menu_snaps/r0241.png b/pics/menu_snaps/r0241.png new file mode 100644 index 0000000..cc10436 Binary files /dev/null and b/pics/menu_snaps/r0241.png differ diff --git a/pics/menu_snaps/r0242.png b/pics/menu_snaps/r0242.png new file mode 100644 index 0000000..5f926fe Binary files /dev/null and b/pics/menu_snaps/r0242.png differ diff --git a/pics/menu_snaps/r0243.png b/pics/menu_snaps/r0243.png new file mode 100644 index 0000000..4d2c563 Binary files /dev/null and b/pics/menu_snaps/r0243.png differ diff --git a/pics/menu_snaps/r0250.png b/pics/menu_snaps/r0250.png new file mode 100644 index 0000000..d3b34dd Binary files /dev/null and b/pics/menu_snaps/r0250.png differ