Call me back | My basket | Checkout | Add to email list

     You are here: Website » Knowledge base

« back to website

SerialDataFormat / DVRProtocols

1.  Digital Video Recorder (DVR) Communications protocol definition

1.1  Command structure:

Preamble 1Preamble 2Data DirectionCommandData 1Data 2Data 3Data 4Data 5.....Data 12Checksum

Preamble 1 = 0x67
Preamble 2 = 0x13
Data Direction = 0x01 or 0x02
Command = x
Data 1 = x
Data 2 = x
Data 3 = x
Data 4 = x
Data 5 = x
Data 6 = x
Data 7 = x
Data 8 = x
Data 9 = x
Data 10 = x
Data 11 = x
Data 12 = x
Checksum =x
All messages start with a common 2 byte preamble, specified as

The next byte specifies the data direction, 0x01 is into the DVR, 0x02 is transmitted from the DVR

The next byte is the command number, this is given in the command description within this document

The next 12 bytes are the data payload, this is also described in the command description

The final byte is the checksum. This is calculated as the sum of all the previous bytes in the message (inclusive of the preamble) and operate with (AND 0xFF).

On reply messages, 'X' represents that the byte is as same as on request message and need to be omitted.

1.2  Status commands (commands 0x01 to 0x3F)



Read software version and serial number (command 0x01)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x01
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x01
Data 1 = Major Version Number
Data 2 = Minor Version Number
Data 3 = Revision
Data 4 = Serial Number MSB
Data 5 = Serial Number
Data 6 = Serial Number
Data 7 = Serial Number LSB
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0


Get system status (command 0x02)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x02
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Response to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x02
Data 1 = Status Code
Data 2 = Error Code
Data 3 = CPU load or CF Test Progress
Data 4 = FPS
Data 5 = Frame Number MSB
Data 6 = Frame Number
Data 7 = Frame Number
Data 8 = Frame Number LSB
Data 9 = Free A/V blocks
Data 10 = Free CF Blocks
Data 11 = Left Audio Input Volume
Data 12 = Right Audio Input Volume

Status code: (bit 3-0)

0 – Idle
1 – Recording
2 – Playback
3 – Loopback
4 – CF Test
5 – Initialising unit

Status code: (bit 7-4) - Sent in Playback Mode

0 – PLAY
1 – 50% SLOW
2 – 10% SLOW
3 – 200% FF
4 – 400% FF
5 – 800% FF
6 – 200% REV
7 – 400% REV
8 – 800% REV
9 – PAUSE
10 – PREVIOUS FRAME
11 – NEXT FRAME
12 – PREVIOUS CHAPTER
13 – NEXT CHAPTER

Error Code: (Bit 7)

0 – No error
1 – Last recording stopped due to exceeding 4GB limit

Error Code: (Bit 6)

0 – No error
1 – Last recording stopped due to lack of free disk space

Error Code: (Bit 5-0)

0 – No error
Otherwise – last error

CPU load or CF Test Progress

– Returns CPU load while DVR is Idle, Recording, Playback or Loopback.
– Returns CF Test Progress while CF Speed test.

FPS – is the frames encoded per second (only sent during Encoding)

Frame Number – is the current Recording/Playback frame (only sent during Recording and Playback)

Free A/V blocks – is the number of remaining free Audio/Video blocks while recording

Free CF Blocks – is the number of remaining free disk blocks while recording



Get number of overlay files on CF card (command 0x03)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x03
Data 1 = Overlay File Type
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Overlay File Type

0: VGL
1: VGT

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x03
Data 1 = Count
Data 2 = Error Code
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Count is the number of overlay files available, from 0 to 255

Error Code

0: No error
1: DVR busy (Not idle or loopback)



Get details of overlay file (command 0x04)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x04
Data 1 = Index
Data 2 = Overlay File Type
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Index' is the index of the overlay file that details are requested for. (0 < Index <= Number of overlay files)

Overlay File Type

0: VGL
1: VGT

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x04
Data 1 = F1
Data 2 = F2
Data 3 = F3
Data 4 = F4
Data 5 = F5
Data 6 = F6
Data 7 = F7
Data 8 = F8
Data 9 = Error Code
Data 10 = 0
Data 11 = 0
Data 12 = 0

'F1-F8' are the ascii codes for the file name of the overlay file

'Error Code'

0: No error
1: CRC error
2: Invalid index
3: DVR busy (Not idle or loopback)



Get number of video files on CF card (command 0x05) *** Deprecated ***

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x05
Data 1 = File Type
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'File Type:'

0 – VD4 files
1 – All files

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x05
Data 1 = VD4 File Count (Disk) MSB
Data 2 = VD4 File Count (Disk) LSB
Data 3 = Last VD4 File Index (Disk) MSB
Data 4 = Last VD4 File Index (Disk) LSB
Data 5 = File Count (CWD) MSB
Data 6 = File Count (CWD) LSB
Data 7 = Last File Index (CWD) MSB
Data 8 = Last File Index (CWD) LSB
Data 9 = Error code
Data 10 = 0
Data 11 = 0
Data 12 = 0

'VD4 File Count (Disk)' is the number of video files available on Disk, from 0 to 65534

'Last VD4 File Index (Disk)' is the index of the last video file on Disk, from 1 to 65535 (Valid only if VD4 File Count (Disk) > 0)

'File Count (CWD):'

0 – Number of video files available on Current Working Directory (CWD) if File Type = 0, from 0 to 65534
1 – Number of files (all types) available on Current Working Directory (CWD) if File Type = 1, from 0 to 65534

'Last File Index (CWD):'

0 – Index of the last video file on Current Working Directory (CWD) if File Type = 0, from 1 to 65535 (Valid only if File Count (CWD) > 0)
1 – Index of the last file (all types) on Current Working Directory (CWD) if File Type = 1, from 1 to 65535 (Valid only if File Count (CWD) > 0)

'Error Code'

0: No error
1: Drive A: not available
2: DVR busy (Not idle or loopback)



Get details of a video file (command 0x06) *** Deprecated ***

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x06
Data 1 = Index MSB
Data 2 = Index LSB
Data 3 = Index Scope
Data 4 = File Type
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Index' is the index of the video file that details are requested for. (0<Index<=Number of video files)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

'File Type:'

0 – VD4 files
1 – All files

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x06
Data 1 = F1 (Status)
Data 2 = F2 (Error Code)
Data 3 = F3
Data 4 = F4
Data 5 = F5
Data 6 = F6
Data 7 = F7
Data 8 = Length MSB
Data 9 = Length
Data 10 = Length
Data 11 = Length LSB
Data 12 = Chapters

If F1(Status) = 0 then F2(Error Code) represent the Error Code

If F1 not equals 0 then 'F1-F7' are the ascii codes for the file name
'Length' is a 32 bit value of the length of the video in frames, valid if File Type = 0 and F1 not equals 0
'Chapters' is a 8 bit value for the number of chapter in the video, valid if File Type = 0 and F1 not equals 0

'Error Code'

1: Invalid filename
2: Decoder RAM failed
3: Invalid index
4: Drive A: not available
5: DVR busy (Not idle or loopback)



Get Audio/Video device status (command 0x07)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x07
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x07
Data 1 = Camera Count
Data 2 = Camera1 Status
Data 3 = Camera2 Status
Data 4 = Camera3 Status
Data 5 = Camera4 Status
Data 6 = Camera1 Colour System
Data 7 = Camera2 Colour System
Data 8 = Camera3 Colour System
Data 9 = Camera4 Colour System
Data 10 = Left Audio Volume
Data 11 = Left Audio Volume
Data 12 = Output Audio Volume

Camera X Status:

0 – No camera connected to video port X
1 – Camera connected to video port X

Camera X Colour System:

0 – Not Supported
1 – PAL
2 – NTSC



Get disk status (command 0x08)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x08
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x08
Data 1 = Speed test status
Data 2 = Maximum Bit Rate LSB
Data 3 = Maximum Bit Rate
Data 4 = Maximum Bit Rate
Data 5 = Maximum Bit Rate MSB
Data 6 = Remaining Disk Space LSB
Data 7 = Remaining Disk Space
Data 8 = Remaining Disk Space
Data 9 = Remaining Disk Space MSB
Data 10 = Remaining Munites to Record LSB
Data 11 = Remaining Munites to Record MSB
Data 12 = Card State

Speed test status:

0 – CF Speed Test Completed
1 – CF Speed Test On Progress
2 – Write Error
3 – File Open Failure
4 – CF Speed Test Not Started

''Maximum Bit Rate' is valid only if (Speed test status = 0)

''Remaining Disk Space' returns current free space in Mega Bytes

''Remaining Minutes to Record' returns available minutes to record based on current bitrate

''Card State:'

0 – Card Present
1 – Card not present
2 – Card Full
3 – Card Slow



Get number of sub-folders on CF card (command 0x09) *** Deprecated ***

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x09
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x09
Data 1 = Folder Count (Disk) MSB
Data 2 = Folder Count (Disk) LSB
Data 3 = Last Folder Index (Disk) MSB
Data 4 = Last Folder Index (Disk) LSB
Data 5 = Folder Count (CWD) MSB
Data 6 = Folder Count (CWD) LSB
Data 7 = Last Folder Index (CWD) MSB
Data 8 = Last Folder Index (CWD) LSB
Data 9 = Error code
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Folder Count (Disk)' is the number of folders available on Disk, from 0 to 65534

'Last Folder Index (Disk)' is the index of the newest folder on Disk, from 1 to 65535 (Valid only if Folder Count (Disk) > 0)

'Folder Count (CWD)' is the number of folders available on Current Working Directory (CWD), from 0 to 65534

'Last Folder Index (CWD)' is the index of the newest folder on CWD, from 1 to 65535 (Valid only if Folder Count (CWD) > 0)

'Error Code'

0: No error
1: Drive A: not available
2: DVR busy (Not idle or loopback)



Get sub-folder info (command 0x0A) *** Deprecated ***

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0A
Data 1 = Index MSB
Data 2 = Index LSB
Data 3 = Index Scope
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Index' is the index of the sub-folder that details are requested for. (0<Index<=total sub-folders)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0A
Data 1 = S1
Data 2 = S2
Data 3 = S3
Data 4 = S4
Data 5 = S5
Data 6 = S6
Data 7 = S7
Data 8 = S8
Data 9 = Contents
Data 10 = Error Code
Data 11 = 0
Data 12 = 0

'S1-S8' are the ascii codes for the sub-folder name of the given index

'Contents'

bit 4-7: Unused
bit 3: True if RUN file is availalbe
bit 2: True if VD4 file is availalbe
bit 1: True if IDX file is availalbe
bit 0: True if CHP file is availalbe

'Error Code'

0: No error
1: Invalid index
2: Drive A: not available
3: DVR busy (Not idle or loopback)



Get details of a video file in the given sub-folder (command 0x0B) *** Deprecated ***

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0B
Data 1 = Folder Index MSB
Data 2 = Folder Index LSB
Data 3 = Index Scope
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Folder Index' is the index of the sub-folder with video file that details are requested for. (0 < Index <= Number of sub-folders)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0B
Data 1 = Length MSB
Data 2 = Length
Data 3 = Length
Data 4 = Length LSB
Data 5 = Chapters
Data 6 = Date MSB
Data 7 = Date LSB
Data 8 = Time MSB
Data 9 = Time LSB
Data 10 = Odd Second
Data 11 = Error Code
Data 12 = 0

'Length' is a 32 bit value of the length of the video in frames
'Chapters' is a 8 bit value for the number of chapter in the video
'Date' 16-bit date in File System format

bits 15 - 9 Year (0 = 1980, 127 = 2107)
bits 8 - 5 Month (1 = January, 12 = December)
bits 4 - 0 Day (1 - 31)

'Time' 16-bit time in File System format

bits 15 - 11 Hours (0-23)
bits 10 - 5 Minutes (0-59)
bits 4 - 0 Seconds/2 (0-29)

'Odd Second' true if 1 need to be added to seconds
Note: To get actual seconds, value of bits (4 - 6) of 'Time' must be multiplied by 2 and add value of 'Odd Second'
'Error Code'

1: Decoder RAM failed
2: VD4 file not found
3: Invalid index
4: Drive A: not available
5: DVR busy (Not idle or loopback)



Get number of VD4/RUN sub-folders on CF card (command 0x0C)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0C
Data 1 = Index Scope
Data 2 = Content Type
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0
'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

'Content Type:'

0 – Folders with VD4 or RUN files
1 – Folders with VD4 files
2 – Folders with RUN files

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0C
Data 1 = Folder Count MSB
Data 2 = Folder Count LSB
Data 3 = Last Folder Index MSB
Data 4 = Last Folder Index LSB
Data 5 = Error code
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Folder Count' is the number of folders with VD4/RUN files, from 0 to 65534

'Last Folder Index' is the index of the newest folder with VD4/RUN files, from 1 to 65535 (Valid only if Folder Count (Disk) > 0)

'Error Code'

0: No error
1: Drive A: not available
2: DVR busy (Not idle or loopback)



Get VD4/RUN sub-folder info (command 0x0D)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0D
Data 1 = Index MSB
Data 2 = Index LSB
Data 3 = Index Scope
Data 4 = Content Type
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Index' is the index of the sub-folder that details are requested for. (0<Index<=total sub-folders)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

'Content Type:'

0 – Folders with VD4 or RUN files
1 – Folders with VD4 files
2 – Folders with RUN files

NOTE: Index Scope and Content Type must be same as the ones used in Count (0x0C) command

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0D
Data 1 = S1
Data 2 = S2
Data 3 = S3
Data 4 = S4
Data 5 = S5
Data 6 = S6
Data 7 = S7
Data 8 = S8
Data 9 = Contents
Data 10 = Error Code
Data 11 = 0
Data 12 = 0

'S1-S8' are the ascii codes for the sub-folder name of the given index

'Contents'

bit 4-7: Unused
bit 3: True if RUN file is availalbe
bit 2: True if VD4 file is availalbe

'Error Code'

0: No error
1: Invalid index
2: Drive A: not available
3: DVR busy (Not idle or loopback)
4: Index Scope or Content Type mismatch with Count command (0x0C)



Get details of a video file in the given VD4/RUN sub-folder (command 0x0E)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0E
Data 1 = Folder Index MSB
Data 2 = Folder Index LSB
Data 3 = Index Scope
Data 4 = Content Type
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Folder Index' is the index of the sub-folder with video file that details are requested for. (0 < Index <= Number of sub-folders)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

'Content Type:'

0 – Folders with VD4 or RUN files
1 – Folders with VD4 files
2 – Folders with RUN files

NOTE: Index Scope and Content Type must be same as the ones used in Count (0x0C) command

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0E
Data 1 = Length MSB
Data 2 = Length
Data 3 = Length
Data 4 = Length LSB
Data 5 = Chapters
Data 6 = Date MSB
Data 7 = Date LSB
Data 8 = Time MSB
Data 9 = Time LSB
Data 10 = Odd Second
Data 11 = Error Code
Data 12 = 0

'Length' is a 32 bit value of the length of the video in frames
'Chapters' is a 8 bit value for the number of chapter in the video
'Date' 16-bit date in File System format

bits 15 - 9 Year (0 = 1980, 127 = 2107)
bits 8 - 5 Month (1 = January, 12 = December)
bits 4 - 0 Day (1 - 31)

'Time' 16-bit time in File System format

bits 15 - 11 Hours (0-23)
bits 10 - 5 Minutes (0-59)
bits 4 - 0 Seconds/2 (0-29)

'Odd Second' true if 1 need to be added to seconds
Note: To get actual seconds, value of bits (4 - 6) of 'Time' must be multiplied by 2 and add value of 'Odd Second'
'Error Code'

1: Decoder RAM failed
2: VD4 file not found
3: Invalid index
4: Drive A: not available
5: DVR busy (Not idle or loopback)
6: Index Scope or Content Type mismatch with Count command (0x0C)



Get line count on TXT file (command 0x0F)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0F
Data 1 = Index MSB
Data 2 = Index LSB
Data 3 = Index Scope
Data 4 = Content Type
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Index' is the index of the sub-folder that details are requested for. (0<Index<=total sub-folders)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

'Content Type:'

0 – Folders with VD4 or RUN files
1 – Folders with VD4 files
2 – Folders with RUN files

NOTE: Index Scope and Content Type must be same as the ones used in Count (0x0C) command

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x0F
Data 1 = Line Count MSB
Data 2 = Line Count
Data 3 = Line Count
Data 4 = Line Count LSB
Data 5 = Error Code
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0
'Line Count:' Total number of lines on the specified TXT file

'Error Code'

0: No error
1: TXT file read failure
2: TXT file empty
3: TXT file not found
4: Invalid index
5: Index Scope or Content Type mismatch with Count command (0x0C)
6: Drive A: not available
7: DVR busy (Not idle or loopback)



Get line string on a TXT file (command 0x10)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x10
Data 1 = Line Number MSB
Data 2 = Line Number
Data 3 = Line Number
Data 4 = Line Number LSB
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Line Number' is required line number of the TXT file (1 to N)

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x10
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

'Error Code'

0: No error (the line will be sent on RT Message type 107)
1: Invalid Index
2: TXT file not loaded (You need to call 0x0F command first)
3: DVR busy (Not idle or loopback)





1.3  Configuration commands (commands 0x40 to 0x7F)

All configuration commands are only valid when the DVR is in IDLE mode – when recording or playing back video then the configuration commands are simply ignored and no response is made.

Set recording quality (command 0x40)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x40
Data 1 = Video Format
Data 2 = Birate
Data 3 = Frame Types
Data 4 = Frame Percentage
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Video format

0: D1 PAL
1: D1 NTSC

Bit rate

0: low quality
1: standard quality
2: high quality
3 to 13: Mannual bit rate entry (Maps to 2 to 12 Mbps. i.e.: Bitrate = ([Data2] - 1) )

Frame type

0: I frames only
1: IP frames only
2: IPB frames

Frame Percentage is the percentage of frames recorded per second

Valid range: 4 to 100 (Valid FPS range: 1-25 for PAL, 1-30 for NTSC)
Example: 10% will record frames in 2 fps if PAL and 3 fps if NTSC

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x40
Data 1 = Error Code
Data 2 = X
Data 3 = X
Data 4 = X
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: DVR busy (Not idle or loopback)



Set overlay to use (command 0x41)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x41
Data 1 = Index
Data 2 = Overlay File Type
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Index is the overlay file index that should be used for the next recording.

0 – Unset overlay (no overlay)
0< Index<= Number of Files – select overlay file

Overlay File Type

0: VGL
1: VGT

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x41
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: DSH open failed
2: incorrect CRC
3: invalid index
4: DVR busy (Not idle or loopback)



Set audio device (command 0x42)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x42
Data 1 = Audio ID
Data 2 = Audio device
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Audio ID

0 – Audio Input
1 – Audio Output

Audio Device

For Audio Input
0 – Internal Microphone
1 – External line-in
For Audio Output
0 – Internal speakers
1 – External line-out

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x42
Data 1 = status
Data 2 = Error Code
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Status

0 – Failure
1 – Command successful

Error Code

0: No error
1: Invalid index
2: DVR busy (Not idle or loopback)



Set video source (command 0x43)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x43
Data 1 = Video ID
Data 2 = Video source
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Video ID

0 – Main Video
1 – PIP1
2 – PIP2
3 – PIP3

Video source

For Main Video
0 – Primary built-in camera (mounted on main unit)
1 – External video source 2
For PIP1
0 – Secondary built-in camera (mounted on driver display)
1 – External video source 2
For PIP2
0 – none
1 – External video source 3
For PIP3
0 – none
1 – External video source 4

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x43
Data 1 = status
Data 2 = Error Code
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Status

0 – Port open failure
1 – Command successful

Error Code

0: No error
1: DVR busy (Not idle or loopback)



Set video file name (command 0x44)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x44
Data 1 = F1
Data 2 = F2
Data 3 = F3
Data 4 = F4
Data 5 = F5
Data 6 = F6
Data 7 = F7
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

F1-F7 are the ascii codes for the file name of the video file.

The actual name of the video file should be of format rvtXXX, where (000<=XXX<=999)

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x44
Data 1 = Error Code
Data 2 = X
Data 3 = X
Data 4 = X
Data 5 = X
Data 6 = X
Data 7 = X
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error code

0: No error
1: Recording folder exists in the given name
2: Drive A: not available
3: DVR busy (recording)



Set time and date for file stamp (command 0x45)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x45
Data 1 = Year MSB
Data 2 = Year LSB
Data 3 = Month
Data 4 = Day
Data 5 = Hour
Data 6 = Minute
Data 7 = Second
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Year MSB – MSB part of year
Year LSB – LSB part of year
Month
Day
Hour
Minute
Second

Response from DVR

Responds with the time/date code that will be used for the next recording



Set video color (command 0x46)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x46
Data 1 = Video ID
Data 2 = Brightness
Data 3 = Contrast
Data 4 = HueVal
Data 5 = Saturation
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Video ID – number representing the video

0 – Main video
1 – PIP1
2 – PIP2
3 – PIP3

Brightness – a number between 0 and 255
Contrast – a number between 0 and 255
HueVal – a signed 8 bit number (between -128 and 127)

HueHueVal
-180-128
00
180127

Saturation – a number between 0 and 255

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x46
Data 1 = Error Code
Data 2 = X
Data 3 = X
Data 4 = X
Data 5 = X
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: Video port isn't open yet



Set audio volume (command 0x47)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x47
Data 1 = Audio ID
Data 2 = Audio Volume
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Audio ID

0 – Audio input
1 – Audio Output

Volume –

0 – Mute
1 … 10 – the audio volume

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x47
Data 1 = Error Code
Data 2 = X
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: Invalid audio port index



Special Strings (command 0x48)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x48
Data 1 = Special String Code
Data 2 = Frame ID
Data 3 = String byte 1
Data 4 = String byte 2
Data 5 = String byte 3
Data 6 = String byte 4
Data 7 = String byte 5
Data 8 = String byte 6
Data 9 = String byte 7
Data 10 = String byte 8
Data 11=String byte 9
Data 12=String byte 10

Special String Code: This can be a setting from 1 to 255.

1 - Examination code
2 - Examiner's code
3 - Unit serial number
4 - Pupil's name
12 - Location

RT Analysis (Video Export Tool) specific Special String Codes for splash screen

14 - Driver
15 - Location
16 - Date
17 - Note

Frame ID: This is the index of 10 character parts of a long string. Frame ID is in the range from 0 to 2. Note that all unused String Bytes are required to replace with null (0x00) character.

Response from DVR

Replies with the same message



Serial Loopback (command 0x49)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x49
Data 1 = State
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10=0
Data 11=0
Data 12=0

State

1 - Serial Loopback enabled
0 - Serial Loopback disabled

Response from DVR

Replies with the same message



Control Encoder Audio/Video Output (command 0x4A)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x4A
Data 1 = Media type
Data 2 = Status
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10=0
Data 11=0
Data 12=0

Media type

0 - Audio
1 - Video

Status

0 - Disable
1 - Enable

Response from DVR

Replies with the same message



Control Auto Start/Stop Recording (command 0x4B)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x4B
Data 1 = Function
Data 2 = Condition
Data 3 = Variable ID MSB
Data 4 = Variable ID LSB
Data 5 = Value MSB
Data 6 = Value
Data 7 = Value
Data 8 = Value LSB
Data 9 = Trigger Delay
Data 10=0
Data 11=0
Data 12=0

Function

0 - Disable All (Disable both Audo Start/Stop conditions)
1 - Start
2 - Stop

Condition

0 - Disable
1 - Less than
2 - Greater than

Variable ID: Variable ID used for auto start (or stop) condition

Value: Single precision value that checks with the Variable ID against the condition

Trigger Delay: Not used

Response from DVR

Replies with the same message



Control Recording of Video, Data & PCM (command 0x4C)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x4C
Data 1 = Recording Mode
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10=0
Data 11=0
Data 12=0

Recording Mode

0 - Video & Data
1 - Only Video
2 - Only Data
3 - Video, Data & PCM
4 - Video & PCM
5 - Data & PCM

Response from DVR

Replies with the same message



Set VEDR configuration (command 0x4D)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x4D
Data 1 = VEDR2
Data 2 = Recording Mode
Data 3 = Loop Mode File Deletion
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10=0
Data 11=0
Data 12=0

VEDR2

0 - Off
1 - Continuously record .RUN file from background
2 - Ignore (Keep previous setting)

Recording Mode (bit2 - Data, bit1 - Video, bit0 - Sound)

7 - Data + Video + Sound
6 - Data + Video (No Sound)
4 - Data (No Video, No Sound)
3 - Video + Sound (No Data)
2 - Video (No Data, No Sound)
8 - Ignore (Keep previous setting)

Loop Mode File Deletion (Not implemented)
->0 - Disabled

1 - Enabled
2 - Ignore (Keep previous setting)

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x4D
Data 1 = Error Code
Data 2 = X
Data 3 = X
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: Warning: VEDR mode not enabled from VGT file
2: DVR busy (Not idle or loopback)





1.4  Core Commands (commands 0x80 to 0xFF)

Start recording to video file (command 0x80)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x80
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0
This command controls the recording of the video based on the current configuration

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x80
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: can't open MPG file
2: can't open IDX file
3: can't open CHP file
4: can't open PCM file
5: can't open RUN file
6: Error init M2V encoder
7: Error init encoder RAM
8: Drive A: not available
9: DVR busy (Auto-stop condition is true or not idle or loopback)
10: No disk in Drive A:
11: Disk full
12: Disk too slow for recording
13: can't open TXT file



Mark a chapter in the video file (command 0x81)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x81
Data 1 = Chapter type
Data 2 = Chapter offset MSB
Data 3 = Chapter offset
Data 4 = Chapter offset
Data 5 = Chapter offset LSB
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

This command is only valid whilst recording, and adds another index to the chapter definition file that is used by the DVD burn program.

Chapter type is a 0-9 to indicate the type of chapter. This index has to be stored in the chapter file that is then used by the DVD burn program

Chapter offset

0 – Add a chapter at current time
Otherwise – Add a chapter before current frame by the offset specified in seconds

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x81
Data 1 = Error Code
Data 2 = X
Data 3 = X
Data 4 = X
Data 5 = X
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: Chapter adding not valid
2: DVR is not recording
3: Tried to add a chapter too soon (< 5 seconds)
4: Tried to exceed the total chapters limit (255)



Control playback from video file (command 0x82)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x82
Data 1 = Index MSB
Data 2 = Index LSB
Data 3 = Playback Code
Data 4 = Frame Number MSB
Data 5 = Frame Number
Data 6 = Frame Number
Data 7 = Frame Number LSB
Data 8 = Chapter Number MSB
Data 9 = Index Scope
Data 10 = Index Mode
Data 11 = Content Type
Data 12 = 0

Index: This is the index of the video file or sub-folder with video file to play as defined by Index Mode

Playback Code: This is the playback function as in the following table.

Playback CodeFunction
0Play
1Slow Motion 50%
2Slow Motion 10%
3Fast Forward 200%
4Fast Forward 400%
5Fast Forward 800%
6Fast Reverse 200%
7Fast Reverse 400%
8Fast Reverse 800%
9Paused
10Previous Frame
11Next Frame
12Previous Chapter
13Next Chapter

Chapter Number: if >0 then this is the chapter number to jump to (ignore Frame Number field). If 0, then ignored. Not applicable for commands from 9 to 13.

Frame Number: if >0 then this is the frame number to jump to (ignore this field if Chapter Number > 0). If 0, then ignored. Not applicable for commands from 9 to 13.

Index Scope

0: Disk
1: Current Working Directory (CWD)

Index Mode

0: Video File Index *** Deprecated ***
1: Sub-folder index *** Deprecated ***
2: VD4/RUN Sub-folder index

'Content Type:'

0 – Folders with VD4 or RUN files
1 – Folders with VD4 files
2 – Folders with RUN files

NOTE: If Index Mode = 2 then Index Scope and Content Type must be same as the ones used in Count (0x0C) command

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x82
Data 1 = Error Code
Data 2 = X
Data 3 = X
Data 4 = X
Data 5 = X
Data 6 = X
Data 7 = X
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: MPG file open failure
2: MPG file init failed
3: Error init decoder RAM
4: Invalid file index
5: Chapter not found
6: No chapter file
7: No chapter file or jump out of range
8: unable to change play position
9: jump frame out of range
10: Previous I frame jump error
11: Can't go backward (On first frame)
12: Next I frame jump error
13: Can't go forward (On last frame)
14: Invalid command index
15: Drive A: not available
16: DVR busy (Not idle or loopback or playback)
17: Index Scope or Content Type mismatch with Count command (0x0C)



Stop recording/playback /loopback (command 0x83)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x83
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0
This command stops recording or playback and returns to the idle state

Response from DVR

Responds with the same message if successful



Delete video file (command 0x84) *** Deprecated ***

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x84
Data 1 = Video File Index MSB
Data 2 = Video File Index LSB
Data 3 = Index Scope
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0
This command deletes the requested video file from the memory card

Video file index: This is the index of the video file to play (0<Index<=Number of video files)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x84
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: Disk error
2: Invalid index
3: Drive A: not available
4: DVR busy (Not idle or loopback)



Format memory card (command 0x85)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x85
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0
This command formats the Removable Compact Flash card completely by removing all data on it.

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x85
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: Disk not available after format
2: Error formatting disk
3: Disk not available (before format)
4: DVR busy (Not idle or loopback)



Loopback video & audio with overlay (command 0x86)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x86
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x86
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: DVR busy (Not idle)



Beep (command 0x87)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x87
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Response from DVR

Responds with the same message if successful



CF Speed Test (command 0x88)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x88
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x88
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: CF Speed Test Started
1: Disk not available
2: DVR busy (Not idle or loopback)



