View Single Post
Old 12-12-2006, 12:00 AM   #60
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,866
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
Here's a puzzle for all of you that have too much time on your hands. I just finished adding support for syncing the time to libprs500, unfortunately there's one field of 4 bytes I cant interpret. Here are the time set command packets
Code:
# 16:11 11th dec 2006
00000000: 0401 0000 0100 0000 0000 0000 1c00 0000  ................
00000010: 20fe ffff d607 0000 0c00 0000 0c00 0000   ...............
00000020: 0000 0000 0b00 0000 0800 0000            ............

# 16:20odd 11th nov 2006
00000000: 0401 0000 0100 0000 0000 0000 1c00 0000  ................
00000010: 20fe ffff d607 0000 0b00 0000 0c00 0000   ...............
00000020: 0000 0000 1500 0000 0a00 0000            ............

# 16:25odd 16th dec 2006
00000000: 0401 0000 0100 0000 0000 0000 1c00 0000  ................
00000010: 20fe ffff d607 0000 0c00 0000 1100 0000   ...............
00000020: 0000 0000 1c00 0000 2200 0000            ........"...

# 04:34odd 11th dec 2006
00000000: 0401 0000 0100 0000 0000 0000 1c00 0000  ................
00000010: 20fe ffff d607 0000 0c00 0000 0b00 0000   ...............
00000020: 0c00 0000 2200 0000 3500 0000            ...."...5...
As you can see the time information starts from byte 20 in 4byte blocks that are encoded little-endian (least significant first). Thus d6070000=2006. From byte 20 its year, month, day, hour, minute and second. The first 4 bytes are the command number, the next four are the command type and 1c is the command length. The question is what are bytes 16-19? They are the same in all time set packets I've seen (20fe ffff) and I can't figure them out? Are they and epoch, an offset of some sort, random garbage? Changing the value doesn't seem to affect the time set operation as far as I can tell, but you never know.

For those of you who actually read this far, as a reward for your patience, here's a link that documents the progress (or lack of it) I'm making with libprs500 and its GUI.
https://libprs500.kovidgoyal.net/timeline
kovidgoyal is online now   Reply With Quote