To generate build of this app: - Go to directory which contains build.py file - Run command "python build.py" - Build will be generated in "main" folder adjacent to "src" folder - The build that you give to production team should consist of "main" and "Final" folders To run the app: - From the "src" folder: "python main.py ", e.g. "python main.py VECSM0C0-B23" - From the build: "main.exe " - UI comes from the "fct-pdi-app-ui-components" package (latest: 1.0.5), installed from the Gitea PyPI registry: "pip install fct-pdi-app-ui-components==1.0.5 --extra-index-url https://:@gitea.vecmocon.com/api/packages/m.sonu/pypi/simple/" Configs: - "Final/common/config.json" - shared by all products (scanner, log paths, product/process, GIT info written by build.py) - "Final/Projects//config.json" - per product (test cases, firmware commit id, versions, customer name and id); merged on top of the common config - "Final/Projects//firmwares/SOC_FINAL" and "SOC_TEST" - firmware .bat scripts, placed there by the firmware tool (app will not start if they are missing) - "TestMode": 0 = production, 1 / 2 = testing (no scanner, no operator login) - If logs of a test are not saved, testing is blocked and "build_blocked": true is written in "Final/common/config.json"; remove it to unblock Products: | Product code | Customer | |---------------|---------------| | VECSM0C0-B23 | Infiswap | | VECSM0C01-A54 | Okaya | | VECSM0C01-B15 | Trontek | | VECSM0C00-B34 | Khalsa EV | | VECSM0C0-A35 | Ati Motors | | VECSM0C00-A10 | Battery Smart | To add a new product: - Add "Final/Projects//config.json" (copy an existing product's config and update it) - Add "src/Projects//main.py" registering a worker with @register("") - Rebuild