packages feed

tttool 1.5.0.1 → 1.5.1

raw patch · 4 files changed

+21/−12 lines, 4 files

Files

README.md view
@@ -93,26 +93,32 @@  Otherwise, installation from source is not difficult either: - 1. First install the *Haskell platform*, see http://www.haskell.org/platform/+ 1. If you have not done so yet, fetch the source code and change to the+    directory containing the code:++        git clone https://github.com/entropia/tip-toi-reveng.git tttool+        cd tttool++ 2. Install the *Haskell platform*, see http://www.haskell.org/platform/     for details for your system. Users of Debian or Ubuntu simply run          apt-get install haskell-platform - 2. Install the development packages for ncurses, i.e.+ 3. Install the development packages for ncurses, i.e.          apt-get install libncurses5-dev - 3. Install the Haskell dependencies. The Haskell platform comes with a tool+ 4. Install the Haskell dependencies. The Haskell platform comes with a tool     called `cabal`, and you should run the two commands          cabal update         cabal install --only-dependencies - 4. Now you can build the program using+ 5. Now you can build the program using          cabal install --bindir=. - 5. At this point, `tttool` should be ready to go. If you run+ 6. At this point, `tttool` should be ready to go. If you run          ./tttool 
src/KnownCodes.hs view
@@ -14,7 +14,10 @@ firstObjectCode = 1000  lastObjectCode :: Word16-lastObjectCode = fromIntegral $ V.length knownRawCodes - 1+-- Empirically, the pen does not recognize OIDs >= 15000:+lastObjectCode = 14999+-- Last object code accoring to the known raw codes:+-- lastObjectCode = fromIntegral $ V.length knownRawCodes - 1  knownRawCodes :: V.Vector Word16 knownRawCodes =
src/TipToiYaml.hs view
@@ -178,19 +178,19 @@ --    objectCodeOffsetMax = lastObjectCode - firstObjectCode. -- This would assign perfectly usable object codes, and would minimize the  -- probability of object code collisions between products, but sometimes --- object codes would wrap around from 16383 to 1000 even for small projects +-- object codes would wrap around from 14999 to 1000 even for small projects  -- which may be undesirable. We arbitrarily do not use the last 999 possible -- offsets to avoid a wrap around in object codes for projects with <= 1000 -- object codes. This does not impose any limit on the number of object codes --- per project. Every project can always use all 15384 object codes.+-- per project. Every project can always use all 14000 object codes.     objectCodeOffsetMax = lastObjectCode - firstObjectCode - 999  -- Distribute the used object codes for different projects across the whole  -- range of usable object codes. We do this by multiplying the productId with  -- the golden ratio to achive a maximum distance between different projects, --- indepedent of the total number of different projects.--- 8890 = (16383-1000-999+1)*((sqrt(5)-1)/2)-    objectCodeOffset = toWord16(rem (productId * 8890) (toWord32(objectCodeOffsetMax) + 1))+-- independent of the total number of different projects.+-- 8035 = (14999-1000-999+1)*((sqrt(5)-1)/2)+    objectCodeOffset = toWord16(rem (productId * 8035) (toWord32(objectCodeOffsetMax) + 1))  -- objectCodes always contains _all_ possible object codes [firstObjectCode..lastObjectCode],  -- starting at firstObjectCode+objectCodeOffset and then wrapping around.
tttool.cabal view
@@ -1,5 +1,5 @@ name:                tttool-version:             1.5.0.1+version:             1.5.1 synopsis:            Working with files for the Tiptoi® pen description:         The Ravensburger Tiptoi® pen is programmed via special                      files. Their file format has been reverse engineered; this