From: Alexander W. <a.w...@ph...> - 2008-11-15 14:14:00
|
Hi! After quite a while I managed to get a DGT Clock at a resonable price. Now, checking if it works well in dgtnix and especially dgtdrv. The first thing I found is, that there seems no possibility to send a string to the clock, e.g. to display the last move. Did I miss something here? Additionally, I discover that there seems to be a "bug" (well, more an inconvenience...) in message parsing concerning clock detection. dgtnixGetClockData() returns an integer, signifying if a clock is connected. Unfortunately, it also returns with "no clock" if the clock is present but halted, or, the other way round, it returns only correct info if the clock is actually running. However, for smooth integration with a GUI (currently I'm working on Scid, 3.6.27 will have dgt support by means of dgtdrv; current cvs already has :) it would be better if I'd be able to detect the presence of the clock even if it is not running. Unfortunately, I've to admit that I do not really understand whats going on within _bwtimeReceived(). :( Anyway, the relevant part of the docs would be: byte 0: DGT_MSG_BWTIME byte 1: LLH_SEVEN(DGT_SIZE_BWTIME) (=0 fixed) byte 2: LLL_SEVEN(DGT_SIZE_BWTIME) (=10 fixed) byte 3: D4: 1 = Flag fallen for left player, and clock blocked to zero 0 = not the above situation D5: 1 = Time per move indicator on for left player ( i.e. Bronstein, Fischer) 0 = Time per move indicator off for left player D6: 1 = Left players flag fallen and indicated on display 0 = not the above situation (D7 is MSB) D0-D3: Hours (units, 0-9 Binary coded) white player (or player at the A side of the board) byte 4: Minutes (0-59, BCD coded) byte 5: Seconds (0-59, BCD coded) byte 6-8: the same for the other player byte 9: Clock status byte: 7 bits D0 (LSB): 1 = Clock running 0 = Clock stopped by Start/Stop D1: 1 = tumbler position high on (white) player (front view: \ , left side high) 0 = tumbler position high on the other player (front view: /, right side high) D2: 1 = Battery low indication on display 0 = no battery low indication on display D3: 1 = Black players turn 0 = not black players turn D4: 1 = White players turn 0 = not white players turn D5: 1 = No clock connected; reading invalid 0 = clock connected, reading valid D6: not used (read as 0) D7: Always 0 The function of the information bits are derived from the full information as described in the programmers reference manual for the DGT TopMatch -- Kind regards, / War is Peace. | Freedom is Slavery. Alexander Wagner | Ignorance is Strength. | | Theory : G. Orwell, "1984" / In practice: USA, since 2001 |