FreeStyler 序列檔案分析

2021-07-14 19:36:51 字數 1413 閱讀 3868

分析過的軟體版本:3.5.8

和3.4.6

檔案型別:chb

控制器型別:udmx

chb序列檔案位元組數為(檔案儲存形式為 小端):

6  +  (6150+2+52*fixturesnum)*stepnum  +  (2+2*fixturesnum)  +  6*(stepnum - 1)

c1                  c2                           c3                 c4

檔案組成順序為 c1àc2àc3àc4  ( 如果序列檔案步驟為1,

c4就不佔檔案位置)

c1:佔檔案的前

6個位元組

如「5a 00 5a 00 09 00

」,前4

個位元組貌似都是「

5a 00 5a 00

」,因此不去深究;後兩個位元組「

09 00

」值為0x0009

,代表該序列檔案有

9個步驟,即上面公式中的

stepnum=9。

c2:檔案裡基本上都是該內容

每個步驟占用位元組數為 (6150+2+52*fixturesnum)

6150的前4

個位元組為漸變時間和場景時間,如「

02 00 0a 00

」, 漸變時間

=0x0002*500ms

(乘數 為

500ms

),場景時間

=0x000a*100ms

(乘數為

100ms);

後面的位元組為通道資料,每個通道資料占用

6個位元組,如「

01 00 ff 00 01 00

」,前兩個位元組貌似就第一通道為

0x0001

,其他通道均為

0x0000

,值的具體含義沒有深究;中間兩個位元組為通道的值,即我們所需要的通道亮度值為

0x00ff

;最後兩位元組為值的變化方式(

0x0001

為fade

,0x0002

為snap

,0x0003

為off

)。這裡有

1024

組通道資料。

2的資料為燈具的數量,如「02 00

」,即上面公式中的

fixturesnum = 0x0002。

52*fixturesnum的資料沒有去深究。

c3:2+2*fixturesnum

2的資料為燈具的數量,如「02 00

」,即上面公式中的

fixturesnum = 0x0002。

2*fixturesnum的資料沒有去深究。

c4:6*(stepnum - 1)

6*(stepnum - 1) 的資料沒有去深究。

序列檔案 seq file 介面

內容簡介 本文主要講述序列檔案 seq file 介面的核心實現,如何使用它將linux核心裡面常用的資料結構通過檔案 主要關注proc檔案 匯出到使用者空間,最後定義了一些巨集以便於程式設計,減少重複 在分析序列檔案介面實現的過程中,還連帶涉及到一些應用陷阱和避免手段。序列檔案介面 unix的世界...

序列檔案 seq file 介面

內容簡介 本文主要講述序列檔案 seq file 介面的核心實現,如何使用它將linux核心裡面常用的資料結構通過檔案 主要關注proc檔案 匯出到使用者空間,最後定義了一些巨集以便於程式設計,減少重複 在分析序列檔案介面實現的過程中,還連帶涉及到一些應用陷阱和避免手段。序列檔案介面 unix的世界...

序列檔案 seq file 介面

內容簡介 本文主要講述序列檔案 seq file 介面的核心實現,如何使用它將linux核心裡面常用的資料結構通過檔案 主要關注proc檔案 匯出到 使用者空間,最後定義了一些巨集以便於程式設計,減少重複 在分析序列檔案介面實現的過程中,還連帶涉及到一些應用陷阱和避免手段。序列檔案介面 unix的世...