But I have confirmed that TIDRADIO_TD-H3.img does start with P31183, I wasn't making it up. It also says "Welcome TD-H8" — So I think that your test image might actually be an H8 image?
It's been a while, but IIRC the early H3s basically had a firmware load from an H8 without a bunch of things changed that shouldn't be. So I suspect that image is from that era.
Should I just replace it with an image from the new firmware, or do you want to do something more like have multiple versions for multiple firmware releases?
We can't do that without separate subclasses that claim them. The (driver) tests are driven from the images. The sample images are for the tests, so whenever we add new code I like to avoid a change to an existing image as a sort of proof that the new code still works with the old image (insofar as the tests would tickle something). I don't really think we need an update to the image in the tree (unless there's a reason in which case we need to handle that case). If you really want to change it, please put it in a separate commit after and separate from any code changes.
I did see this in the TD-H3:
_tx_power = [chirp_common.PowerLevel("Low", watts=1.00), chirp_common.PowerLevel("High", watts=4.00)]
According to my manual that should be 2W and 5W respectively.
This really doesn't matter. It is only used for import/copy-and-paste operations where the import logic will try to pick the closest available power level to whatever you're bringing in. It need not be absolutely correct, and lots of radios have different power levels on each band, which we don't model. We can change it, but it's just not as important as it probably seems.
Do you prefer separate commits for such things, or is it less work to do it all together?
A separate commit per logical change please. They can be in a PR together though if they're reasonably related.
--Dan