blob: 6802a8a3c0f1938b06d9f5e12ced53514e4fe9d5 (
plain)
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
32
|
import qualified Data.ByteString.Lazy as BL
import Data.Binary.Put
s_delay = 0
num_cycles = 1
colors_list = [(0x32, 0x30)] -- green
magic 1 x = 2 + 6 * x
color_number t = fst t * 2^8 + snd t
serialiseSomething :: Put
serialiseSomething = do
putWord16le 0x5aa5
putWord16le s_delay
putWord16le 0x101
putWord16le 0x101
putWord16le 0x1
putWord16le 0
putWord16le 0
putWord16le 0
putWord16le 0
putWord16le 0
putWord16le num_cycles
putWord16le $ fromIntegral $ length colors_list
putWord16le $ magic num_cycles 1
putWord16le $ fromIntegral $ color_number $ head colors_list
main :: IO ()
main = BL.putStr $ runPut serialiseSomething
|