Add Pironman 5 Pro Max variant support (product_id 0316)#55
Open
morriskr wants to merge 36 commits intosunfounder:maxfrom
Open
Add Pironman 5 Pro Max variant support (product_id 0316)#55morriskr wants to merge 36 commits intosunfounder:maxfrom
morriskr wants to merge 36 commits intosunfounder:maxfrom
Conversation
Add python3-dev as an apt dependency to ensure proper build environment setup
- Add VARIANTS dictionary to map variant names to classes - Implement force variant selection through /opt/pironman5/variant file - Add --variant CLI argument to override variant selection - Update installer to handle variant overrides and update settings accordingly
Replace hardcoded overlay paths with a list of possible paths and iterate through them to find the valid one. This makes the code more maintainable and handles additional possible overlay locations.
Move repeated overlay path detection logic into a dedicated get_overlay_path method to improve code reuse and maintainability
Add check for umbrelOS to skip dtoverlay configuration and bump version number to reflect changes
…ible fix: update version to 1.2.21 and add umbrelOS detection
Update support OS
Add wait_for_dpkg method to check for dpkg locks before installation Include test script to simulate dpkg lock scenarios Add noninteractive flag to apt-get install command to prevent prompts
Add DEBIAN_FRONTEND=noninteractive to apt-get commands to prevent interactive prompts during installation
Remove alpha tag from version as we're moving to stable release
- Update package version from 1.2.22 to 1.2.23 - Add common Python build artifacts to gitignore - Implement URL fallback mechanism from github to gitee - Update dependency URLs to use dynamic GIT_URL variable
The previous command didn't properly verify the key fingerprint before installation. This change adds explicit fingerprint verification and updates the keyring path to follow modern Debian/Ubuntu conventions.
Add a new script to handle the setup of InfluxDB installation source, including GPG key verification and repository configuration. The script includes error handling and root privilege checks.
Move complex influxdb setup commands into a dedicated script for better maintainability and readability.
The message was changed to be less alarming when GitHub is unreachable since we have a fallback to Gitee
- Add support for modern GCC versions with compatibility patches - Implement fallback to source compilation when apt package is unavailable - Include proper error handling and cleanup procedures
Add a new script to automate merging multiple branches into a target branch and optionally creating version tags. The script handles merging specified branches and pushing them, with an option to create and push version tags when provided.
…ogic - Remove redundant GIT_URL checks from install.py - Add GIT_URL handling as class attributes in SF_Installer - Implement backup URL checking mechanism - Remove --gitee flag as it's no longer needed
The requests package is required for making HTTP calls in the installer
Update package version to 1.2.26a1 for development. Refactor requests import to use importlib for better module loading.
Add site.main() and importlib.invalidate_caches() to ensure proper module loading when checking git URLs. This prevents potential import errors due to stale caches or outdated paths.
…ndling - Replace manual site-packages refresh with direct path insertion - Add debug prints for better visibility of git URL selection
Ensure the print statement only executes when the URL is successfully set to avoid misleading output
The Pro Max uses hat_type1 which does not auto-load device tree overlays, so SPI and I2C must be explicitly enabled in config.txt. The Pro Max also has 18 WS2812 LEDs in its chain (3 fans x 4 LEDs + 6 board LEDs) versus 4 on the base and Max variants. Changes: - Add Pironman5ProMax variant class with rgb_led_count=18, CONFIG_TXT for explicit SPI/I2C enable, and oled_sleep_timeout=0 - Map product_id 0316 to Pironman5ProMax in variant detection - Apply variant-specific config.txt settings during install Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pironman5ProMaxvariant class for the Pro Max case (hat_type1, product_id0316)hat_type1which does not auto-load device tree overlays, so SPI and I2C must be explicitly enabled inconfig.txtvia a newCONFIG_TXTclass attributergb_led_countto 18 (3 fans × 4 WS2812 LEDs + 6 board LEDs), confirmed by hardware testingconfig.txtsettings during installFiles changed
pironman5/variants/pironman5_pro_max.py— New variant classpironman5/variants/__init__.py— Import, register in VARIANTS dict, map0316→Pironman5ProMaxinstall.py— ReadCONFIG_TXTfrom detected variant and apply during installTest plan
Note
Also found a bug in
pm_autovibration_switch.pyline 38:self.pullshould beself.pull_up— the config value forvibration_switch_pull_upis never applied. This is in thepm_autorepo, not this one.🤖 Generated with Claude Code