anonymous_putterer
New member
I have no urgent question here. Mostly tihis seems the place to share what I think I've figured out, and some verification or elaboration on interesting tangents might be nice.
Background: with 32 temp sensors attatched and most of them wet, keeping them ordered is a bit of work; which is which and how does the 633 order them from 0 to 31?
What I Found: The newer Wintest reports sensor ID's, but based on the Wintest reports I could not see how the 633 ordered the sensors. After exploring the Read Dow Device Information command's results, I concluded that something in the way the 633 reports via Read Dow Device Information is endian backwards bitwise within a byte and likely MSB ... LSB backwards. Without getting into all the details ( read my programming for that ) I wrote a variation of the 633-port to read and report both the raw and [ by my head scritching ] unscrambled ROM Ids and then throw up little tick marks in the console to show wheather any particular sonsor is warmer or cooler:
The first section is on the left of the colon, the ROM IDs (minus the CRC portion ) as reported raw by the Read Dow Device Information command and Wintest, and on the right of the colon, the IDs when endianly-bit-transposed. That is to say that the bits of the left most byte of sensor zero above, 11000000, are summed by Wintest as 1*128 + 1*64 = 192 (decimal) = C0 (hex) and to the right of tho colon the same bits are summed as 1*1 + 1*2 = 3 (decimal and hexadecimal). Take the 1st column after the colon (and presumably the second and then the third in decreasing significance) to see how the 633 orders the sensors from 0-31. This summing of bits to yield 3 instead of 192 == C0 is what I am calling here 'endian backwards bitwise within a byte' and seems to be a necessary step in seeing a meaningful pattern in the 0-31 ordering.
The second section is based on live temperature reporting. Any temp significantly warmer gets it's number printed & cooler gets '--'. Calibrated for sqeezing one in your fingers or blowing on it for a few seconds, vs. moving one to the window.
Background: with 32 temp sensors attatched and most of them wet, keeping them ordered is a bit of work; which is which and how does the 633 order them from 0 to 31?
What I Found: The newer Wintest reports sensor ID's, but based on the Wintest reports I could not see how the 633 ordered the sensors. After exploring the Read Dow Device Information command's results, I concluded that something in the way the 633 reports via Read Dow Device Information is endian backwards bitwise within a byte and likely MSB ... LSB backwards. Without getting into all the details ( read my programming for that ) I wrote a variation of the 633-port to read and report both the raw and [ by my head scritching ] unscrambled ROM Ids and then throw up little tick marks in the console to show wheather any particular sonsor is warmer or cooler:
Code:
mk4:/usr/src/633-port-18-IDS# ./test633
Ultra-simple 633 command-line communications example.
Crystalfotnz America, Inc. [url]http://www.crystalfontz.com[/url]
633-port-IDS modification by annonymous_putterer
3=open (/dev/ttyS1, 2)
tcgetattr(3, -1073744144 )
wintest bitflipped
# ID ID ID ID ID ID
C=83(19 = Set Temp. Rpt),L=0,D="",CRC=0xF6D8
00 C0 0D 88 : 03 b0 11
01 F0 3A 88 : 0f 5c 11
02 58 23 88 : 1a c4 11
03 F4 36 88 : 2f 6c 11
04 EC 0E 88 : 37 70 11
05 1C 4B 88 : 38 d2 11
06 22 13 88 : 44 c8 11
07 92 3B 88 : 49 dc 11
08 F2 28 88 : 4f 14 11
09 CA 83 88 : 53 c1 11
10 AA 76 88 : 55 6e 11
11 5A 37 88 : 5a ec 11
12 BA 4E 88 : 5d 72 11
13 7A 41 88 : 5e 82 11
14 FA 82 88 : 5f 41 11
15 86 4C 88 : 61 32 11
16 66 3F 88 : 66 fc 11
17 96 79 88 : 69 9e 11
18 F6 1E 88 : 6f 78 11
19 8E 18 88 : 71 18 11
20 FE 4E 88 : 7f 72 11
21 F5 5F 88 : af fa 11
22 CD 1B 88 : b3 d8 11
23 BD 48 88 : bd 12 11
24 FD 61 88 : bf 86 11
25 C3 15 88 : c3 a8 11
26 23 1A 88 : c4 58 11
27 33 50 88 : cc 0a 11
28 07 61 40 : e0 86 02
29 67 1C 88 : e6 38 11
30 4F 3B 88 : f2 dc 11
31 AF 50 88 : f5 0a 11
C=83(19 = Set Temp. Rpt),L=0,D="",CRC=0xF6D8
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
4 29
-- 11 14 19 26
2
1 --
17 -- --
12 23 --
-- 21
22
14 16
19 --
-- 7 22 --
6 11 12 -- 22
18 20 22 24
22 24 29
22 23 24 26 --
16 22 24 25
22 23 24 26
18 22 23 24 26
-- 19 22 23 24 26
14 22 23 24 26
2 24 26 29
1 22 -- 31
12 16 23 -- 30
-- --
11 -- --
mk4:/usr/src/633-port-18-IDS#
The second section is based on live temperature reporting. Any temp significantly warmer gets it's number printed & cooler gets '--'. Calibrated for sqeezing one in your fingers or blowing on it for a few seconds, vs. moving one to the window.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
Last edited: