@@ -337,18 +337,8 @@ class CtypeForwardHeaderBtGatt(ctypes.LittleEndianStructure):
337337 _pack_ = 1
338338
339339
340- class CtypeV0VersionedFrame (ctypes .LittleEndianStructure ):
341- _fields_ = [
342- ("version" , ctypes .c_uint8 ),
343- ("_type" , ctypes .c_uint8 ),
344- ("flags" , ctypes .c_uint16 ),
345- ("_key_metadata" , ctypes .c_uint8 * 3 ),
346- ("_device_id_upper" , ctypes .c_uint32 ),
347- ("_device_id_lower" , ctypes .c_uint32 ),
348- ("gps_time" , ctypes .c_uint32 ),
349- ("sequence" , ctypes .c_uint16 ),
350- ("entropy" , ctypes .c_uint16 ),
351- ]
340+ class CtypeV0Frame (ctypes .LittleEndianStructure ):
341+ _fields_ = []
352342 _pack_ = 1
353343
354344 @property
@@ -381,6 +371,35 @@ def parse(cls, frame: bytes) -> tuple[Self, int]:
381371 )
382372
383373
374+ class CtypeV0VersionedFrame (CtypeV0Frame ):
375+ _fields_ = [
376+ ("version" , ctypes .c_uint8 ),
377+ ("_type" , ctypes .c_uint8 ),
378+ ("flags" , ctypes .c_uint16 ),
379+ ("_key_metadata" , ctypes .c_uint8 * 3 ),
380+ ("_device_id_upper" , ctypes .c_uint32 ),
381+ ("_device_id_lower" , ctypes .c_uint32 ),
382+ ("gps_time" , ctypes .c_uint32 ),
383+ ("sequence" , ctypes .c_uint16 ),
384+ ("entropy" , ctypes .c_uint16 ),
385+ ]
386+ _pack_ = 1
387+
388+
389+ class CtypeV0UnversionedFrame (CtypeV0Frame ):
390+ _fields_ = [
391+ ("_type" , ctypes .c_uint8 ),
392+ ("flags" , ctypes .c_uint16 ),
393+ ("_key_metadata" , ctypes .c_uint8 * 3 ),
394+ ("_device_id_upper" , ctypes .c_uint32 ),
395+ ("_device_id_lower" , ctypes .c_uint32 ),
396+ ("gps_time" , ctypes .c_uint32 ),
397+ ("sequence" , ctypes .c_uint16 ),
398+ ("entropy" , ctypes .c_uint16 ),
399+ ]
400+ _pack_ = 1
401+
402+
384403class CtypeSerialFrame (CtypeV0VersionedFrame ):
385404 """Serial packet header"""
386405
0 commit comments