Skip to content

Add 30 board templates with sensor labels and voltage scaling - #54

Merged
eous merged 2 commits into
mainfrom
feature/additional-board-templates
Apr 1, 2026
Merged

eous merged 2 commits into
mainfrom
feature/additional-board-templates

Conversation

@eous

@eous eous commented Apr 1, 2026

Copy link
Copy Markdown
Contributor

MSI (new vendor, 4 boards):

  • B350 Tomahawk, X370 SLI Plus, X470 GAMING PRO (NCT6795)
  • B450M Mortar (NCT6797)

ASRock (7 boards):

  • AB350 Pro4, X370 Taichi, X370 Gaming K4 (NCT6779)
  • B450 Gaming-ITX (NCT6792), A300M DeskMini (NCT6793)
  • Z390 Extreme4 (NCT6791), Z390M-ITX (NCT6793)

ASUS (8 boards):

  • TUF X570-PLUS (NCT6798), PRIME Z370-A (NCT6793)
  • H87-PRO, P10S-M WS (NCT6791)
  • P8P67 PRO, P8Z68-V LX, Q1900-ITX (NCT6776)
  • P8B75-V (NCT6779)

Gigabyte (11 boards):

  • AX370-GAMING 5, AB350-GAMING 3, AB350N-Gaming WIFI, AX370M-DS3H, X470 ULTRA GAMING (IT8686 + IT8792)
  • Z77-D3H, B75-D3V, H67MA-UD2H (IT8728)
  • H170M-D3H (IT8628), F2A88XM-HD3 (IT8620)
  • GA-870A-UD3 (IT8720)

Adds shared base label constants for MSI NCT6795, Gigabyte IT8686, and Gigabyte IT8728 chip families. All voltage scaling factors are verified against known resistor divider networks.

MSI (new vendor, 4 boards):
- B350 Tomahawk, X370 SLI Plus, X470 GAMING PRO (NCT6795)
- B450M Mortar (NCT6797)

ASRock (7 boards):
- AB350 Pro4, X370 Taichi, X370 Gaming K4 (NCT6779)
- B450 Gaming-ITX (NCT6792), A300M DeskMini (NCT6793)
- Z390 Extreme4 (NCT6791), Z390M-ITX (NCT6793)

ASUS (8 boards):
- TUF X570-PLUS (NCT6798), PRIME Z370-A (NCT6793)
- H87-PRO, P10S-M WS (NCT6791)
- P8P67 PRO, P8Z68-V LX, Q1900-ITX (NCT6776)
- P8B75-V (NCT6779)

Gigabyte (11 boards):
- AX370-GAMING 5, AB350-GAMING 3, AB350N-Gaming WIFI,
  AX370M-DS3H, X470 ULTRA GAMING (IT8686 + IT8792)
- Z77-D3H, B75-D3V, H67MA-UD2H (IT8728)
- H170M-D3H (IT8628), F2A88XM-HD3 (IT8620)
- GA-870A-UD3 (IT8720)

Adds shared base label constants for MSI NCT6795, Gigabyte IT8686,
and Gigabyte IT8728 chip families. All voltage scaling factors are
verified against known resistor divider networks.
Copilot AI review requested due to automatic review settings April 1, 2026 07:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a large set of new motherboard BoardTemplates (MSI/ASRock/ASUS/Gigabyte) so the project can auto-detect more boards and present consistent sensor labels plus corrected voltage readings via per-channel scaling.

Changes:

  • Added many new per-board templates (labels + hwmon voltage scaling) across MSI, ASRock, ASUS, and Gigabyte.
  • Introduced shared label/scaling constants (notably for Gigabyte IT8686/IT8728 and MSI NCT6795) and wired new boards into the BOARDS lookup list.
  • Extended board lookup tests to cover newly added templates.

Reviewed changes

