System and method for interfacing multiple electronic devices7017171Abstract A method for operating a video processing system by receiving initial copyright information from a first source, storing the initial copyright information, receiving updated copyright information from a second source, and updating the stored copyright information in response to the updated copyright information. For example in one embodiment of the present invention, the initial copyright information for a program is received from an electronic program guide and updated copyright information is received along with the selected program. The video processing system may be programmed to operate in a first operating mode in response to the initial copyright information and the operating mode of the video processing system may be switched to a second operating mode in response to the updated copyright information. Claims What is claimed is: Description FIELD OF THE INVENTION The command reads as :=<for time context (05), any (00) event timer class object (16)> <if (56)<current status "C" (43) equals (56) zero (30)> <Begin (F7)> <getValue (43) timer_object_id "m" (6D)> <END (F8)> Example: For Timer Context (05h) Program Even Timer objects (03h)-(0Ah), assume object (04h) and (07h) are not in use. The response from the DSS is: In this case the Command is sent with the protocol services:
If there are no time slots available the DSS returns The VCR displays appropriate OSD to indicate either the VCR, DSS or both do not have additional program event timers available. STEP 2: Setting Program Timer Event The VCR sends event_data, instant variable "e", to the Program timer Event object with the received timer_object_id, IV value, LL The symbol LL is the received program timer object timer_object_id value. It is a hex variable. The VCR sends an Explicit_Invoke message to the Program Timer Event object (LL) in the DSS Time Context (05): The command reads as :=<for time context (05), Program Timer Event object (LL)> <setArray (46) <event_data IV (65) <delimiter (F5)(offset=0)> <delimiter (F5)> <DATA Token (F4)> <number of bytes=12 (31 32)> <Escape Token (F6)>DnnnLnTnRIAM> The receiving node, DSS, returns the completed token, "FE". The complete token indicates the setArray Method was executed on the event_data IV. The Command is sent with the protocol services:
Error Condition: Event_Data not Accepted, setArray Method not Completed. The DSS returns the Error Token FD and appropriate error/return code. The VCR attempts to locate a new available object. If the VCR finds a new object it places the event in the new object. Otherwise, the VCR generates a no timers in DBS available error message. Error Condition: Pre-Condition not Satisfied. The DSS returns FD 31 38. This indicates that the event_data was not updated because a pre-condition was not satisfied (the object was already programmed.) The VCR must locate a new available program timer event object. If there are no available program timer event objects, the VCR generates and OSD message. Error Condition: Password Required The DSS returns FE FD. The return code indicates that the variable is protected and requires a password. The VCR prompts the User to enter a DSS Password. The four character password is used to encrypt the timer_event IV value. The timer_event IV data is sent to the DSS as encrypted data. STEP 3: Password Authentication The DSS checks the received event_data value and determines if the program selection requries a password. If password authentication is required, the DSS returns an authentication error/reject indication to the VCR. The VCR generates an OSD to request a DSS password. The DSS password is used to construct an authenticated message. The VCR sends an authenticated data packet to the DSS. The DSS verifies that the requested program and password level are in agreement. If they are in agreement the DSS returns a completed token "FE". Otherwise the DSS resends the authentication error/reject indication. STEP 4: Copy Right Authorization Once an appointment is accepted, the DSS extracts the copy right level information from the user guide and places it in its program timer event object copy_protection p (70) instant variable. Initially the VCR's copy_protection IV is set to UNKNOWN. The VCR must obtain the copy right information from the DSS before it begins recording. The VCR sends an Explicit_Invoke message to the DSS Time Context (05), ProgramTimer Event Object (LL) requesting "getValue of copy_protection IV, "p" (70). The DSS returns a completed token "FE" plus the copy_protection IV value. The following CAL command is sent from the VCR to the DSS: The command reads as :=<for time context (05), any program timer event object (LL)> <getValue (43) copy_protection IV "p" (70)> The receiving node, DSS, returns the completed token, "FE" plus the present value of "p". The complete token indicates the getValue Method was executed on the event_data IV. The VCR must verify that it can record the program and that the recording means, digital or analog, is in compliance with the copy_protect IV value. The copy_protect IV values are as follows:
Error Condition: Copy_Protection IV set to UNKNOWN. This condition indicates that the copyright limitations are unknown due to a flaw in the DSS program guide or the program is scheduled beyond the limits of the program guide. The DSS will update the VCR's program timer copy_protection IV when it is changed to a known state. The VCR may not keep the appointment when the copy_protection IV is set to UNKNOWN at the time of the appointment. The VCR must warn the user that the copy right level is UNKNOWN and that the recording may not take place. Error Condition: Copy_Protection IV not Consistant with Requested Recording Mode. This occurs when the requested recording mode does not comply withe the copy_protection IV level. The VCR generates an OSD to indicate the requested record level is not allowed and indicates alternative method. When digital recordings are not pemitted but analog recordings are permitted, the VCR prompts the user to the analog option. If the user does not choose the analog option the program timer event object is reset and the appointment is erased in the DSS by the VCR. STEP 5: Program Event Schedule Conflicts The VCR checks for schedule conflicts between events in both the remote device and VCR. It also verifies that the conflicts are unique. The VCR sends an Explicit_Invoke message to the DSS Time Context (05), Program Timer Event Object (LL), "getValue of event_conflict IV, "t" (74). The following CAL command is sent from the VCR to the remote device, (DSS): "05 LL 43 74". The command reads as :=<for time context (05), any program timer event object (LL)> <getValue (43) event_conflict IV "t" (74)> The DSS returns a completed token "FE" plus the event_conflict IV value. Example: For Timer Context (05h) Program Even Timer objects (03h)-(0Ah), assume object (02h) and (0Ah) in the remote device, DSS, are in conflict with object (04). The VCR sends the CAL Command: "00 04 43 74". The DSS returns the completed token, "FE", and the numeric values for objects 02 and 0A: "FE 30 32 31 30". The Command is sent with the protocol services:
There is one required step to delete a program timer event in the DSS from the DVHS-VCR. The VCR sends an Explicit_Invoke message, dependent upon the event_data instant variable value, to all DSS Time Context (05) Memory Data class objects (16). If the event_data instant variable matches the incoming event then clear_event is set to 00h. The receiving object, DSS, then resets the clear_event=01h. The following CAL command is sent from the VCR to the DSS: The command reads as :=<for time context (05), any (00) Data Memory class object (16) > <if (56) <current status "e" (65) equals (E8) <DATA Token (F4)> <number of bytes (31 32)> <Escape Token (F6)><DnnnLnTnRIAM><Begin (F7)> <setOff (41) "c" (63)><END (F8)> The receiving node will return a completed token (FE) for the objects containing the appropriate event_data IV valuet and all the program timer event object instant variables are cleared. The DSS program timer event object Instant Variables are set to their default values. If the receiving node returns a false evaluation token (FC) the VCR assumes that the event was already deleted or is not found The VCR generates an OSD message indicating that the event was not found in the box that responded to the message. Example: For Timer Context (05h) Program Even Timer objects (03h)-(0Ah), assume object (04h) is the object holding the appointment. The response from the DSS is: The Command is sent with the protocol services:
Known error states developed from an attempt to set up a program timer event from the VCR will now be described. Error State: VCR Program Event Object Unavailable If all the VCR program events are in use the VCR does not add the new event and does not attempt to add the event to remotely located device. Action: The VCR generates an OSD indicating the VCR program scheduler is full. The program timer event is not added to either the DSS or VCR program timer event list. User Action: The user must delete a VCR event before proceeding. Error State: DSS Program Event Object Unavailable If all the DSS program events are in use, the DSS returns false evaluation for all eight program timer event objects. Action: The VCR generates an OSD indicating the DSS program scheduler is full. The added event is deleted from the VCR event list. User Action: The user may delete a DSS event scheduled on the VCR or change to the DSS User Interface and delete a program. Error State: Password not verified When the VCR attempts to schedule a program and the program requires a master password, the DSS returns an unauthenticated message error. Action: VCR generates an OSD indicating that the program selection requires the DSS Master password. The VCR uses the provided password to generate the encryption keys. The VCR then sends the data and encryption keys to the the appropriate program timer event object in o the DSS. Error State: Program Event Schedule Conflicts When the VCR schedules a program in the DSS and there is a conflict in either the VCR or DSS, the program event is placed in both the VCR and DSS. The DSS returns event object number(s) to indicate that there is a schedule conflict. The VCR generates an OSD indicating what programs are in conflict. Action: DSS reports that there is a schedule conflict and the event numbers with the conflict. The VCR must display the conflicting events and indicate the location of the events. User Action :The VCR User Interface allows the user to either ignore the event conflict or delete the newly scheduled DSS event. The DSS and VCR interaction necessary to schedule and carry out a pre- scheduled Program Timer Event from a remote (DSS) User Interface is described next. A VCR Program Timer Event may be initiated, deleted or modified remotely. The program timer recording event requires three separate functions: (1) Resource verification; (2) Copy Protection Validation: (3) Error or conflict resolution; and (4) the record event. The DSS request information to determine VCR availability to make a recording. The Copy Protection Validation requires the remote device and VCR to determine when a program can be legally copied. The error and conflict resolution functions involves the detection of a schedule conflict, inappropriate VCRsetup and no response, The record macro function involves setup of the VCR input, to either analog or DAV inputs, instructing the VCR to begin recording, verifying the VCR is in the record mode, and tuning the DSS to the appropriate channel, (making a purchase if necessary). The DSS will request resource verification from the VCR to determine VCR availability and Tape Type. The DSS will also switch the A/V switch to DSS Video. The error and conflict resolution function involves the detection of a Tape Type miss-match, VCR in use, or VCR not on the bus (no response), The record event function involves setup of the VCR input, to either analog or DAV inputs, instructing the VCR to begin recording, and verifying the VCR is in the record mode. The steps required to setup, i.e., add, a program event with the DVHS-VCR from the DSS are described below. STEP 1: The DSS verifies it has an available Program Event Object. If there are no available program event objects, the DSS generates an OSD message indicating the DSS program event scheduler is full. Once an appointment is accepted, the DSS extracts the copy right level information from the user guide and places it in its program timer event object copy_protection p (70) instant variable. Initially the copy_protection IV is set to UNKNOWN. The DSS then determines if it legal to copy the program material and generates appropriate OSD screens in the event the program may not be copied. Once the DSS record methods and program material are in agreement it proceeds to make an appointment with the VCR. The remote device DSS, sends an Explicit_Invoke message to all Data Memory class objects (16) in the VCR Time Context (05) requesting "If current_status=not programmed then getValue timer_object_id "m" (6D). The DSS returns a completed token "FE" plus the timer_object_id IV value "m" for those program event objects not in use ("C"=0). All other Program Timer Event Objects return FC. The remote device, DSS, uses the first available program event timer object. The following CAL command is sent from a requesting node, the DSS, to the VCR: "05 00 16 56 43 E8 30 F7 43 6D F8" The command reads as :=<for time context (05), any (00) Memory Data class object (16)> <if (56) <current status "C" (43) equals (56) zero (30)> <Begin (F7)> <getValue (43) timer_object_id "m" (6D)> <END (F8)> The VCR node will return a completed token (FE) and the timer_object_id IV value for all those Data Memory class objects with a current status=0 and a false evaluation token (FC) for all Data Memory class objects with current status < >0. Example: For Timer Context (05h) Program Even Timer objects (03h)-(0Ah), assume object (04h) and (07h) are not in use. The response from the VCR is: If there are no time slots available the DSS returns The Command is sent with the protocol services:
If there are no time slots available the DSS will display appropriate OSD to indicate either the VCR, DSS or both do not have additional program event timers available. STEP 2: Setting Program Timer Event The remote device, DSS, sends event_data, instant variable "e", to the Program timer Event object with the received timer_object_id, IV value, LL The symbol LL is the received program timer object timer_object_id value. It is a hex variable. The remote device, DSS, sends an Explicit_Invoke message to the Program Timer Event object (LL) in the VCR Time Context (05): where "DnnnLnTnRIAM" are the data bytes. The LL field is the hex value of the available VCR program timer event object timer_object_id IV returned by the VCR in STEP 1. The command reads as :=<for time context (05), Program Timer Event object (LL)><setArray (46) <event_data IV (65) <delimiter (F5)(offset=0)> <delimiter (F5)> <DATA Token (F4)> <number of bytes=12 (31 32)> <Escape Token (F6)>DnnLnTnRIAM> The VCR returns the completed token, "FE". The complete token indicates the setArray Method was executed on the event_data IV. The Command is sent with the protocol services:
Error Condition: Event_Data setArray not completed. The VCR returns the Error Token FD and appropriate error/return code. The VCR attempts to locate a new available object. Error Condition: Pre-condition not satisfied. The VCR returns FD 31 38. This indicates that the event_data was not updated because a pre-condition was not satisfied (the object was already programmed.) The remote device, DSS, must locate a new available program timer event object. If there are no available program timer event objects, the remote device, DSS, generates and OSD message. STEP 3: Copyright Authorization Once an appointment is accepted, the remote device, DSS, sends the copy right level information to the program timer event object copy_protection p (70) instant variable. Initially, the VCR's copy_protection IV is set to UNKNOWN. The VCR must obtain the copy right information from the remote device, DSS, before it begins recording. The remote device, DSS, sends an Explicit Invoke message to the DSS Time Context (05), ProgramTimer Event Object (LL) "setValue of copy_protection IV, "p" (70). The VCR returns a completed token "FE" plus the copy_protection IV value. The following CAL command is sent from the VCR to the DSS: The command reads as :=<for time context (05), any program timer event object (LL)> <setValue (45)> <copy_protection IV "p" (70)> <delimiter (F5)> <numeric>. The VCR, returns the completed token, "FE". The complete token indicates the setValue Method was executed on the event_data IV. The VCR must verify that it can record the program and that the recording means, digital or analog, is in compliance with the copy_protect IV value. The copy_protect IV values are as follows: The Command is sent with the protocol services:
Error Condition: Copy_Protection IV set to UNKNOWN. This condition indicates that the copy right limitations are unknown due to a flaw in the, remote device, DSS, program guide or the program is scheduled beyond the limits of the program guide. The remote device, DSS, will update the VCR's program timer copy_protection IV when it is changed to a known state. The VCR may not keep the appointment when the copy_protection IV is set to UNKNOWN at the time of the appointment. The VCR must warn the user that the copy right level is UNKNOWN and that the recording may not take place. Error Condition: Copy_Protection IV not consistant with requested recording mode. This occurs when the requested recording mode does not comply withe the copy_protection IV level. The remote device, DSS, generates an OSD to indicate the requested record level is not allowed and indicates alternative method. When digital recordings are not pemitted but analog recordings are permitted, the remote device, DSS, prompts the user to the analog option. If the user does not choose the analog option the program timer event object is reset and the appointment is erased in the VCR by the remote device, DSS. STEP 4: Program Event Schedule Conflicts The remote device, DSS, checks for schedule conflicts between events in both the remote device and VCR. It also verifies that the conflicts are unique. The remote device, DSS, sends an Explicit_Invoke message to the VCR Time Context (05), Program Timer Event Object (LL), "getValue of event_copy IV, "t" (74). The following CAL command is sent from the remote device, DSS, to the VCR: The command reads as :=<for time context (05), any program timer event object (LL)> <getValue (43) event_conflict IV "t" (74)> The VCR returns a completed token "FE" plus the event_conflict IV value. Example: For Timer Context (05h) Program Even Timer objects (03h)-(0Ah), assume object (02h) and (0Ah) in the remote device, DSS, are in conflict with object (04). The remote device, DSS, sends the CAL Command: "00 04 43 74" The VCR returns the completed token, "FE", and the numeric values for objects 02 and 0A: "FE 30 32 31 30" The Command is sent with the protocol services:
The following single step is used to delete a program timer event in the VCR from the DSS. STEP 1: Conditional Deletion The DSS sends an Explicit_Invoke message, dependent upon the event_data instant variable value, to all VCR Time Context (05)) Memory Data class objects (16). If the event_data instant variable matches the incoming event then clear_event is set to 00h and all event related data is cleared from the object. After the object's event related data is cleared, the receiving object, VCR, resets the clear_event=01h (Boolean True). The following CAL command is sent from the remote device, DSS, to the VCR: where "DnnnLnTnRIAM" are the data bytes. The command reads as :=<for time context (05), any (00) Memory Data class object (16)> <if (56) <current status "e" (65) equals (56) <DATA Token (F4)> <number of bytes (31 32)> <Escape Token (F6)> <DnnnLnTnRIAM> <Begin (F7)> <setOff (41) "c" (63)><END (F8)> The VCR node will return a completed token (FE) if the condition is met and the data is placed into the event_data instant variable. Otherwise the receiving node returns a false evaluation token (FC). The VCR returns a completed token (FE) for the object containing the event_data IV value and all the program timer event object instant variables are cleared. The DSS program timer event object Instant Variables are set to their default values. If the VCR returns a false evaluation token (FC) the remote device, DSS, assumes that the event was already deleted or is not found The DSS generates an OSD message indicating that the event was not found in the box that responded to the message. Example: For Timer Context (05h) Program Even Timer objects (03h)-(0Ah), assume object (04h) is the object holding the appointment. The response from the VCR is: The Command is sent with the protocol services:
The following three steps are required to modify a program timer event in the VCR from the DSS. STEP 1: The remote device, DSS, sends an Explicit_Invoke message, dependent upon the event_data instant variable value, to all VCR Time Context (05) Data Memory class objects (16). If the event_data instant variable matches the incoming event the VCR returns the Completed result "FE" and its timer_object id_IV, "m", value. All other objects return the False Evaluation result "FC". The following CAL command is sent from the DSS to the VCR: where "DnnnLnTnRIAM" is the event_data instant variable data. The command reads as :=<for time context (05), any (00) Data Memory class object (16)> <f (56) <current status "e" (65) equals (56)<DATA Token (F4)> <number of bytes (31 32)> <Escape Token (F6)><DnnnLnTnRLAM><Begin (F7)> <)> <getValue (43) timer_object_id "m" (6D)> <END (F8)> The program timer object containing the supplied event_data Iv value returns a completed token indicating the condition is met, "FE", and a second completion token, "FE", and the timer_object_id IV value. Those program_timer_objects not evaluation as TRUE return the false evaluation token, "FC". Example: If the VCR Time Context (05) Program Timer Event objects are (03h)-(0Ah) and the object corresponding event to be modified is in object (08h) the VCR returns The Command is sent with the protocol services:
STEP 2: Modifing event_data IV Information The DSS sends Explicit_Invoke message to modify the event_data instant variable. The following CAL command is sent from the DSS to the VCR: where "DnnnLnTnRIAM" is the event_data information. The command reads as :=<for time context (05), program event timer object (LL)> <setArray (46) <delimiter>(offset=0)<delimiter><DATA Token (F4)> <number of bytes=12 (31 32)> <Escape Token (F6)> DnnnLnTnRIAM> The VCR returns a completed token (FE) when the data is placed into the event_data instant variable. Otherwise, the receiving node returns an Error Token, "FD", with the appropriate error/return message. The Command is sent with the protocol services:
STEP 3: Copy Right Authorization Once an appointment is accepted, the remote device, DSS, sends the copy right level information to the program timer event object copy_protection p (70) instant variable. The VCR's copy_protection IV must be updated by the remote device, DSS, before it begins recording. The remote device, DSS, sends an Explicit_Invoke message to the DSS Time Context (05), ProgramTimer Event Object (LL) "setValue of copy_protection IV, "p" (70). The VCR returns a completed token "FE" plus the copy_protection IV value. The following CAL command is sent from the VCR to the DSS: The command reads as :=<for time context (05), any program timer event object (LL)> <setValue (45)> <copy_protection IV "p" (70)> <delimiter (F5)> <numeric>. The VCR, returns the completed token, "FE". The complete token indicates the setValue Method was executed on the event_data IV. The VCR must verify that it can record the program and that the recording method, digital or analog, is in compliance with the copy_protect IV value. The copy_protect IV values are as follows: The Command is sent with the protocol services:
Error Condition: Copy_Protection IV set to UNKNOWN. This condition indicates that the copy right limitations are unknown due to a flaw in the, remote device, DSS, program guide or the program is scheduled beyond the limits of the program guide. The remote device, DSS, will update the VCR's program timer copy_protection IV when it is changed to a known state. The VCR may not keep the appointment when the copy_protection IV is set to UNKNOWN at the time of the appointment. The VCR must warn the user that the copy right level is UNKNOWN and that the recording may not take place. Error Condition: Copy_Protection IV not consistant with requested recording mode. This occurs when the requested recording mode does not comply withe the copy_protection IV level. The remote device, DSS, generates an OSD to indicate the requested record level is not allowed and indicates alternative method. When digital recordings are not pemitted but analog recordings are permitted, the remote device, DSS, prompts the user to the analog option. If the user does not choose the analog option the program timer event object is reset and the appointment is erased in the VCR by the remote device, DSS. STEP 4: Program Event Schedule Conflicts The remote device, DSS, checks for schedule conflicts between events in both the remote device and VCR. It also verifies that the conflicts are unique. The remote device, DSS, sends an Explicit_Invoke message to the VCR Time Context (05), Program Timer Event Object (LL), "getValue of event_conflict IV, "t" (74). The following CAL command is sent from the remote device, DSS, to the VCR: The command reads as :=<for time context (05), any program timer event object (LL)> <getValue (43) event_conflict IV "t" (74)> The VCR returns a completed token "FE" plus the event_conflict IV value. Example: For Timer Context (05h) Program Event Timer objects (03h)-(0Ah), assume objects (05h) and (0Ah) in the remote device, DSS, and VCR objects (03h), (06h),and (07h) are in conflict with new event stored in VCR object (04). Also, the event stored in the VCR program event timer object (06h) has the same remote_ua dn remot_hc as the new event stored in VCR object (04h). The remote device, DSS, sends the CAL Command: "00 04 43 74" The VCR returns the completed token, "FE", and the numeric timer_number IV values for objects 03 and 07: "FE 30 31 30 35" The Command is sent with the protocol services:
The DSS then generates an OSD to indicate that the DSS program event timers 3 and 8 and VCR program timer events 1 and 5 are in conflict. The VCR program event timer 4, stored in object (04h) is not indicated since it is duplicated in the DSS. The next section describes known error states developed from an attempt to set up a program timer event from the DSS. Error State: DSS Program Event Object Unavailable If all the DSS program events are in use the DSS does not add the new event. Action: The DSS generates an OSD indicating the DSS program scheduler is full. The event not added to the VCR event list. User Action: The user must delete a DSS event before proceeding. Error State: VCR Program Event Object Unavailable If all the VCR program events are in use, the VCR does not return the object number of an available program event object. Action: The DSS generates an OSD indicating the VCR program scheduler is full. The added event is deleted from the DSS event list. User Action: The user may delete a DSS event scheduled on the VCR or change to the VCR User Interface and delete a program. Error State: Program Event Schedule Conflicts When the DSS schedules a program in the VCR and there is a conflict in either the VCR or DSS, the program event is placed in both the VCR and DSS. The VCR returns event object number(s) to indicate that there is a schedule conflict. The DSS generates an OSD indicating what programs are in conflict. Action: VCR Reports that there is a schedule conflict and the event numbers with the conflict User Action :The VCR User Interface allows the user to either ignore the event conflict or delete the newly scheduled DSS event. Error State: Program Event Schedule Conflicts When the VCR schedules a program in the DSS and there is a conflict in either the VCR or DSS, the program event is placed in both the VCR and DSS. The DSS returns event object number(s) to indicate that there is a schedule conflict. The VCR generates an OSD indicating what programs are in conflict. Action: DSS reports that there is a schedule conflict and the event numbers with the conflict. The VCR must display the conflicting events and indicate the location of the events. User Action :The VCR User Interface allows the user to either ignore the event conflict or delete the newly scheduled DSS event. The interaction between the DSS and VCR to execute a programmed timer event is described next. For a DSS digital record timer event, the DSS requests information to determine VCR availability to make a recording. The error and conflict resolution function involves the detection of a schedule conflict, VCR and DSS operational states, and tape availability. The record macro function involves setup of the VCR input, to either analog or DAV inputs, instructing the VCR to begin recording, verifying the VCR is in the record mode, and tuning the DSS to the appropriate channel, (making a purchase if necessary). The DSS request VCR availability and Tape Type. The DSS will switch the A/V switch to DSS Video and prepare the VCR to receive a digital bit stream. The error handling checks for Tape Type miss-match, VCR in use, or VCR not on the bus (no response) errors. The VCR and DSS availability's to keep the event appointment is verified during a time period before the event time. This allows user intervention to deal with VCR and DSS state conflicts. During the typical programmed event both the VCR and DSS are turned OFF. Several minutes before a DSS appointment, the DSS will send Command 1. The steps for the DSS to initiate a program event with the DVHS-VCR are as follows. STEP 1 Command: VCR availability determination The DSS determines the VCR availability before the appointment. The DSS sends an Explicit_Invoke getValue method to the VCR Universal context (00h) Node Control Object (01h) power instance variable 'w' (77h) and Media Transport context (11h) Transport Mechanism Object (03h) instance variables 'C' (43h) (motion_mode), '1' (6Ch) (medium_load), 'm' (6Dh) (medium),"w (77) (write_protected), Display context (13h) Output Source Switch object (02h) instance variable 'C.'. The Command is sent with the protocol services:
When the VCR is setup correctly it returns the values: This indicates the VCR is in the OFF states), the VCR is in the STOP mode, a tape is loaded, a digital tape is loaded m="31 30 32",the tape is not write protected, and the VCR output video source switch=AVR1 {DSS}. Exception handling in Step 1 is addressed as follows. Tape Not Loaded If the DSS is on, the DSS outputs an OSD indicating a DSS program timer event is about to occur and that no tape is loaded in the VCR. It also request the User to load a Digital Tape. If a tape is not loaded into the VCR the DSS deletes the program timer event from the schedules and places a failure notice in the DSS mailbox. If the VCR is on and the VCR output video switch is not set to AVR1, the VCR displays an OSD indicating that a DSS program timer event is about to occur and that no tape is loaded in the VCR. Analog Tape Loaded If the DSS is on, the DSS outputs an OSD indicating a digital recording mode DSS program timer event is about to occur and that that VCR is loaded with an Analog only tape. The DSS waits for the user to repond and indicate that a digital tape had been loaded or to make an analog recording. There are three possible outcomes:
2) If the user responds to cancel the appointment, the DSS deletes the appointment from both the VCR and DSS program timer events list. 3) If no response is given the DSS assumes that the user desires an analog recording to take place. At the record time the DSS request the type of tape loaded in the VCR and then makes the appropriate recording, (digital or analog). If the VCR is turned on and the VCR output video switch is not set to AVR1, the VCR must initiate the OSD messages to determine if the recording should proceed as an analog recording or be cancelled. There are three possible outcomes:
2) If the user responds to cancel the appointment, the DSS deletes the appointment from both the VCR and DSS program timer events list. 3) If no response is given the VCR assumes that the user desires an analog recording to take place. At the record time the DSS request the type of tape loaded in the VCR and then makes the appropriate recording, (digital or analog). Read Only Tape Loaded If the DSS is on, the DSS outputs an OSD indicating a record timer event is about to occur and that a Read Only Tape is loaded. The user must indicate the recording can be cancelled or kept. If the user indicates the recording appointment should be kept DSS sends a command to cause the VCR to eject the read only tape. If there is no response the DSS cancels the recording appointment. If the VCR is turned on and the VCR output video switch is not set to AVR1, the VCR initiates an OSD messages indicating a record timer event is about to occur and that a Read Only Tape is loaded. The user may indicate the recording can be cancelled or kept. If the user indicates the recording appointment should be kept the tape is ejected. If there is no resonse the VCR cancels the recording appointment. VCR Output Display Source Switch < > AVR1 If the display switch is the only error, the DSS sets the VCR Output Display Source Switch to AVR1 and continues on to Step 2. If other setup errors are present, the VCR is responsible for display of OSD messages indicating conditions: Tape Not Loaded, Analog Tape Loaded, Read Only Tape Loaded, and Tape motion Mode < > STOP. Tape motion_mode exception handling The DSS determines if timer event should override the ongoing VCR state. If tape motion_mode=STOP, the DSS generates an OSD asking if the appointment should be kept. If the user enters NO then the DSS deletes the appointment from both the DSS and VCR. A non-response is defaulted to YES. If the VCR output video switch is not set to AVR1, the VCR must also generate an OSD asking if the appointment should be kept. If the user enters NO then the VCR will detete the appointment from the DSS and VCR. A non-response is defaulted to YES. If tape motion_mode=RECORD, the DSS determines if the VCR is executing a previously scheduled program timer event. If it is executing a previous event timer the DSS will pre-empt the ongoing event at the appropriate time. The DSS sends an Explicit_Invoke message to all Data Memory class objects (16) in the VCR Time Context (05) requesting "getValue of current_status "C" (43)" and getValue of Medium Transport Context (11) Transport Mechanism Object (03) "motion_mode", "C" (43) IV. All the Program Timer Event Objects return FE and the value of their current status. The Medium Transport context returns the completed token, "FE" and the motion mode IV value. The following CAL command is sent from the VCR to the DSS: The command reads as :=<for time context (05), any (00) event timer class object (16)> <getValue (43)<current status "C" (43) End_of_Cmd (F9)> <getValue (43) motion_mode, "C" (43)> Example: For Timer Context (05h) Program Even Timer objects (03h)-(0Ah), assume object (04h) is executing a program timer event. The response from the DSS is: In this case the Command is sent with the protocol services:
If there are no time slots available the DSS returns The VCR displays appropriate OSD to indicate either the VCR, DSS or both do not have additional program event timers available. If the VCR is executing a program timer event then the DSS sets the tape motion_mode=STOP and clears the event from the VCR. The DSS then executes STEP 2. If tape motion_mode=PLAY, the DSS cancels the event and deletes it from the VCR. If tape Motion_mode=Other, the DSS cancels the event and deletes if from the VCR. STEP 2: DSS Hails for DAV Bus Data At the appointment time, the remote device, DSS, re-verifies that the VCR is ready to carry out the appointment. Upon receipt of the return packet the DSS tunes to the appropriate channel, checks the copy protection level, and hails for the DAV Bus. Channel and sets copy protection variables Step 2.a: VCR Ready The remote device, DSS, queries the VCR to determine if it is ready to carry out the appointment. The DSS sends an Explicit_Invoke getValue method to the VCR Universal context (00h) Node Control Object (01h) power instance variable 'w' (77h) and Media Transport context (11h) Transport Mechanism Object (03h) instance variables 'C' (43h) (motion_mode), '1' (6Ch) (medium_load), 'm' (6Dh) (medium), 'w (77) (write_protected), Display context (13h) Output Source Switch object (02h) instance variable 'C'. The Command is sent with the protocol services:
When the VCR is setup correctly it returns the values: This indicates the VCR is in the OFF state, the VCR is in the STOP mode, a tape is loaded, a digital tape is loaded m="31 30 32", the tape is not write protected, and the VCR output video source switch=AVR1 {DSS}. Step 2.b: Copy protection level validation If required, the remote device, DSS, sends the copy_protection IV value to the appropriate program timer. Step 2.c: Hail for the DAV Bus The remote device, DSS, queries the bus to determine if it can take control of the BUS. The VCR gives up control of the bus unless it is in the play mode. At that time the resource is considered locked. The lock is released when the VCR is taken out of the play mode. The DSS gives up control of the bus unless it is suppling a bitstream to a VCR that is in the record mode. In that event, the channel is considered locked. The lock is released when the VCR is taken out of the record mode. Command: The DSS sets the copy protection values in the VCR and hails for the DAV Bus Data Channel. Step 2: Exception Handling: If the DSS cannot successfully gain access to the DAV Bus, the DSS program timer event defaults to an analog recording. STEP 3: DSS Initiates Digital Recording. Command: The DSS sends an Explicit_Invoke setValue method to the VCR Universal context (00h) Node Control Object (01h) instant variable 'w' (77h)=ON (power=ON) and Media Transport context (11h) Source Switch (02) instance variable 'C' (43h)=31h 38 (DAV), Transport Mechanism Object (03h) instance variables 'C' (43h)=01h (motion_mode=record), Display context (13h) Source Switch object (02h) instance variable 'C'=09h (display=AVR1), and sets the VCR DAV Bus receiver to ON. The Command is sent with the protocol services:
The VCR should return: "FE FE FE FE FE" Upon receipt of the VCR return message the DSS tunes to the appropriate channel, turns on its DAV Bus Driver and send it to the VCR. Step 3 Exception Handling: The DSS will complete an analog recording of the program. To perform an analog recording event, the DSS request information to determine VCR availability to make a recording. The error and conflict resolution function involves the detection of a schedule conflict, VCR and DSS operational states, and tape availability. The record macro function involves setup of the VCR input, to either analog or DAV inputs, instructing the VCR to begin recording, verifying the VCR is in the record mode, and tuning the DSS to the appropriate channel, (making a purchase if necessary). The DSS request VCR availability and Tape Type. The DSS will switch the A/V switch to DSS Video and prepare the VCR to receive a digital bit stream. The error handling checks for Tape Type miss-match, VCR in use, or VCR not on the bus (no response) errors. The VCR and DSS availability's to keep the event appointment are verified during the five minute time period before the event time. This allows user intervention to deal with VCR and DSS state conflicts. During the typical programmed event both the VCR and DSS are turned OFF. Five minutes before a DSS appointment the DSS will send Command 1 to verify the appointment. For a digital recording the VCR returns the values: "00 f5 00 f5 01 f5 31 30 31 f5 39" (hex). For an analog recording the VCR can return either: "00 f5 00 f5 01 f5 31 30 31 f5 39" (hex) or "00 f5 00 f5 01 f5 31 30 31 f5 39" (hex). This indicates the instant variables (00h)(01h) w=ON, (11h)(03) C=0.1=, m=101 (analog) or m=102 (digital or analog) and (13h)(02) C=9 (Audio/Video 1) The VCR is required to send the DSS its Universal (00) Context, Node Control (01) Object, instant variable "w" value each time it changes. During the period following the execution of Macro 1 the DSS would check to see if the VCR changed from the OFF to ON state. Upon execution of the programmed timer event the DSS hails for access to the DAV bus. After succeeding in gaining access to the DAV bus the DSS sends Command 2: Recording Initiation Command. If the DAV bus is not available the DSS will attempt to make an analog recording of the desired program. The VCR should return: FE FE FE FE. Upon receipt of the VCR return message the DSS will tune to the appropriate message and send it over the DAV Bus. Messages sent by DSS to initiate programmed recording are as follows. Command 1: DSS Appointment Verification. The following CAL command is sent from the DSS to the VCR: An Explicit_Invoke getValue method to the VCR Universal context (00h) Node Control Object (01h) power instance variable 'w' (77h) and Media Transport context (11h) Transport Mechanism Object (03h) instance variables 'C' (43h) (motion_mode), '1' (6Ch) (medium_load), 'm' (6Dh) (medium), Display context (13h) Source Switch object (02h) instance variable 'C.'. The Command is sent with the protocol services:
Command 2: Digital Recording Initiation The following CAL command is sent from the DSS to the VCR: An Explicit_Invoke setValue method to the VCR Universal context (00h) Node Control Object (01h) instant variable 'w' (77h)=ON (power=ON) and Media Transport context (11h) Source Switch (02) instance variable 'C' (43h)="31h 38h" (DAV), Transport Mechanism Object (03h) instance variables 'C' (43h)=01h (motion_mode=record), Display context (13h) Source Switch object (02h) instance variable 'C.'=09h (display=AV1). The Command is sent with the protocol services:
Command 3: Analog Recording Initiation Command. The following CAL command is sent from the DSS to the VCR: An Explicit_Invoke setValue method to the VCR Universal context (Ooh) Node Control Object (01h) instant variable 'w' (77h)=ON (power=ON) and Media Transport context (11h) Source Switch (02) instance variable 'C' (43h)="09h" (AVR1), Transport Mechanism Object (03h) instance variables 'C' (43h)=01h (motion_mode=record), Display context (13h) Source Switch object (02h) instance variable 'C'=09h (display=AV1). The Command is sent with the protocol services:
Program timer event execution error states, i.e, error states that may occur during a DSS recording are described next Error State: DAV Unavailable for Recording If the DSS box hails for access to the DAV bus and it is not available, the DSS will initiate an analog recording. In this case the DSS sends Command 3, Analog Recording Initiation Command, to the VCR. Error State: VCR turned on but not recording When the VCR is turned on but not recording and is displaying the VCR video five minutes before a timer event, the VCR generates an OSD indicating a timer event is about to occur and the video source (DSS). If the line input is switched to the DSS the DSS will display an OSD indicating that there is a pending timer event an allow the user to forgo the recording. In the event of no User action the timer event will occur. Action (1): Five Minutes before a DSS event, the DSS request the VCR On/OFF status and Output Video Switch state. Action (2): If the VCR video switch state indicates VCR video is displayed, the VCR will request the DSS ON/OFF status five minutes before a timer event. Action (3): If the VCR or DSS change from the OFF to ON states during the period five minutes before a recording event, the DSS and VCR repeat steps (1) and/or (2) to determining if they keep the event appointment. User Action: The User may forgo the recording by responding to the OSD. If the User does not respond then the recording will be allowed to occur. Error State: VCR in on and recording When the VCR is turned on and recording and a timer event occurs: Action (1): Action (2): If it is a VCR timer event, the VCR keeps the appointment. Action (3): If the record state is not due to a program timer event, the VCR does not keep the appointment. Error State: No Tape Loaded When the timer event appointment is made, if there is no tape is loaded the VCR generates a status message back to the scheduler and indicates no tape is loaded and the appropriate tape type. The DSS generates an OSD indicating no tape is loaded in the VCR and indicating appropriate tape type for the requested recording. Error State: Read Only Tape Loaded When the timer event appointment is made, if a Read Only Tape is loaded in the VCR, the VCR generates a status message back to the scheduler indicating that the tape is a read only tape. The DSS generates an OSD indicating that the tape is a read only. Error State: Record Mode Tape Type Miss Match When a digital recording is requested and a VHS tape is loaded in the VCR the DSS and VCR will make an analog recording. For an immediate digital record event with DSS source, two immediate digital record modes are available. In automatic mode the VCR record button is linked to a default bit stream generator. When the VCR Record function is initiated and there is no bit stream present the VCR initiates a record secession with the default device. The default device can be any bit stream generating device and is set up in the VCR User Interface. In dubbing mode the VCR may also make a recording of a bit stream already present on the DAV bus. This allows for dubbing between DVHS-VCRs and reception of other bit streams. There are two display possibilities. First, if there is a DSS present in the system, the DSS may be instructed to decode and display the DAV bit stream through the VCR's AVR1 even thought it is not the originator of the bit stream. This allows two VCR's to be hooked up to a single DSS and have the digital playback video to be routed through one VCR AV switch. For automatic recording when the VCR record mode is set to digital, a digital tape is loaded, and there is no digital bit stream present on the bus, the VCR initiates a digital recording upon receipt of a an IR or Front Panel Record command. For DAV bit stream source recording, the VCR initiates a digital recording with the default recording device. The VCR instruct the default device to inherit the DAV bus and begin sending its digital bit stream. The VCR also ask the source device to supply relevant copy protect information. Step 1: The VCR sends an Explicit_Invoke message to cause the Default device, DSS, to inherit the DAV data bus if the copy protection allows for recording. The return value is used to indicate if the DAV bus was locked or the program was copy protected. The command reads as :=<for DAV transceiver context (04), driver object (02)><if (56) <copy protect variables> (43) equals (E8) (value)> <Begin (F7)> <inherit (54)> F5(delimiter)<data channel ( )><F5 (delimiter)><F4 31 F6 26> exit (52) (return value)<else getValue( )><(copy protect variables)<END (F8)> Step 2: The default device, DSS, checks the copy protect mode of the video bit stream and determines if it is permissible to make a copy. If digital copies are permitted then the default device hails for the DAV bus. Otherwise the command is rejected. The source device must keep track of the number of receivers making digital copies and protect the bit stream from illegal copies. If the copy protection information changes the source device must determine if the bit stream can be copied and act to prevent illegal copies. Step 3: The default device, DSS, turns no the DVHS-VCR DAV Bus receiver and instructs the VCR to go into the record mode. Step 4: The VCR checks the copy protect mode of the video bit stream to verify that it is legal to make a digital copy. Every five minutes the VCR request copy protect information to insure it is making legal copies. For setup of default bit stream source device, during initial setup, the VCR hails the bus to determine what devices may act as bit stream sources on the DAV medium. Initially, the VCR uses the first DAV bit stream source device it locates as the default. The list of DAV bit stream source devices is used in the program timer event guide. The VCR User Interface is used to determine which product is the default. The VCR User Interface may update this list by forcing the VCR to re-acquire the DAV bit stream device information. During the re-acquire process the default is not changed unless the default device is not found. If the old default device is not found the first DAV bit stream source device detected becomes the default. For dubbing (recording when bit stream is already present), the VCR will initiate a dubbing digital recording upon receipt of a IR Record command if the VCR is in the digital record mode, a digital bit stream is already present on the DAV bus, and a digital tape is loaded. Before recording, the VCR broadcasts to see what is the source device on the DAV Bus and request copy protect information. Every five minutes the VCR request an update of the copy protect information. The source device must keep track of the number of copies being recorded and protect the bit stream from illegal copies. If it is legal to copy the bit stream the source device instructs the VCR to turn on its DAV receiver and to go into the record mode. Otherwise it instructs the requesting VCR to turn off its DAV receiver and stop recording. The error or exception handling states are as follows Error State: No Tape Loaded When a VCR Digital Record command is received and the VCR does not have a tape loaded the DSS displays an OSD indicating that no tape is loaded. The VCR is responsible for display of the no tape message when an analog recording is requested. ACTION: VCR reports no tape loaded to the DSS Error State: Read Only Tape Loaded When a record command is received and Read Only Tape is loaded the command is rejected and the DSS generates an OSD indicating that the tape is a read only. ACTION: VCR reports read only tape loaded to the DSS Record Mode Tape Type Miss Match When a VHS tape is loaded and the VCR default recording mode is set to digital and a record command is initiated the VCR will inform the DSS that it is in the record mode, that a analog tape is loaded and that the record mode is digital. The DSS will then display an OSD indicating a tape type mismatch and ask if the user wants to proceed with an analog recording. If the user declines then the DSS displays a message indicating what tape format must be loaded into the VCR. Else, the DSS sends the VCR a record command and sets the record method to analog. ACTION: VCR reports the tape type and default record mode to the DSS. The DSS displays appropriate OSD and upon users command initiates an analog recording. For an immediate analog record event with DAV bus attached, the VCR will initiate an analog recording upon receipt of a IR Record command. For CEBus automatic recording, when the VCR record mode is set to analog and a tape is loaded, the VCR initiates an analog recording upon receipt of an IR or Front Panel Record command. For DSS source recording, the VCR initiates an analog recording with the default recording device. The VCR instruct the default device to inherit the DAV bus and begin sending its digital bit stream. The VCR also ask the source device to supply relevant copy protect information. Step 1: The VCR sends an Explicit_Invoke message to cause the Default device, DSS, to inherit the DAV data bus if the copy protection allows for recording. The return value is used to indicate if the DAV bus was locked or the program was copy protected. If (56) <copy protect variables> <equal> <value> < > The command reads as :=<for DAV transceiver context (04), driver object (02)><if (56) <copy protect variables> (43) equals (E8) (value)> <Begin (F7)> <inherit (54)> F5(delimiter)<data channel ( )><F5 (delimiter)><F4 31 F6 26> exit (52) (return value)<else getValue( )> <(copy protect variables)<END (F8)> Step 2: The default device, DSS, checks the copy protect mode of the video bit stream and determines if it is permissible to make a copy. If digital copies are permitted then the default device hails for the DAV bus. Otherwise the command is rejected. The source device must keep track of the number of receivers making digital copies and protect the bit stream from illegal copies. If the copy protection information changes the source device must determine if the bit stream can be copied and act to prevent illegal copies. Step 3: The default device, DSS, turns no the DVHS-VCR DAV Bus receiver and instructs the VCR to go into the record mode. Step 4: The VCR checks the copy protect mode of the video bit stream to verify that it is legal to make a digital copy. Every five minutes the VCR request copy protect information to insure it is making legal copies. For setup of default bit stream source device, during initial setup, the VCR hails the bus to determine what devices may act as bit stream sources on the DAV medium. Initially, the VCR uses the first DAV bit stream source device it locates as the default. The list of DAV bit stream source devices is used in the program timer event guide. The VCR User Interface is used to determine which product is the default. The VCR User Interface may update this list by forcing the VCR to re-acquire the DAV bit stream device information. During the re-acquire process the default is not changed unless the default device is not found. If the old default device is not found the first DAV bit stream source device detected becomes the default. For dubbing (recording when bit stream is already present), the VCR will initiate a dubbing analog recording upon receipt of a IR Record command if the VCR is in the analog record mode and a tape is loaded. The source device must keep track of the number of copies being recorded and protect the bit stream from illegal copies. If it is legal to copy the bit stream the source device instructs the VCR to turn on its DAV receiver and to go into the record mode. Otherwise it instructs the requesting VCR to turn off its DAV receiver and stop recording. Error or exception handling states are as follows. Error State: Copy Protected Bit stream Error State: No Tape Loaded When a VCR Digital Record command is received and the VCR does not have a tape loaded the DSS displays an OSD indicating that no tape is loaded. The VCR is responsible for display of the no tape message when an analog recording is requested. ACTION: VCR reports no tape loaded to the DSS Error State: Read Only Tape Loaded When a record command is received and Read Only Tape is loaded the command is rejected and the DSS generates an OSD indicating that the tape is a read only. ACTION: VCR reports read only tape loaded to the DSS For an immediate playback request, the VCR will initiate a play back of a digital tape upon receipt of a Play command when the DVHS-VCR is loaded with a digital tape. After receipt of the play command, the VCR will verify that a digital tape is loaded and switch the DSS digital port to receive the VCR input. If the DSS is off the VCR turns it to the ON state. ACTION: VCR turns the DSS to the ON state and sets the digital input port to receive data. Error State: DSS is in a Previous Scheduled Record Mode If the DSS is in use to make a recording the DSS returns an error message. ACTION: DSS returns an error message that it is unable to comply with the VCR action. Next, general clock update rules, i.e., specific operational rules governing the clock and time update functions of the DSS-DVHS interface, will be described. Initialization Clock Setup Upon power up and bus initialization, the VCR locats best time source and request the time and date instant variables. The VCR makes an BROADCAST explicit invoke Unacknowledged Service: If Time Context (05) Real Time Object (02) time_source device_class=DBS then getArray current time "C". The return result will be FC from non-DBS sources. Any clock with a DSS derived clock source returns: FE<Data element> If there are no returns then the VCR attempts to locate an alternative CEBus clock source by BROADCASTING an Explicit Invoke Unacknowledged Service: Time Context (05) Clock class Object (1D) If time_source < >0 then getValue current_time: ACTION: VCR request return of unit address of DSS products on the CEBus and for the DSS time context clock object instance variables current_time, current date string and day. For automatic time and date setup, the VCR will update the time context clock object (02 Real Time) instance variables "C" (current_time), "e" (current date string) and "d" (day) upon determination that a power line failure has occurred. The VCR will also update the time context clock object (02 Real Time) instance variables "C" (current_time), "e" (current date string) and "d" (day) upon successful scheduling of a programmed timer event and receipt of each Power ON command from either the IR, front panel or CEBus control channel. For user initiated time and date update, upon request of the user from the VCR setup menu, the VCR will request the DSS to return the value for all supported time context clock object 2 (Real Time) instance variables. Also, the user can point to a specific CEBus clock element that he wants to control the VCR clock Next, bus initialization upon power up is described. More specifically, the CEBus initialization process to provide plug and play capabilities is described. Allocation of addresses is a significant function of CAL. The Node Control Object of the Universal Context is responsible for management of the three types of addresses in the CEBus network, MAC Addresses, System Addresses or house codes, and Group addresses. The DSS3 determines its MAC address and house code either statically or dynamically. In a dynamic device the house code is determined by asking other devices within the home for their system address, and the MAC address is determined by selecting an address not currently used in that house. In a static device, the addresses are not determined by interaction with the home network, but by some other means, such as user determined or factory preset. This section involves static house code and address setup and describes the default House Code and Address acquisition used to insure plug and play between the VHS and other CEBus units. The VCR must be able to broadcast messages to all of the devices on the DAV media (Simplified Digital A/V connector). This is accomplished by using a MAC address of 0000 along with the house code address of the system. All devices must be able to respond to the broadcast MAC address 0000. All un-configured devices must acquire a MAC address. Once acquired, an address must not be lost during a power interruption. The default (factory set) house code is set to the zone address 0001. This address is stored in the EPROM memory and must be maintained during a power interruption. For default address generation, upon initial power up, the VCR is unconfigured. The VCR must acquire a Unit address by hailing and inform other devices of its existence. Once acquired, this address is stored in EPROM memory. The address must be maintained during a power interruption. The Unit address is acquired using the hailing method. User entered house code and address generation is also possible. The User may enter the Desired House Code from the Setup Menu. Upon setting the House code the device can either Hail for a Unit Address or be assigned an address. If it is assigned an address it then must using hailing to insure it is a unique address. The user may also initiate a reset to a factory preset house code and initiate address generation. That is, the User may force the VCR to reset the House Code to 0001h and re-acquire a new Unit Address. Dynamic setup conditions involve the VCR being able to acquire a house zone (also referred to as a house code) address and a unique Unit address. The VCR must act as a settable Node when acquiring a House Code. To acquire a house code, the User places the VCR into a Settable Node state from the setup menu. While in this state the VCR hails for a temporary Unit Address and then request the Configuration Master to send its House Code. If no house code is obtained the user in informed that the Configuration Master has not sent the house code and instructed to re-initiate the Configuration process. Generating a unit address occurs once the VCR has obtained a valid House Code. It uses the hailing process to obtain a unique Unit Address. In response to a time update request from other nodes, the VCR will return its clock value, located in the Time Context (05) Real time Object (02) current timer instant variable, to a device upon request. The Current_time instant variable contains the present local time in the VCR Real time Object. The data is a 13 byte numeric: yy_mm_dd_hh_mm_ss_w (year, month, day, hour, minute, second, day of week). Stimulus methods for initiating a time update are as follows. All other methods are ignored and an Error Message is returned. The next section describes aspects of DVHS-VCR initiated playback and recordings. First, playback setup, i.e., means of linking the VCR Play function to a digital bit stream decoder or recording device, is described. To provide a default playback device, the default (factory set) is set to the zone address 0001. This address is stored in the EPROM memory and must be maintained during a power interruption. Upon initial power up, the VCR is unconfigured. The VCR must perform default playback device validation, i.e., verify that the default device playback device is capable of decoding the DAV bus digitial bitstream. The VCR broadcasts for all DAV bus capable devices. Alternatively, the User may enter the Desired playback target device. Also, the User may force the VCR to reset the playback device target to the factory default. Dynamic setup involves the following. The VCR must be able to acquire a Playback Device, determine what devices are DAV capable, acquire DAV Capable address and capabilities information, determine best display device, and determine best Dubbing device. Next, record setup is described, that is, the means of linking the VCR Record function to a digital bit stream provider device. The default (factory set) is set to the zone address 0001. The default device is a DSS unit with an address of XXXX. This address is stored in the VCR ROM as the default value and uploaded into EPROM memory upon initial power up and when the machine is reset. Default record device validation is needed. Upon initial power up, the VCR is unconfigured. The VCR must verify that the default decoder device is present and capable of decoding the DAV bus digitial bitstream. The VCR broadcast for all DAV bus capable devices. User setup of the playback device is accomplished by the User may entering the desired record target device. The User may force the VCR to reset the record device target to the factory defaults. As part of dynamic setup, the VCR must be able to acquire a Record Device, determine what devices are DAV capable, acquire DAV Capable address and capabilities information, and determine appropriate bitstream source devic. RF Switch Control is described next with DSS recording being addressed first. In particular, the means of linking the VCR and DSS RF switch functions for displaying a DSS program is described. To provide a default recording device, the default (factory set) is set to the zone address 0001. The default device is a DSS unit with an address of XXXX. This address is stored in the VCR ROM as the default value and uploaded into EPROM memory upon initial power up and when the machine is reset. Next, the means of linking the VCR Record function to a digital bit stream provider device is described as part of DSS playback. The default (factory set) is set to the zone address 0001. The default device is a DSS unit with an address of XXXX. This address is stored in the VCR ROM as the default value and uploaded into EPROM memory upon initial power up and when the machine is reset. VCR display switch control is described next. First, the means of linking the VCR analog record and OSD functions to the DSS are described as part of the OSD display for analog recording via the VCR. For default OSD Generation for digital recording, the default (factory set) is set to the zone address 0001. The default device is a DSS unit with an address of XXXX. This address is stored in the VCR ROM as the default value and uploaded into EPROM memory upon initial power up and when the machine is reset. Another aspect of the system that will now be described is resource hailing. Hailing is a scheme through which a device gains access to network resources, such as data channels or even its own MAC address. Using this scheme, a device queries other devices on the network to determine if a particular resource is in use. The general case of resource hailing uses the if method to determine if one or more other nodes on the network are using a particular resource. The if method tests if an IV in one or more other nodes contains the desired resource. If so, the other node(s) return a result with a result code of 8 (Resource in use). A typical example is the hailing required to acquire a data channel. To acquire the DAV data channel, a node will query the network to see if the DAV bus is in use. To hail for DAV, the following CAL command is used:
In the Data Channel Context (04) the DAV transmitter Object (2F) if ('C' EQ 1) BEGIN exit 8 END This command is sent to the Data Channel Context (04), Data Channel Transmitter object class (2F), using the local House Code, and broadcast Unit Address (0000). The command should be sent with the following protocol services: MT Service Level NL Service Level DLL Service Level If one of the receiving nodes is currently using the DAV bus, the exit method will be executed and will generate a completed response with the argument 8, indicating to the originating device that the selected band is unavailable. The response message (FE 38) is generated with an MT_RESULT request primitive from CAL to the Message Transfer Element. Resource hailing requests such as this, sent to the broadcast address, should be repeated if a response is not received within 1 seconds (the worst cas | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
