Skip to content

Add P1-04THMS (isolated K-type thermocouple module) support#32

Open
smittysmee wants to merge 2 commits into
facts-engineering:masterfrom
smittysmee:add-p1-04thms-module
Open

Add P1-04THMS (isolated K-type thermocouple module) support#32
smittysmee wants to merge 2 commits into
facts-engineering:masterfrom
smittysmee:add-p1-04thms-module

Conversation

@smittysmee

Copy link
Copy Markdown

Summary

The P1-04THMS (module ID 0x34608C82) — the isolated variant of the P1-04THM — has no entry in the library. When the base controller signs on a P1-04THMS, its ID isn't found in Module_List.h, so the library assigns it 0 analog-input bytes: readTemperature() returns nothing and the sign-on diagnostics print This module has no Analog Input bytes. Only the older P1-04THM (0x34608C81) is recognized.

This adds the missing module so the P1-04THMS enumerates and reads like the P1-04THM it mirrors.

Changes

  • src/Module_List.h — new row for 0x34608C82 / "P1-04THMS", using the same 4-channel K-type byte layout as the P1-04THM.
  • src/P1AM.cpp (loadConfigBuf()) — case 0x34608C82: falls through to P1_04THM_DEFAULT_CONFIG.

Two lines; no change to any existing module's behavior.

How it was found / verified

The module ID 0x34608C82 was read directly off a physical P1-04THMS during sign-on (temporary Serial.print of the raw module ID). After adding these entries, all four K-type channels read correctly on the bench. The P1-04THMS shares the P1-04THM's channel configuration, so the existing THM default config applies unchanged.

Happy to adjust the comment wording or split if you'd prefer.

smittysmee and others added 2 commits June 27, 2026 21:47
The P1-04THMS (module ID 0x34608C82) is the isolated variant of the
P1-04THM, but it has no entry in the library. When the base controller
signs on a P1-04THMS, its ID is absent from Module_List.h, so the library
assigns it 0 analog-input bytes and readTemperature() returns nothing
(the sign-on diagnostics report "This module has no Analog Input bytes").

This adds the missing table entry and config mapping, mirroring the
existing P1-04THM (same 4-channel K-type byte layout and default config):

- Module_List.h: new row for 0x34608C82 / "P1-04THMS"
- P1AM.cpp loadConfigBuf(): case 0x34608C82 falls through to the
  P1_04THM default config

The module ID was read off a physical P1-04THMS during sign-on. No change
to any existing module's behavior.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant