Availability:
     Level 2    , 'K'
     Level 4    , 'K'

  Quick Help:
     Set Tracking Offset, K[OffsetValue],[PersOrTempOpt],[UnitsOpt],[ChanReload]

  Description:
    This command applies an offset to the servo system and then performs a seek to the
    specified offset for the current track and head.  The type of seek (Read, Write or
    Write Header) will be the same as the last seek performed.

  Input Parameters:

    0 - Track Follow Offset value.
    
        This parameter is a signed 16-bit number representing the amount of tracking
        offset to apply in the servo system.  Parameter 2 will indicate whether the offset
        is in units of 1/256th, a.k.a. Q8 format, or 0.1% of the servo or data track width.
        Parameter 2 will also indicate whether the offset is in servo tracks or in data tracks
    
          Type:    Signed 16-bit value
    
          Range:   0x8000 to 0x7FFF
    
          Default: 0
    
    1 - Temporary or Persistent Track Follow Offset option.
      
        This parameter specifies if the Track Follow Offset value is persistent or
        temporary.  If this parameter is equal to 0, the offset value is temporary and
        will only remain in effect until the next seek is performed.  If this parameter
        is equal to 1, the offset will be persistent and will remain in effect for all
        subsequent seeks until reset.
    
          Type:    Unsigned 8-bit value
    
          Range:   0 or 1
    
          Default: 0 (Offset is temporary)
    
    2 - Track Follow Offset Units option.
      
        This parameter specifies the units of the Track Follow Offset value.
    
            Bits 7-2: not used
    
            Bit 1: Servo or Data Track Width
    
                   If this bit is equal to 0, the Track Follow Offset value specified in the
                   Parameter 0 will be in data track width.
                   If this bit is equal to 1, the Track Follow Offset value specified in the
                   Parameter 0 will be in servo track width.
    
            Bit 0: Unit Selection.
    
                   If this bit is equal to 0, the specified offset will be in units of
                   1/256th of the servo or data track width, a.k.a. Q8 format.
                   If this bit is equal to 1, the specified offset will be in units of
                   0.1% of the servo or data track width.
    
          Type:    Unsigned 8-bit value
    
          Range:   0 to 0xFF
    
          Default: 0 (Offset is in units of 1/256th of the data track width)
    
    3 - Reload Channel Parameters After Setting Track Offset option.
      
        This parameter enables or disables reloading the channel parameters after the
        track offset is set.  If this parameter is equal to 0, the channel parameters
        will not be reloaded into the channel registers.  If this parameter is equal
        to 1, the channel parameters will be reloaded into the channel registers.
    
          Type:    Unsigned 8-bit value
    
          Range:   0 or 1
    
          Default: 0 (disable reloading the channel parameters in the channel registers)
    
  Output Data:

     If an error occurred, the following information will be displayed.
    
           "DiagError aaaaaaaa R/W Status c R/W Error dddddddd"
    
        and
    
           "Target User LBA eeeeeeee LLL CHS ffffff.g.hhhh PLP CHS iiiiii.j.kkkk"
    
        or
    
           "Target System LBA eeeeeeee LLL CHS ffffff.g.hhhh PLP CHS iiiiii.j.kkkk"
    
        where
    
           aaaaaaaa is the Diagnostic Error Code
    
           c is the status returned by the R/W subsystem
    
           dddddddd is the error code returned by the R/W subsystem
    
           eeeeeeee is a Disk Logical Block Address on the track to which the seek was
           performed
    
           ffffff is the Logical Cylinder Address of the track to which the seek was
           performed
    
           g is the Logical Head Address of the track to which the seek was performed
    
           hhhh is a Logical Sector Address on the track to which the seek was performed
    
           iiiiii is the Physical Cylinder Address of the track to which the seek was
           performed
    
           j is the Logical Head Address of the track to which the seek was performed
    
           kkkk is a Physical Sector Address on the track to which the seek was performed
    
     If the Verbose Formatted ASCII Data Output Mode is selected, the Verbose Mode option
     bits will enable the following data to be output when set.
    
        Bit 0:      Enables the R/W Status and R/W Error to be displayed
        Bit 1:      NA
        Bit 2:      Enables the Track Position and Track Follow Offset to be displayed
        Bit 3:      Enables the Target Address to be displayed
        Bit 4:      NA
        Bit 5:      NA
        Bit 6:      Enables the Elapsed Time to be displayed
        Bits 31-7:  NA
    
     If Bit 0 is set, the R/W Status and R/W Error will be displayed even if no error
     occurred.  The data displayed will be formatted as shown above.
    
     If Bit 2 is set, the Track Position and Track Follow Offset will be displayed as
     follows.
    
           "Read Position, Persistent Offset m.m% Total Offset n.n%"          or
           "Write Position, Persistent Offset m.m% Total Offset n.n%"         or
           "Write Header Position, Persistent Offset m.m% Total Offset n.n%"
    
        where
    
           m.m is the Persistent Track Follow Offset in units of percentage of track width
    
           n.n is the Total Track Follow Offset in units of percentage of track width
    
     If Bit 3 is set, the Target Address will be displayed even if no error occurred.
     The data displayed will be formatted as shown above.
    
     If Bit 6 is set, the Elapsed Time for the seek operation will be displayed.

    
       "Elapsed Time a mins b secs"  or
       "Elapsed Time b.c secs"       or
       "Elapsed Time c.d msecs"
    
    where
    
       a is minutes
       b is seconds
       c is milliseconds
       d is microseconds
    
  Examples:
    Example #1:
       To persistently apply the servo tracking offset in the amount of 256/256th of data track width
       in positive direction

          F3 2>A0
          F3 2>S1000
          F3 2>K100,1

    Example #2:
       To persistently apply the servo tracking offset in the amount of 100% of data track width
       in negative direction

          F3 2>A0
          F3 2>S1000
          F3 2>KFC18,1,1

    Example #3:
       To persistently apply the servo tracking offset in the amount of 256/256th of servo track width
       in negative direction

          F3 2>A0
          F3 2>S1000
          F3 2>KFF00,1,2

    Example #4:
       To persistently apply the servo tracking offset in the amount of 100% of a servo track width
       in positive direction

          F3 2>A0
          F3 2>S1000
          F3 2>K3E8,1,3

  Revision History:

    0001.0000   Initial revision.
    0001.0001   Added an option flag to allow the offset input in servo tracks.
    0011.0000   Combined the PSG Diagnostic Error Codes (PSGDEC) and the Diagnostic External
                Test Service Error Codes (DETSEC) into a single set of Diagnostic Error Codes
                (DiagError).