File transfer fields
The filetransfer fields are used for reading and writing static content to and from the hardware. It is used for both the media pool and the macro pool.
Lock management
- class pyatem.field.LockStateField(raw)
Data from the LKST. This updates the state of the locks.
Offset
Size
Type
Descriptions
0
2
u16
Store id
2
1
bool
State
3
1
?
unknown
After parsing: :ivar store: Store index :ivar state: True if a lock is held
- class pyatem.field.LockObtainedField(raw)
Data from the LKOB. This signals that a datastore lock has been successfully obtained for a specific datastore index. Used for data transfers.
Offset
Size
Type
Descriptions
0
2
u16
Store id
2
2
?
Unknown
After parsing: :ivar store: Store index
Data transfer
- class pyatem.field.FileTransferDataField(raw)
Data from the FTDa. This is an incoming chunk of data for a running file transfer.
Offset
Size
Type
Descriptions
0
2
u16
Transfer id
2
2
u16
Data length
?
?
bytes
The rest of the packet contains [Data length] bytes of data
After parsing: :ivar transfer: Transfer index :ivar size: Length of the transfer chunk :ivar data: Contents of the transfer chunk
- class pyatem.field.FileTransferDataCompleteField(raw)
Data from the FTDC. Sent after pushing a file.
Offset
Size
Type
Descriptions
0
2
u16
Transfer id
2
1
u8
? (always 1)
3
1
u8
? (always 2 or 6)
After parsing: :ivar transfer: Transfer index that has completed
- class pyatem.field.FileTransferErrorField(raw)
Data from the FTDE. Something went wrong with a file transfer and it has been aborted.
Offset
Size
Type
Descriptions
0
2
u16
Transfer id
2
1
u8
Error code
3
1
?
unknown
Error code
Description
1
try-again, Try the transfer again
2
not-found, The requested store/slot index doesn’t contain data
5
no-lock, You didn’t obtain the lock before doing the transfer
After parsing: :ivar transfer: Transfer index :ivar status: Status id from the enum above
- class pyatem.field.FileTransferContinueDataField(raw)
Data from the FTCD. This is an field telling the client what chunk size to use to continue the upload of data to the hardware.
Offset
Size
Type
Descriptions
0
2
u16
Transfer id
2
4
?
unknown
6
2
u16
Chunk size
8
2
u16
Chunk count
10
2
?
unknown
After parsing: :ivar transfer: Transfer index :ivar size: Length of the transfer chunk :ivar count: Contents of the transfer chunk
Pool settings
- class pyatem.field.MediaplayerFileInfoField(raw)
Data from the MPfe. This is the metadata about a single frame slot in the mediaplayer
Offset
Size
Type
Description
0
1
u8
type
1
1
?
unknown
2
2
u16
index
4
1
bool
is used
5
16
char[]
hash
21
2
?
unknown
23
?
string
name of the slot, first byte is number of characters
After parsing:
- Variables:
index – Slot index
type – Slot type, 0=still
is_used – Slot contains data
hash – 16-byte md5 hash of the slot data
name – Name of the content in the slot
- class pyatem.field.MacroPropertiesField(raw)
Data from the MPrp. This is the metadata about a stored macro
Offset
Size
Type
Description
0
2
u16
Macro slot index
2
1
bool
is used
3
1
bool
has invalid commands
4
2
u16
Name length
6
2
u16
Description length
8
?
char[]
Name
?
?
char[]
Description
After parsing:
- Variables:
index – Macro slot index
is_used – Slot contains data
is_invalid – Slot contains invalid data
name – Name of the macro
description – Description of the macro