`Case 1:17-cv-00770-JDW Document 369-37 Filed 04/12/24 Page 1 of 4 PagelD #: 34343
`
`EXHIBIT 37
`EXHIBIT 37
`
`
`
`Case 1:17-cv-00770-JDW Document 369-37 Filed 04/12/24 Page 2 of 4 PageID #: 34344
`
`
`
`
`
`
`
`WIRTGEN AMERICA, INC.,
`Plaintiff,
`
`
`
`
`
`
`v.
`
`
`
`
`CATERPILLAR, INC.,
`
`
`UNITED STATES DISTRICT COURT
`FOR THE DISTRICT OF DELAWARE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case No. 1:17-CV-00770-JDW-MPT
`
`
`
`
`
`
`
`
`Defendants.
`
`
`
`
`
`OPENING EXPERT REPORT OF DR. RICARDO VALERDI
`REGARDING SOURCE CODE
`
`HIGHLY CONFIDENTIAL – OUTSIDE ATTORNEYS’ EYES ONLY
`
`
`
`Case 1:17-cv-00770-JDW Document 369-37 Filed 04/12/24 Page 3 of 4 PageID #: 34345
`
`
`
`the deadband), then the Accused Products will check periodically for 3 seconds if the sensor
`
`becomes on-grade. If, during the next three seconds, it becomes on-grade, the hot swap process
`
`continues with a call to “DoSensorSwap.” If, however, the three seconds expire without the current
`
`sensor becoming on-grade, the hot swap request is cancelled with a call to “pRequest.reset()”. 10
`
`This is consistent with the box labeled “Wait (x seconds) Within error” in the flow diagram,
`
`CAT_00054722.
`
`32.
`
`After it is determined that a sensor swap can occur, the “DoSensorSwap” function
`
`is called. This is consistent with the “Swap Sensor” box in the flow chart. CAT_00054722. In
`
`general, the “DoSensorSwap” function, with calls to other helper functions, implements the
`
`functionality described in the red-dashed box.11 The “DoSensorSwap” function begins with setting
`
`up and changing various buttons in the HMI based on the current selected sensor and the new
`
`sensor selection.12
`
`33.
`
`From lines 2024-2057, DoSensorSwap determines the type of hot swap request and
`
`how specifically the target and measured values of the current and selected sensors will be
`
`manipulated to ensure that that milling machine remains on grade.13 This process begins by
`
`freezing the front and rear legs with a call to the “SendValveDriveStopCommand” and
`
`“ActivateValvesChanged” functions.14 Importantly, as discussed further below, this does not stop
`
`the machine from milling but simply stops the front and rear legs from moving up and down for a
`
`
`10 CAT-SC0000140, line 4205.
`11 It’s worth noting there are some differences between the flow chart and how the code is
`actually implemented within DoSensorSwap, but I discuss notably differences herein.
`12 CAT-SC0000049-50, lines 1950-2022.
`13 See CAT-SC0000050-51.
`14 See CAT-SC0000050, lines 2027-28.
`
`
`HIGHLY CONFIDENTIAL – OUTSIDE ATTORNEYS’ EYES ONLY
`14
`
`
`
`Case 1:17-cv-00770-JDW Document 369-37 Filed 04/12/24 Page 4 of 4 PageID #: 34346
`
`
`
`71.
`
`I declare under penalty of perjury under the laws of the United States that the
`
`foregoing is true and correct. Executed on May 18, 2023 in Tucson, AZ.
`
`
`
`
`
`Ricardo Valerdi, Ph.D.
`
`
`
`
`
`
`HIGHLY CONFIDENTIAL – OUTSIDE ATTORNEYS’ EYES ONLY
`35
`
`