It is possible that there is a short in the wires that lead from the control board to the sensor. Look carefully for nicks and cuts in the insulation and places where the wires may have been crushed accidentally.
Here are some simple tests that will help us isolate the problem (you may have already done some of these...).
a) Unplug the power connector (red and black wires to a 4 position Molex connector) to the board and plug in the AC line cord. Does it still crowbar? If so, the fault is in the power supply, and the unit should be returned.
If the power supply is ok, then:
b) Unplug both top and bottom head connectors (blue and brown wires, respectively). Then plug in the AC line cord. Does it still crowbar the power supply? If not, then plug in a single connector in turn to determine which part of the sensor has the fault. You may be able to repair any damage to the wiring to the head. If not, send back the sensor assembly and the CPU board (we will need the CPU board to install the calibration coefficients of a new head).
c) If the unit still fails to run with the head wires disconnected there is a fault with the main printed circuit board, and it should be replaced. It is best to send back the entire unit for repair and recalibration.
The TPS-3100 algorithm to determine precipitation rate employs both 1 minute and 5 minute running averages.
Each byte is shifted through the polynomial least-significant bit first.
The TPS-3100 uses the standard "CRC-16" version of the algorithm. There are many good references describing how to implement it, the best of which is Numerical Recipes in C. If you don't have that, then try the website:
If you click on the "CRC-16" button, it will select:
- CRC order = 16 bits
- polynomial = 0x8005
- initial value = 0
- Final XOR value=0
- "reverse data bytes" and "reverse CRC result before Final XOR" both checked
If you then enter the "Data sequence":
CatMouse987654321 You will get a result of 0x38A6. If you can get this to work in your code, you'll have it. The website also has links to C code to implement this. If you google "CRC calculator", you'll get other sites as well.