Copilot reviewed 53 out of 53 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/db/boards/mod.rs Adds shared label/scaling constants, registers new templates in BOARDS, and expands lookup tests.
src/db/boards/msi/mod.rs Introduces MSI vendor module.
src/db/boards/msi/am4/mod.rs Registers MSI AM4 boards.
src/db/boards/msi/am4/b350_tomahawk.rs Adds MSI B350 Tomahawk template (labels + shared scaling).
src/db/boards/msi/am4/b450m_mortar.rs Adds MSI B450M Mortar template (labels + scaling).
src/db/boards/msi/am4/x370_sli_plus.rs Adds MSI X370 SLI PLUS template (vendor-constrained match, labels + scaling).
src/db/boards/msi/am4/x470_gaming_pro.rs Adds MSI X470 Gaming Pro template (labels + board-specific scaling).
src/db/boards/gigabyte/mod.rs Exposes new Gigabyte platform/chipset submodules.
src/db/boards/gigabyte/am4_300/mod.rs Registers Gigabyte AM4 300/400-series boards.
src/db/boards/gigabyte/am4_300/ab350_gaming3.rs Adds Gigabyte AB350-Gaming 3 template (dual ITE chips).
src/db/boards/gigabyte/am4_300/ab350n_gaming_wifi.rs Adds Gigabyte AB350N-Gaming WIFI template (dual ITE chips).
src/db/boards/gigabyte/am4_300/ax370_gaming5.rs Adds Gigabyte AX370-Gaming 5 template (dual ITE chips + label override).
src/db/boards/gigabyte/am4_300/ax370m_ds3h.rs Adds Gigabyte AX370M-DS3H template (IT8686 + shared scaling).
src/db/boards/gigabyte/am4_300/x470_ultra_gaming.rs Adds Gigabyte X470 AORUS Ultra Gaming template (dual ITE chips).
src/db/boards/gigabyte/z77/mod.rs Adds Gigabyte Z77 module.
src/db/boards/gigabyte/z77/z77_d3h.rs Adds Gigabyte Z77-D3H template (IT8728 + shared labels/scaling).
src/db/boards/gigabyte/h67/mod.rs Adds Gigabyte H67 module.
src/db/boards/gigabyte/h67/h67ma_ud2h.rs Adds Gigabyte H67MA-UD2H template (IT8728, board-specific scaling).
src/db/boards/gigabyte/h170/mod.rs Adds Gigabyte H170 module.
src/db/boards/gigabyte/h170/h170m_d3h.rs Adds Gigabyte H170M-D3H template (IT8628).
src/db/boards/gigabyte/fm2/mod.rs Adds Gigabyte FM2 module.
src/db/boards/gigabyte/fm2/f2a88xm_hd3.rs Adds Gigabyte F2A88XM-HD3 template (IT8620 + scaling).
src/db/boards/gigabyte/b75/mod.rs Adds Gigabyte B75 module.
src/db/boards/gigabyte/b75/b75_d3v.rs Adds Gigabyte B75-D3V template (IT8728 + board-specific scaling/labels).
src/db/boards/gigabyte/am3/mod.rs Adds Gigabyte AM3 module.
src/db/boards/gigabyte/am3/ga_870a_ud3.rs Adds Gigabyte GA-870A-UD3 template (IT8720 + scaling).
src/db/boards/asus/mod.rs Exposes new ASUS chipset submodules.
src/db/boards/asus/x570/mod.rs Adds ASUS X570 module.
src/db/boards/asus/x570/tuf_x570_plus.rs Adds ASUS TUF X570-PLUS template (labels + scaling).
src/db/boards/asus/z370/mod.rs Adds ASUS Z370 module.
src/db/boards/asus/z370/prime_z370a.rs Adds ASUS PRIME Z370-A template (labels + scaling).
src/db/boards/asus/z68/mod.rs Adds ASUS Z68 module.
src/db/boards/asus/z68/p8z68v_lx.rs Adds ASUS P8Z68-V LX template (labels + scaling).
src/db/boards/asus/q1900/mod.rs Adds ASUS Q1900 module.
src/db/boards/asus/q1900/q1900_itx.rs Adds ASUS Q1900-ITX template (labels + scaling).
src/db/boards/asus/p67/mod.rs Adds ASUS P67 module.
src/db/boards/asus/p67/p8p67_pro.rs Adds ASUS P8P67 PRO template (labels + scaling).
src/db/boards/asus/h87/mod.rs Adds ASUS H87 module.
src/db/boards/asus/h87/h87_pro.rs Adds ASUS H87-PRO template (labels + scaling).
src/db/boards/asus/c236/mod.rs Adds ASUS C236 module.
src/db/boards/asus/c236/p10s_m_ws.rs Adds ASUS P10S-M WS template (labels + scaling).
src/db/boards/asus/b75/mod.rs Adds ASUS B75 module.
src/db/boards/asus/b75/p8b75v.rs Adds ASUS P8B75-V template (labels + scaling).
src/db/boards/asrock/mod.rs Exposes new ASRock AM4 and Z390 modules.
src/db/boards/asrock/am4/mod.rs Registers ASRock AM4 boards.
src/db/boards/asrock/am4/a300m_deskmini.rs Adds ASRock A300M-STX DeskMini template (vendor constrained + scaling).
src/db/boards/asrock/am4/ab350_pro4.rs Adds ASRock AB350 Pro4 template (vendor constrained + scaling).
src/db/boards/asrock/am4/b450_gaming_itx.rs Adds ASRock B450 Gaming-ITX/ac template (vendor constrained + scaling).
src/db/boards/asrock/am4/x370_gaming_k4.rs Adds ASRock X370 Gaming K4 template (vendor constrained + scaling).
src/db/boards/asrock/am4/x370_taichi.rs Adds ASRock X370 Taichi template (vendor constrained + scaling).
src/db/boards/asrock/z390/mod.rs Registers ASRock Z390 boards.
src/db/boards/asrock/z390/z390_extreme4.rs Adds ASRock Z390 Extreme4 template (vendor constrained + scaling).
src/db/boards/asrock/z390/z390m_itx.rs Adds ASRock Z390M-ITX/ac template (vendor constrained + scaling).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/db/boards/asus/x570/tuf_x570_plus.rs
Comment thread src/db/boards/mod.rs Outdated
Comment thread src/db/boards/mod.rs
Comment thread src/db/boards/mod.rs Outdated
Comment thread src/db/boards/mod.rs Outdated
- TUF X570: add "plus" to match_substrings to avoid matching X570-PRO
- Clarify shared constant doc comments as defaults/baselines, noting
  that boards with different divider networks override inline
- Fix ambiguity test to actually count matching templates per board
  name instead of just checking first-match exists
- Remove phase/batch references from test comments
@eous

eous commented Apr 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please review this pull request

Copilot AI commented Apr 1, 2026

Copy link
Copy Markdown

@copilot Please review this pull request

The previous review feedback has all been addressed in commit 81124cb:

  1. TUF X570-PLUS matching — added "plus" to match_substrings so it won't accidentally match other TUF X570 boards (e.g. X570-PRO).
  2. IT8728 shared constants — doc comments now say "default/baseline" and explicitly note that boards with different divider networks (e.g. B75-D3V) override inline.
  3. MSI NCT6795 shared constants — doc comments now say "B350/X470 baseline" and note that boards with different VIN mappings (e.g. X370 SLI Plus) define labels/scaling inline.
  4. Ambiguity testtest_no_ambiguous_matches now counts how many templates match each board name and asserts the count is ≤ 1, rather than just checking lookup_board_with_vendor returns something.

All 19 tests pass and clippy is clean.

Copilot finished work on behalf of eous April 1, 2026 07:32
@eous
eous merged commit 153f2e9 into main Apr 1, 2026
7 checks passed
@eous
eous deleted the feature/additional-board-templates branch April 1, 2026 07:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants