├── .cargo └── config.toml ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── Cargo.toml ├── README.md ├── clippy.toml ├── print └── cover-sk-t2012-02.scad ├── ruwm-esp32 ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── build.rs ├── clippy.toml ├── src │ ├── errors.rs │ ├── main.rs │ ├── peripherals.rs │ ├── services.rs │ ├── ulp_pulse_counter.S │ └── ulp_pulse_counter.rs └── wokwi-diagram.json ├── ruwm-sim ├── .cargo │ └── config.toml ├── .gitignore ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── assets │ ├── bulma-0.9.3.min.css │ ├── bulma-slider.min.css │ ├── bulma-switch.min.css │ └── favicon.ico ├── index.html └── src │ ├── main.rs │ ├── peripherals.rs │ └── services.rs ├── ruwm-web ├── .cargo │ └── config.toml ├── .gitignore ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── assets │ ├── bulma-0.9.3.min.css │ └── favicon.ico ├── index.html └── src │ ├── battery.rs │ ├── lib.rs │ ├── main.rs │ └── valve.rs ├── ruwm ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── clippy.toml └── src │ ├── battery.rs │ ├── button.rs │ ├── dto.rs │ ├── dto │ ├── battery.rs │ ├── valve.rs │ ├── water_meter.rs │ ├── water_meter_stats.rs │ └── web.rs │ ├── emergency.rs │ ├── error.rs │ ├── keepalive.rs │ ├── lib.rs │ ├── mqtt.rs │ ├── pulse_counter.rs │ ├── quit.rs │ ├── screen.rs │ ├── screen │ ├── pages.rs │ ├── pages │ │ ├── actions.rs │ │ ├── battery.rs │ │ └── summary.rs │ ├── shapes.rs │ └── shapes │ │ ├── actions.rs │ │ ├── battery.rs │ │ ├── textbox.rs │ │ ├── valve.rs │ │ ├── wifi.rs │ │ └── wm.rs │ ├── spawn.rs │ ├── state.rs │ ├── utils.rs │ ├── valve.rs │ ├── web.rs │ ├── wifi.rs │ ├── wm.rs │ ├── wm_stats.rs │ └── ws.rs ├── sdkconfig.defaults └── sdkconfig.defaults.esp32 /.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/.cargo/config.toml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/Cargo.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/README.md -------------------------------------------------------------------------------- /clippy.toml: -------------------------------------------------------------------------------- 1 | future-size-threshold = 100 2 | -------------------------------------------------------------------------------- /print/cover-sk-t2012-02.scad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/print/cover-sk-t2012-02.scad -------------------------------------------------------------------------------- /ruwm-esp32/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/Cargo.toml -------------------------------------------------------------------------------- /ruwm-esp32/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/LICENSE-APACHE -------------------------------------------------------------------------------- /ruwm-esp32/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/LICENSE-MIT -------------------------------------------------------------------------------- /ruwm-esp32/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/build.rs -------------------------------------------------------------------------------- /ruwm-esp32/clippy.toml: -------------------------------------------------------------------------------- 1 | future-size-threshold = 5000 2 | -------------------------------------------------------------------------------- /ruwm-esp32/src/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/src/errors.rs -------------------------------------------------------------------------------- /ruwm-esp32/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/src/main.rs -------------------------------------------------------------------------------- /ruwm-esp32/src/peripherals.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/src/peripherals.rs -------------------------------------------------------------------------------- /ruwm-esp32/src/services.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/src/services.rs -------------------------------------------------------------------------------- /ruwm-esp32/src/ulp_pulse_counter.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/src/ulp_pulse_counter.S -------------------------------------------------------------------------------- /ruwm-esp32/src/ulp_pulse_counter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/src/ulp_pulse_counter.rs -------------------------------------------------------------------------------- /ruwm-esp32/wokwi-diagram.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-esp32/wokwi-diagram.json -------------------------------------------------------------------------------- /ruwm-sim/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/.cargo/config.toml -------------------------------------------------------------------------------- /ruwm-sim/.gitignore: -------------------------------------------------------------------------------- 1 | /.vscode 2 | /.embuild 3 | /target 4 | /Cargo.lock 5 | /dist 6 | -------------------------------------------------------------------------------- /ruwm-sim/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/Cargo.toml -------------------------------------------------------------------------------- /ruwm-sim/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/LICENSE-APACHE -------------------------------------------------------------------------------- /ruwm-sim/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/LICENSE-MIT -------------------------------------------------------------------------------- /ruwm-sim/assets/bulma-0.9.3.min.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/assets/bulma-0.9.3.min.css -------------------------------------------------------------------------------- /ruwm-sim/assets/bulma-slider.min.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/assets/bulma-slider.min.css -------------------------------------------------------------------------------- /ruwm-sim/assets/bulma-switch.min.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/assets/bulma-switch.min.css -------------------------------------------------------------------------------- /ruwm-sim/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/assets/favicon.ico -------------------------------------------------------------------------------- /ruwm-sim/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/index.html -------------------------------------------------------------------------------- /ruwm-sim/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/src/main.rs -------------------------------------------------------------------------------- /ruwm-sim/src/peripherals.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/src/peripherals.rs -------------------------------------------------------------------------------- /ruwm-sim/src/services.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-sim/src/services.rs -------------------------------------------------------------------------------- /ruwm-web/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/.cargo/config.toml -------------------------------------------------------------------------------- /ruwm-web/.gitignore: -------------------------------------------------------------------------------- 1 | /.vscode 2 | /.embuild 3 | /target 4 | /Cargo.lock 5 | /dist 6 | -------------------------------------------------------------------------------- /ruwm-web/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/Cargo.toml -------------------------------------------------------------------------------- /ruwm-web/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/LICENSE-APACHE -------------------------------------------------------------------------------- /ruwm-web/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/LICENSE-MIT -------------------------------------------------------------------------------- /ruwm-web/assets/bulma-0.9.3.min.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/assets/bulma-0.9.3.min.css -------------------------------------------------------------------------------- /ruwm-web/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/assets/favicon.ico -------------------------------------------------------------------------------- /ruwm-web/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/index.html -------------------------------------------------------------------------------- /ruwm-web/src/battery.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/src/battery.rs -------------------------------------------------------------------------------- /ruwm-web/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/src/lib.rs -------------------------------------------------------------------------------- /ruwm-web/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/src/main.rs -------------------------------------------------------------------------------- /ruwm-web/src/valve.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm-web/src/valve.rs -------------------------------------------------------------------------------- /ruwm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/Cargo.toml -------------------------------------------------------------------------------- /ruwm/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/LICENSE-APACHE -------------------------------------------------------------------------------- /ruwm/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/LICENSE-MIT -------------------------------------------------------------------------------- /ruwm/clippy.toml: -------------------------------------------------------------------------------- 1 | future-size-threshold = 100 2 | -------------------------------------------------------------------------------- /ruwm/src/battery.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/battery.rs -------------------------------------------------------------------------------- /ruwm/src/button.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/button.rs -------------------------------------------------------------------------------- /ruwm/src/dto.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/dto.rs -------------------------------------------------------------------------------- /ruwm/src/dto/battery.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/dto/battery.rs -------------------------------------------------------------------------------- /ruwm/src/dto/valve.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/dto/valve.rs -------------------------------------------------------------------------------- /ruwm/src/dto/water_meter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/dto/water_meter.rs -------------------------------------------------------------------------------- /ruwm/src/dto/water_meter_stats.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/dto/water_meter_stats.rs -------------------------------------------------------------------------------- /ruwm/src/dto/web.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/dto/web.rs -------------------------------------------------------------------------------- /ruwm/src/emergency.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/emergency.rs -------------------------------------------------------------------------------- /ruwm/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/error.rs -------------------------------------------------------------------------------- /ruwm/src/keepalive.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/keepalive.rs -------------------------------------------------------------------------------- /ruwm/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/lib.rs -------------------------------------------------------------------------------- /ruwm/src/mqtt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/mqtt.rs -------------------------------------------------------------------------------- /ruwm/src/pulse_counter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/pulse_counter.rs -------------------------------------------------------------------------------- /ruwm/src/quit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/quit.rs -------------------------------------------------------------------------------- /ruwm/src/screen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen.rs -------------------------------------------------------------------------------- /ruwm/src/screen/pages.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/pages.rs -------------------------------------------------------------------------------- /ruwm/src/screen/pages/actions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/pages/actions.rs -------------------------------------------------------------------------------- /ruwm/src/screen/pages/battery.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/pages/battery.rs -------------------------------------------------------------------------------- /ruwm/src/screen/pages/summary.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/pages/summary.rs -------------------------------------------------------------------------------- /ruwm/src/screen/shapes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/shapes.rs -------------------------------------------------------------------------------- /ruwm/src/screen/shapes/actions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/shapes/actions.rs -------------------------------------------------------------------------------- /ruwm/src/screen/shapes/battery.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/shapes/battery.rs -------------------------------------------------------------------------------- /ruwm/src/screen/shapes/textbox.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/shapes/textbox.rs -------------------------------------------------------------------------------- /ruwm/src/screen/shapes/valve.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/shapes/valve.rs -------------------------------------------------------------------------------- /ruwm/src/screen/shapes/wifi.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/shapes/wifi.rs -------------------------------------------------------------------------------- /ruwm/src/screen/shapes/wm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/screen/shapes/wm.rs -------------------------------------------------------------------------------- /ruwm/src/spawn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/spawn.rs -------------------------------------------------------------------------------- /ruwm/src/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/state.rs -------------------------------------------------------------------------------- /ruwm/src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/utils.rs -------------------------------------------------------------------------------- /ruwm/src/valve.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/valve.rs -------------------------------------------------------------------------------- /ruwm/src/web.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/web.rs -------------------------------------------------------------------------------- /ruwm/src/wifi.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/wifi.rs -------------------------------------------------------------------------------- /ruwm/src/wm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/wm.rs -------------------------------------------------------------------------------- /ruwm/src/wm_stats.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/wm_stats.rs -------------------------------------------------------------------------------- /ruwm/src/ws.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/ruwm/src/ws.rs -------------------------------------------------------------------------------- /sdkconfig.defaults: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/sdkconfig.defaults -------------------------------------------------------------------------------- /sdkconfig.defaults.esp32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivmarkov/ruwm/HEAD/sdkconfig.defaults.esp32 --------------------------------------------------------------------------------