139def test_header_properties() -> int:
140 frame = WIBEthFrame()
141 hdr = frame.header
142 hdr_alias = frame.get_wibheader()
143
144 if hdr_alias is None:
145 print("FAIL: get_wibheader() returned None")
146 return 1
147
148 hdr.channel = 4
149 hdr.version = 2
150 hdr.cd = 1
151 hdr.context = 3
152 hdr.ready = 1
153 hdr.calibration = 1
154 hdr.pulser = 1
155 hdr.femb_sync = 2
156 hdr.wib_sync = 1
157 hdr.lol = 1
158 hdr.link_valid = 2
159 hdr.crc_err = 1
160 hdr.colddata_timestamp_1 = 99
161 hdr.colddata_timestamp_0 = 77
162 hdr.extra_data = 0x1122334455667788
163
164 if hdr.channel != 4:
165 print(f"FAIL: WIBEthHeader.channel mismatch, got {hdr.channel}")
166 return 1
167 if hdr.version != 2:
168 print(f"FAIL: WIBEthHeader.version mismatch, got {hdr.version}")
169 return 1
170 if hdr.cd != 1:
171 print(f"FAIL: WIBEthHeader.cd mismatch, got {hdr.cd}")
172 return 1
173 if hdr.context != 3:
174 print(f"FAIL: WIBEthHeader.context mismatch, got {hdr.context}")
175 return 1
176 if hdr.ready != 1 or hdr.calibration != 1 or hdr.pulser != 1:
177 print("FAIL: WIBEthHeader ready/calibration/pulser mismatch")
178 return 1
179 if hdr.femb_sync != 2 or hdr.wib_sync != 1:
180 print("FAIL: WIBEthHeader femb_sync/wib_sync mismatch")
181 return 1
182 if hdr.lol != 1:
183 print(f"FAIL: WIBEthHeader.lol mismatch, got {hdr.lol}")
184 return 1
185 if hdr.link_valid != 2 or hdr.crc_err != 1:
186 print("FAIL: WIBEthHeader link_valid/crc_err mismatch")
187 return 1
188 if hdr.colddata_timestamp_1 != 99:
189 print(f"FAIL: WIBEthHeader.colddata_timestamp_1 mismatch, got {hdr.colddata_timestamp_1}")
190 return 1
191 if hdr.colddata_timestamp_0 != 77:
192 print(f"FAIL: WIBEthHeader.colddata_timestamp_0 mismatch, got {hdr.colddata_timestamp_0}")
193 return 1
194 if hdr.extra_data != 0x1122334455667788:
195 print(f"FAIL: WIBEthHeader.extra_data mismatch, got {hdr.extra_data:#x}")
196 return 1
197 if hdr_alias.extra_data != 0x1122334455667788:
198 print(f"FAIL: get_wibheader alias mismatch, got {hdr_alias.extra_data:#x}")
199 return 1
200
201 print("PASS: WIBEthHeader property read/write and get_wibheader alias")
202 return 0
203
204