Prepare for Fast Recording (command 0x89)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x89
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0
This command prepares DVR to start recording immedietly with 0x8A command. Sending commands other than 0x8A after this command will cancel fast recording preparation. This command will also stop loopback.

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x89
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: can't open MPG file
2: can't open IDX file
3: can't open CHP file
4: can't open PCM file
5: can't open RUN file
6: Error init M2V encoder
7: Error init encoder RAM
8: Drive A: not available
9: DVR busy (Auto-stop condition is true or not idle or loopback)
10: No disk in Drive A:
11: Disk full
12: Disk too slow for recording



Start Fast Recording (command 0x8A)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8A
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0
This command will start recording immedietly without any delay. Note that user must prepare the DVR system for fast recording with message 0x89 before sending this command.

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8A
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: DVR is not ready for fast recording (Send Command 0x89)



Cancel Fast Recording Preparation (command 0x8B)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8B
Data 1 = 0
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

This command will cancel the preparation for fast recording. Note that command 0x8B is not essential for the user since sending a command other than 0x8A after command 0x89 will also cancel the preparation for fast recording.

No response from DVR



Delete sub-folder (command 0x8C) *** Deprecated ***

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8C
Data 1 = Folder Index MSB
Data 2 = Folder Index LSB
Data 3 = Index Scope
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

This command deletes the requested sub-folder with all files from the memory card

Folder Index: This is the index of the sub-folder (0 < Index <= Number of sub-folders)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8C
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: Failed to delete the folder
2: Invalid index
3: Drive A: not available
4: DVR busy (Not idle or loopback)



Delete VD4/RUN sub-folder (command 0x8D)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8D
Data 1 = Folder Index MSB
Data 2 = Folder Index LSB
Data 3 = Index Scope
Data 4 = Content Type
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

This command deletes the requested sub-folder with all files from the memory card

Folder Index: This is the index of the sub-folder (0 < Index <= Number of sub-folders)

'Index Scope:'

0 – Disk
1 – Current Working Directory (CWD)

'Content Type:'

0 – Folders with VD4 or RUN files
1 – Folders with VD4 files
2 – Folders with RUN files

NOTE: Index Scope and Content Type must be same as the ones used in Count (0x0C) command

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8D
Data 1 = Error Code
Data 2 = 0
Data 3 = 0
Data 4 = 0
Data 5 = 0
Data 6 = 0
Data 7 = 0
Data 8 = 0
Data 9 = 0
Data 10 = 0
Data 11 = 0
Data 12 = 0

Error Code

0: No error
1: Failed to delete the folder
2: Invalid index
3: Drive A: not available
4: DVR busy (Not idle or loopback)
5: Index Scope or Content Type mismatch with Count command (0x0C)



Write to master information file (command 0x8E)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8E
Data 1 = String Byte1
Data 2 = String Byte2
Data 3 = String Byte3
Data 4 = String Byte4
Data 5 = String Byte5
Data 6 = String Byte6
Data 7 = String Byte7
Data 8 = String Byte8
Data 9 = String Byte9
Data 10=String Byte10
Data 11=String Byte11
Data 12=0

Note: String Bytes may include 0x0D, 0x0A if line breaks are required

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8E
Data 1 = Error Code
Data 2 = X
Data 3 = X
Data 4 = X
Data 5 = X
Data 6 = X
Data 7 = X
Data 8 = X
Data 9 = X
Data 10 = X
Data 11 = X
Data 12 = 0

Error Code

0: No error
1: Master information file not opened
2: Disk write not enabled



Delete last folder with files (command 0x8F)

Message to DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8F
Data 1 = X
Data 2 = X
Data 3 = X
Data 4 = X
Data 5 = X
Data 6 = X
Data 7 = X
Data 8 = X
Data 9 = X
Data 10 = X
Data 11 = X
Data 12 = X

Response from DVR

CommandData 1Data 2Data 3Data 4Data 5.....Data 12

Command = 0x8F
Data 1 = Error Code
Data 2 = X
Data 3 = X
Data 4 = X
Data 5 = X
Data 6 = X
Data 7 = X
Data 8 = X
Data 9 = X
Data 10 = X
Data 11 = X
Data 12 = X

Error Code

0: No error
1: Failed to delete the folder
2: Drive A: not available
3: DVR busy (Not idle or loopback)
Page last modified on March 03, 2010, at 04:08 PM