12.6. Sherlock Life Cycle Service- SherlockLifeCycleService.proto

Click here to return to the main index to Sherlock's APIs.

The APIs in this section return the list of Life Cycle events for a given project as well as allow you to define different Life Cycle events and profiles. Clicking on the active links in the table below will take you to the selected API.

Table 12.81: Index to Sherlock Life Cycle Service APIs

Method NameRequest TypeResponse TypeDescription
For display purposes, the strings in the first three columns are broken into multiple lines and should be read as continous. For example, the first string in column one should be interpreted as: addHarmonicEvent
addHarmonic Event.AddHarmonic EventRequest.AddHarmonic EventResponseDefine and add a new harmonic vibe Life Cycle event.
addHarmonic VibeProfiles.AddHarmonic VibeProfilesRequest.AddHarmonicVibe ProfilesResponseDefine and add new harmonic vibe life cycle event profiles.
addRandom VibeProfiles.AddRandomVibe ProfilesRequest.AddRandomVibe ProfilesResponseDefine and add new random vibe life cycle event profiles.
addRandom VibeEvent.AddRandomVibe EventRequest.AddRandomVibe EventResponseDefine and add a new random vibe Life Cycle event.
addShockEvent.AddShock Event Request.AddShock Event ResponseDefine and add a new shock Life Cycle event.
addShock Profiles.AddShock ProfilesRequest.AddShockProfiles ResponseSee note below.
addShockProfiles: Define and add new shock life cycle event profiles. Keep in mind, the Pulse Duration and Load values defined in the Shock Profile Editor are relative values used solely within the editor to define the profile shape. A combination of all the primary pulse shapes is then used to define the pulse profile.
addThermal Event.AddThermal EventRequest.AddThermal Event ResponseDefine and add a new thermal Life Cycle event.
addThermal Profiles.AddThermal ProfilesRequest.AddThermal ProfilesResponse Define and add new thermal life cycle event profiles.
createLifePhase.CreateLife PhaseRequest.CreateLife PhaseResponseDefine and add a new life phase.
deleteEvent.DeleteEvent Request.ReturnCodeRequest to delete a life cycle event in a project.
deletePhase.DeletePhase Request.ReturnCodeDelete a life phase for a project
listAmplUnits.ListAmpl UnitsRequest.ListAmpl UnitsResponseReturns a list of amplitude units when adding a random vibe profile.
listDurationUnits.ListDuration UnitsRequest.ListDuration UnitsResponseReturns a list of duration units when adding a Life Cycle event.
listFreqUnits.ListFreq UnitsRequest.ListFreq UnitsResponseReturns a list of frequency units.
listHarmonic Events.ListHarmonic EventsRequest.ListHarmonic EventsResponseReturns a list of harmonic events defined for a project.
listHarmonic ProfileTypes.ListHarmonic ProfileTypes Request.ListHarmonic Profile TypesResponseReturns a list of Harmonic Load Profile types.
listLifeCycle Events.ListLCEvents Request.ListLCEvents ResponseReturns a list of Life Cycle phases and their events given a Sherlock project directory.
listLifeCycle States.ListLCStates Request.ListLCStates ResponseReturns a list of Life Cycle states.
listLifeCycle Types.ListLCTypes Request.ListLCTypes ResponseReturns a list of Life Cycle types.
listRandomVibe ProfileTypes.ListRandomVibe ProfileTypesRequest.ListRandomVibe ProfileTypesResponseReturns a list of random vibe profile types.
listRandom VibeEvents.ListRandomVibe EventsRequest.ListRandom VibeEventsResponseReturns a list of random vibe events defined for a project.
listShockEvents.ListShock EventsRequest.ListShock EventsResponseReturns a list of shock events defined for a project.
listShock LoadUnits.List Shock LoadUnitsRequest.ListShock LoadUnits ResponseReturns a list of Shock Load units.
listShockPulses.ListShock PulsesRequest.ListShock PulsesResponseReturns a list of shock pulses.
listTempUnits.ListTemp UnitsRequest.ListTemp UnitsResponseReturns a list of temperature units.
loadHarmonic Profile.LoadHarmonic ProfileRequest.LoadHarmonic ProfileResponseLoads a harmonic profile from a .dat or .csv file.
loadRandom VibeProfile.LoadRandom VibeProfileRequest.LoadRandom VibeProfileResponseLoads a random vibe profile from a .dat or .csv file.
loadShock ProfileDataset.LoadShockProfile DatasetRequest.LoadShockProfile DatasetResponseLoads a shock profile using dataset from a .dat or .csv file.
loadShock ProfilePulses.LoadShockProfile PulsesRequest.LoadShockProfile PulsesResponseLoads a shock profile using pulses from a .dat or .csv file.
loadThermal Profile.LoadThermal Profile Request.LoadThermal Profile ResponseLoads a thermal profile from a .dat or .csv file.

12.6.1. Add Harmonic Event

12.6.1.1. AddHarmonicEventRequest

Request to define and add a new harmonic vibe Life Cycle event.

Table 12.82: AddHarmonicEventRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
phaseNamestring The name of the Life Cycle phase to add this event to.
eventNamestring Name of the harmonic event.
descriptionstring Description of the harmonic event.
durationdouble Event duration length.
durationUnitsstring Event duration length units.
numOfCyclesdouble Number of cycles defined for this harmonic event.
cycleTypestring The cycle type. For example: "COUNT", "DUTY CYCLE", "PER YEAR", "PER HOUR", etc.
sweepRatedouble Sweep rate for the harmonic event.
orientationstring PCB orientation in the format of azimuth, elevation. Example: 30,15.
profileTypestring Harmonic load profile types. Example valid values are "Uniaxial" and "Triaxial".
loadDirectionstring Load direction in the format of x,y,z. Example: 0,0,1.

12.6.1.2. AddHarmonicEventResponse

Response from adding a harmonic vibe event.

Table 12.83: AddHarmonicEventResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.1.3. Examples: Add Harmonic Event

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "On The Road",
  "eventName": "7 - New Harmonic Vibe",
  "description": "This is the addition of a new harmonic event",
  "duration": 15,
  "durationUnits": "ms",
  "numOfCycles": 100,
  "cycleType": "DUTY CYCLE",
  "sweepRate": 1,
  "orientation": "30,15",
  "profileType": "Uniaxial",
  "loadDirection": "0,0,1"
}
Request Response

 

Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.2. Add Harmonic Vibe Profiles

12.6.2.1. AddHarmonicVibeProfilesRequest

Request to define and add new harmonic vibe life cycle event profiles.

Table 12.84: AddHarmonicVibeProfilesRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
harmonicVibeProfilesrepeated 
 AddHarmonicVibeProfilesRequest.HarmonicVibeProfile

12.6.2.2. AddHarmonicVibeProfilesRequest.HarmonicVibeProfile

Table 12.85: AddHarmonicVibeProfilesRequest.HarmonicVibeProfile

FieldTypeLabelDescription
phaseNamestring The name of the life cycle phase this event is associated.
eventNamestring Name of the harmonic event.
profileNamestring Name of the harmonic profile.
freqUnitsstring Frequency units.
loadUnitsstring Load units.
harmonicVibeProfileEntriesrepeated 
 AddHarmonicVibeProfilesRequest.HarmonicVibeProfile.Entry
triaxialAxisstring If the harmonic profile type is "Triaxial", the axis this profile should be assigned to. Valid values are: x, y, z.

12.6.2.3. AddHarmonicVibeProfilesRequest.HarmonicVibeProfile.Entry

Table 12.86: AddHarmonicVibeProfilesRequest.HarmonicVibeProfile.Entry

FieldTypeLabelDescription
freqdouble Frequency.
loaddouble Load.

12.6.2.4. AddHarmonicVibeProfilesResponse

Response from adding harmonic vibe life cyle event profiles.

Table 12.87: AddHarmonicVibeProfilesResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.2.5. Example: Add Harmonic Vibe Profiles

Proto Request Example:
{
  "project": "Tutorial Project",
  "harmonicVibeProfiles": [
    {
      "phaseName": "On The Road",
      "eventName": "5 - Harmonic Vibe",
      "profileName": "First Harmonic Profile",
      "freqUnits": "Hz",
      "loadUnits": "G",
      "harmonicVibeProfileEntries": [
        {
          "freq": 100.0,
          "load": 10.0
        },
        {
          "freq": 1000.0,
          "load": 10.0
        }
      ],
      "triaxialAxis": "x"
    },
    {
      "phaseName": "On The Road",
      "eventName": "Test HV",
      "profileName": "Second Harmonic Profile",
      "freqUnits": "Hz",
      "loadUnits": "G",
      "harmonicVibeProfileEntries": [
        {
          "freq": 100.0,
          "load": 10.0
        },
        {
          "freq": 1000.0,
          "load": 10.0
        }
      ],
      "triaxialAxis": "y"
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.6.3. Add Shock Event

12.6.3.1. AddShockEventRequest

Request to define and add a new shock Life Cycle event.

Table 12.88: AddShockEventRequest

FieldTypeLabelDescription
projectDirstring The full path to the Sherlock project directory.
phaseNamestring The name of the Life Cycle phase to add this. event to.
eventNamestring Name of the shock event.
descriptionstring Description of the shock event.
durationdouble Event duration length.
durationUnitsstring Event duration length units.
numOfCyclesdouble Number of cycles de ned for this shock event.
cycleTypestring The cycle type. For example: "COUNT", "DUTY CYCLE", "PER YEAR", "PER HOUR", etc.
peakLoaddouble Maximum load exerted in this event.
peakLoadUnitsstring Peak load units.
orientationstring PCB orientation in the format of azimuth, elevation. Example: 30,15
loadDirectionstring Load direction in the format of x,y,z. Example: 0,0,1.

12.6.3.2. AddShockEventResponse

Response from adding a shock life cycle event.

Table 12.89: AddShockEventResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.3.3. Examples: Add Shock Event

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "On The Road",
  "eventName": "Test Shock API",
  "description": "Test Description",
  "duration": 2,
  "durationUnits": "ms",
  "numOfCycles": 100,
  "cycleType": "DUTY CYCLE",
  "orientation": "5, 5",
  "loadDirection": "0, 0, -1"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.4. Add Shock Profiles

12.6.4.1. AddShockProfilesRequest

Request to define and add new shock life cycle event profiles.

Table 12.90: AddShockProfilesRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
shockProfilesrepeated 
 AddShockProfilesRequest.ShockProfile

12.6.4.2. AddShockProfilesRequest.ShockProfile

Table 12.91: AddShockProfilesRequest.ShockProfile

FieldTypeLabelDescription
phaseNamestring The name of the life cycle phase this event is associated.
eventNamestring Name of the shock event.
profileNamestring Name of the shock profile.
durationdouble Pulse duration.
durationUnitsstring Pulse duration unit.
sampleRatedouble Sample rate.
sampleRateUnitsstring Sample rate unit.
loadUnitsstring Load unit.
freqUnitsstring Frequency unit.
shockProfileEntriesrepeatedPrimary shape entry for the shock profile.
 AddShockProfilesRequest.ShockProfile.Entry

12.6.4.3. AddShockProfilesRequest.ShockProfile.Entry

Table 12.92: AddShockProfilesRequest.ShockProfile.Entry

FieldTypeLabelDescription
shapestring Shape of the shock profile.
loaddouble Load.
freqdouble Frequency rate.
decaydouble Decay rate.

12.6.4.4. AddShockProfilesResponse

Response from adding shock life cycle event profiles.

Table 12.93: AddShockProfilesResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.4.5. Example: Add Shock Profiles

Proto Request Example:
{
  "project": "Tutorial Project",
  "shockProfiles": [
    {
      "phaseName": "On The Road",
      "eventName": "2 - Pothole",
      "profileName": "First Shock Profile",
      "duration": 100,
      "durationUnits": "sec",
      "sampleRate": 1,
      "sampleRateUnits": "sec",
      "loadUnits": "in/s2",
      "freqUnits": "KHZ",
      "shockProfileEntries": [
        {
          "shape": "Triangle",
          "load": 15.0,
          "freq": 10.0,
          "decay": 5.0
        },
        {
          "shape": "HalfSine",
          "load": 10.0,
          "freq": 100.0,
          "decay": 4.0
        }
      ]
    },
    {
      "phaseName": "On The Road",
      "eventName": "2 - Pothole",
      "profileName": "First Shock Profile",
      "duration": 100,
      "durationUnits": "ms",
      "sampleRate": 0.1,
      "sampleRateUnits": "ms",
      "loadUnits": "m/s2",
      "freqUnits": "HZ",
      "shockProfileEntries": [
        {
          "shape": "Triangle",
          "load": 115.0,
          "freq": 101.0,
          "decay": 51.0
        },
        {
          "shape": "HalfSine",
          "load": 110.0,
          "freq": 1010.0,
          "decay": 41.0
        }
      ]
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.6.5. Add Random Vibe Event

12.6.5.1. AddRandomVibeEventRequest

Request to define and add a new random vibe life cycle event.

Table 12.94: AddRandomVibeEventRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
phaseNamestring The name of the Life Cycle phase to add this event to.
eventNamestring Name of the random vibe event.
descriptionstring Description of the random vibe event.
durationdouble Event duration length.
durationUnitsstring Event duration length units.
numOfCyclesdouble Number of cycles defined for this random vibe event.
cycleTypestring The cycle type. For example: "COUNT", "DUTY CYCLE", "PER YEAR", "PER HOUR", etc.
orientationstring PCB orientation in the format of azimuth, elevation. Example: 30,15
profileTypestring Random load profile type. Example valid value is "Uniaxial".
loadDirectionstring Load direction in the format of x,y,z. Example: 0,0,1.

12.6.5.2. AddRandomVibeEventResponse

Response from adding a random vibe life cycle event.

Table 12.95: AddRandomVibeEventResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.5.3. Examples: Add Random Vibe Event

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "Environmental",
  "eventName": "Test Random Vibe Event",
  "description": "Random Vibe Event Description",
  "duration": 100,
  "durationUnits": "ms",
  "numOfCycles": 100,
  "cycleType": "DUTY CYCLE",
  "orientation": "30,15",
  "profileType": "Uniaxial",
  "loadDirection": "0, 0, -1"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.6. Add Random Vibe Profiles

12.6.6.1. AddRandomVibeProfilesRequest

Request to define and add new random vibe life cycle event profiles.

Table 12.96: AddRandomVibeProfilesRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
randomVibeProfilesrepeated 
 AddRandomVibeProfilesRequest.RandomVibeProfile

12.6.6.2. Example: Add Random Vibe Profiles

Proto Request Example:
{
  "project": "Tutorial Project",
  "randomVibeProfiles": [
    {
      "phaseName": "On The Road",
      "eventName": "1 - Vibration",
      "profileName": "First Random Vibe Profile",
      "freqUnits": "HZ",
      "amplUnits": "G2/Hz",
      "randomVibeProfileEntries": [
        {
          "freq": 10,
          "ampl": 15
        },
        {
          "freq": 100,
          "ampl": 10
        }
      ]
    },
    {
      "phaseName": "Environmental",
      "eventName": "Test RV",
      "profileName": "Second Random Vibe Profile",
      "freqUnits": "HZ",
      "amplUnits": "G2/Hz",
      "randomVibeProfileEntries": [
        {
          "freq": 100,
          "ampl": 150
        },
        {
          "freq": 1000,
          "ampl": 100
        }
      ]
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.6.6.3. AddRandomVibeProfilesRequest.RandomVibeProfile

Table 12.97: AddRandomVibeProfilesRequest.RandomVibeProfile

FieldTypeLabelDescription
phaseNamestring The name of the life cycle phase this event is associated.
eventNamestring Name of the random vibe event.
profileNamestring Name of the random vibe profile.
freqUnitsstring Frequency Units.
amplUnitsstring Amplitude units.
randomVibeProfileEntriesrepeated 
 AddRandomVibeProfilesRequest.RandomVibeProfile.Entry

12.6.6.4. AddRandomVibeProfilesRequest.RandomVibeProfile.Entry

Table 12.98: AddRandomVibeProfilesRequest.RandomVibeProfile.Entry

FieldTypeLabelDescription
freqdouble Frequency.
ampldouble Amplitude.

12.6.6.5. AddRandomVibeProfilesResponse

Response from adding random vibe profiles.

Table 12.99: AddRandomVibeProfilesResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.7. Add Thermal Event

12.6.7.1. AddThermalEventRequest

Request to define and add a new thermal Life Cycle event.

Table 12.100: AddThermalEventRequest

FieldTypeLabelDescription
projectDirstring The full path to the Sherlock project directory.
phaseNamestring The name of the Life Cycle phase to add this event to.
eventNamestring Name of the thermal event.
descriptionstring Description of the thermal event.
numOfCyclesdouble Number of cycles defined for this thermal event.
cycleTypestring The cycle type. For example: "COUNT", "DUTY CYCLE", "PER YEAR", "PER HOUR", etc.
cycleStatestring The Life Cycle state. For example: "OPERATING", "STORAGE".

12.6.7.2. AddThermalEventResponse

Response from adding a thermal life cycle event.

Table 12.101: AddThermalEventResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.7.3. Examples: Add Thermal Event

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "On The Road",
  "eventName": "Test Thermal Event Creation API",
  "description": "Test Description",
  "numOfCycles": 99,
  "cycleType": "DUTY CYCLE",
  "cycleState": "STORAGE"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.8. Add Thermal Profiles

12.6.8.1. AddThermalProfilesRequest

Request to define and add a new thermal life cycle event profiles.

Table 12.102: AddThermalProfilesRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
thermalProfilesrepeated 
 AddThermalProfilesRequest.ThermalProfile

12.6.8.2. AddThermalProfilesRequest.ThermalProfile

Table 12.103: AddThermalProfilesRequest.ThermalProfile

FieldTypeLabelDescription
phaseNamestring The name of the life cycle phase this event is associated.
eventNamestring Name of the thermal event.
profileNamestring Name of the thermal profile.
timeUnitsstring Time Units.
tempUnitsstring Temperature units.
thermalProfileEntriesrepeated 
 AddThermalProfilesRequest.ThermalProfile.Entry

12.6.8.3. AddThermalProfilesRequest.ThermalProfile.Entry

Table 12.104: AddThermalProfilesRequest.ThermalProfile.Entry

FieldTypeLabelDescription
stepstring Name of the step.
typestring Profile step type. "HOLD" or "RAMP".
timedouble Time duration of the step.
tempdouble Temperature of the step.

12.6.8.4. AddThermalProfilesResponse

Response from adding thermal profiles.

Table 12.105: AddThermalProfilesResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.8.5. Example: Add Thermal Profiles

Proto Request Example:
{
  "project": "Tutorial Project",
  "thermalProfiles": [
    {
      "phaseName": "Environmental",
      "eventName": "1 - Temp Cycle",
      "profileName": "First Thermal Profile",
      "timeUnits": "min",
      "tempUnits": "F",
      "thermalProfileEntries": [
        {
          "step": "Min Temp",
          "type": "HOLD",
          "time": 15,
          "temp": 15
        },
        {
          "step": "Ramp Up",
          "type": "RAMP",
          "time": 25,
          "temp": 50
        },
        {
          "step": "Max Temp",
          "type": "HOLD",
          "time": 15,
          "temp": 50
        },
        {
          "step": "Ramp Down",
          "type": "RAMP",
          "time": 15,
          "temp": 15
        }
      ]
    },
    {
      "phaseName": "On The Road",
      "eventName": "4 - Thermal Shock",
      "profileName": "Second Thermal Profile",
      "timeUnits": "min",
      "tempUnits": "C",
      "thermalProfileEntries": [
        {
          "step": "Min Temp",
          "type": "HOLD",
          "time": 15,
          "temp": 15
        },
        {
          "step": "Ramp Up",
          "type": "RAMP",
          "time": 25,
          "temp": 50
        },
        {
          "step": "Max Temp",
          "type": "HOLD",
          "time": 15,
          "temp": 50
        },
        {
          "step": "Ramp Down",
          "type": "RAMP",
          "time": 15,
          "temp": 15
        }
      ]
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.6.9. Create Life Phase

12.6.9.1. CreateLifePhaseRequest

Request for creating a life phase.

Table 12.106: CreateLifePhaseRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
phaseNamestring The name of new life phase.
descriptionstring Description of new life phase.
durationdouble Event duration length.
durationUnitsstring Event duration length units.
numOfCyclesdouble Number of cycles defined for new life phase.
cycleTypestring The cycle type. For example: "COUNT", "DUTY CYCLE", "PER YEAR", "PER HOUR", etc.

12.6.9.2. CreateLifePhaseResponse

Response from creating a life phase.

Table 12.107: CreateLifePhaseResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of error messages.

12.6.9.3. Examples: Create Life Phase

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "createLifePhase Test",
  "description": "Test Life Phase Created",
  "duration": 100,
  "durationUnits": "ms",
  "numOfCycles": 100,
  "cycleType": "DUTY CYCLE"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.10. Delete Event

12.6.10.1. DeleteEventRequest

Request to delete a life cycle event in a project.

Table 12.108: DeleteEventRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
phaseNamestring The name of the life cycle phase from which to delete this event.
eventNamestring Name of the event to be deleted.

12.6.10.2. Examples: SherlockLifeCycleService.deleteEvent()

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "On The Road",
  "eventName": "4 – Thermal Shock"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.11. Delete Life Phase

12.6.11.1. DeletePhaseRequest

Request for deleting a life phase.

Table 12.109: DeletePhaseRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
phaseNamestring Sherlock life phase name.

12.6.11.2. DeleteLifePhaseResponse

Response for deleting a life phase

Table 12.110: DeleteLifePhaseResponse

FieldTypeLabelDescription
returnCodeReturnCode  

12.6.11.3. Examples: SherlockLifeCycleService.deletePhase()

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "On The Road"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.12. Events

Represents an event.

Table 12.111: Events

FieldTypeLabelDescription
phaseNamestring The name of the Life Cycle Phase associated with this event.
eventNamestring Event name.

12.6.13. List Amplitude Units

12.6.13.1. ListAmplUnitsRequest

Request for a list of amplitude units.

12.6.13.2. ListAmplUnitsResponse

Represents a list of amplitude units.

Table 12.112: ListAmplUnitsResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
amplUnitsstringrepeatedList of amplitude of units.

12.6.13.3. Examples: List Amplitude Units

Proto Request Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListAmplUnitsRequest()

response = stub.listAmplUnits(message)

print(str(response))
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.6.14. List Duration Units

12.6.14.1. ListDurationUnitsRequest

Request for a list of duration units for event settings.

12.6.14.2. ListDurationUnitsResponse

Represents a list of duration units for event settings in life cycle.

Table 12.113: ListDurationUnitsResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
durationUnitsstringrepeatedList of duration units.

12.6.14.3. Examples: List Duration Units

Proto Request Example
{ }
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.15. List Frequency Units

12.6.15.1. ListFreqUnitsRequest

Request for a list of frequency units.

12.6.15.2. ListFreqUnitsResponse

Represents a list of frequency units.

Table 12.114: ListFreqUnitsResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
freqUnitsstringrepeatedList of frequency units. For example: "HZ", "KHZ", "MHZ", "GHZ".

12.6.15.3. Examples: List Frequency Units

Proto Request Example
{ }
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.16. List Harmonic Events

12.6.16.1. ListHarmonicEventsRequest

Request for a list of harmonic events defined for a project.

Table 12.115: ListHarmonicEventsRequest

FieldTypeLabelDescription
projectstring Sherlock project name.

12.6.16.2. ListHarmonicEventsResponse

Represents a list of harmonic events defined for a project.

Table 12.116: ListHarmonicEventsResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
eventEventsrepeatedList of harmonic events.

12.6.16.3. List Harmonic Events Example

Proto Request Example
{
  "project": "Tutorial Project"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.17. List Harmonic Profile Types

12.6.17.1. ListHarmonicProfileTypesRequest

Request for a list of harmonic load profile types.

12.6.17.2. ListHarmonicProfileTypesResponse

Represents a list of harmonic load profile types.

Table 12.117: ListHarmonicProfileTypesResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
typesstringrepeatedList of harmonic load profile types. "Uniaxial", "Triaxial".

12.6.17.3. Examples: List Harmonic Profile Types

Proto Request Example
{ }
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.18. List Life Cyle Events

12.6.18.1. ListLCEventsRequest

Request for a list of Life Cycle phases and events for a project.

Table 12.118: ListLCEventsRequest

FieldTypeLabelDescription
projectDirstring The full path to the Sherlock project directory.

12.6.18.2. ListLCEventsResponse

Represents the Life Cycle phases and events for a Sherlock project.

Table 12.119: ListLCEventsResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
lcPhasesListLCEventsResponse.LifeCyclePhaserepeated

12.6.18.3. ListLCEventsResponse.LifeCyclePhase

Table 12.120: ListLCEventsResponse.LifeCyclePhase

FieldTypeLabelDescription
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: ListLCEventsResponse.LifeCyclePhase.LifeCycleEvent
namestring Life cycle phase name.
descriptionstring Life cycle phase description.
lcEvents

ListLCEventsResponse .LifeCyclePhase.LifeCycleEvent

repeated

12.6.18.4. ListLCEventsResponse.LifeCyclePhase.LifeCycleEvent

Table 12.121: ListLCEventsResponse.LifeCyclePhase.LifeCycleEvent

FieldTypeLabelDescription
namestring Life cycle event name.
descriptionstring Life cycle event description.
typestring Life cycle type. For example: "Thermal Event", "Shock Event", "Random Vibe", "Harmonic Vibe".

12.6.18.5. Examples: List Life Cycle Events

Proto Request Example
{
  "project": "Tutorial Project"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.19. List Life Cycle States

12.6.19.1. ListLCStatesRequest

Request for a list of Life Cycle states.

12.6.19.2. ListLCStatesResponse

Table 12.122: ListLCStatesResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
statesstringrepeatedList of Life Cycle states. For example: "Operating", "Storage".

12.6.19.3. Examples: List Cycle States

Proto Request Example
{ }
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.20. List Life Cycle Types

12.6.20.1. ListLCTypesRequest

Request for a list of Life Cycle types.

12.6.20.2. ListLCTypesResponse

Represents a list of Life Cycle types.

Table 12.123: ListLCTypesResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
typesstringrepeatedList of Life Cycle types. For example, "DUTY CYCLE", "PER YEAR", "PER HOUR", etc.

12.6.20.3. Examples: List Life Cycle Types

Proto Request Example
{ }
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.21. List Random Vibe Profile Types

12.6.21.1. ListRandomVibeProfileTypesRequest

Request for a list of random vibe profile types.

12.6.21.2. ListRandomVibeProfileTypesResponse

Represents a list of random vibe profile types.

Table 12.124: ListRandomVibeProfileTypesResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
typesstringrepeatedList of random vibe profile types. Currently there is only one: "Uniaxial".

12.6.21.3. Examples: SherlockLifeCycleService.listRandomVibeProfileTypes()

Proto Request Example
{}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.22. List Random Vibe Event

12.6.22.1. ListRandomVibeEventsRequest

Request for a list of random vibe events defined for a project.

Table 12.125: ListRandomVibeEventsRequest

FieldTypeLabelDescription
projectstring Sherlock project name.

12.6.22.2. ListRandomVibeEventsResponse

Represents a list of random vibe events defined for a project.

Table 12.126: ListRandomVibeEventsResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
eventEventsrepeatedList of random vibe events.

12.6.22.3. List Random Vibe Events Example

Proto Request Example
{
  "project": "Tutorial Project"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.23. List Shock Events

12.6.23.1. ListShockEventsRequest

Request for a list of shock events defined for a project.

Table 12.127: ListShockEventsRequest

FieldTypeLabelDescription
projectstring Sherlock project name.

12.6.23.2. ListShockEventsResponse

Represents a list of shock events defined for a project.

Table 12.128: ListShockEventsResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
eventEventsrepeatedList of shock events.

12.6.23.3. List Shock Events Example

Proto Request Example
{
  "project": "Tutorial Project"
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.24. List Shock Load Units

12.6.24.1. ListShockLoadUnitsRequest

Request for a list of shock load units.

12.6.24.2. ListShockLoadUnitsResponse

Represents a list of shock load units.

Table 12.129: ListShockLoadUnitsResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
unitsstringrepeatedList of Shock load units. For example: "G", "m/s2", "mm/s2".

12.6.24.3. Examples: List Shock Load Units

Proto Request Example
{ }
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.25. List Shock Pulses

12.6.25.1. ListShockPulsesRequest

Request for a list of shock pulses.

12.6.25.2. ListShockPulsesResponse

Represents a list of shock pulses.

Table 12.130: ListShockPulsesResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
shockPulsestringrepeatedList of shock pulses. For example: "FullSine", "HalfSine", "Triangle", "Sawtooth", "FullSquare".

12.6.25.3. Examples: List Shock Pulses

Proto Request Example
{ }
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.26. List Temperature Units

12.6.26.1. ListTempUnitsRequest

Request for a list of temperature units.

12.6.26.2. ListTempUnitsResponse

Represents a list of temperature units.

Table 12.131: ListTempUnitsResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
tempUnitsstringrepeatedList of temperature units. For example: "C", "F", "K".

12.6.26.3. Examples: List Temp Units

Proto Request Example
{ }
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.27. Load Harmonic Profile

12.6.27.1. LoadHarmonicProfileRequest

Request to load a harmonic Life Cycle Event Profile from a .dat or .csv file.

Table 12.132: LoadHarmonicProfileRequest

FieldTypeLabelDescription
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: LoadHarmonicProfileRequest.CSVProps
projectstring Sherlock project name.
phaseNamestring The name of the Life Cycle phase this event is associated.
eventNamestring Harmonic event name.
filePathstring The full path for the .dat or .csv file.
harmonicCsvPropsLoadHarmonicProfile Request.CSVProps Properties for a .csv file load.

12.6.27.2. LoadHarmonicProfileRequest.CSVProps

.csv file properties. This is only required for a .csv file load.

Table 12.133: LoadHarmonicProfileRequest.CSVProps

FieldTypeLabelDescription
profileNamestring Name of the harmonic profile.
headerRowNumberint32 Header row number in the .csv file.
columnDelimstring Delimiter to separate the columns.
numericFormatstring Numeric format.
freqColumnstring Frequency column name.
freqUnitsstring Frequency units.
loadColumnstring Load column name.
loadUnitsstring Load units.

12.6.27.3. LoadHarmonicProfileResponse

Response from loading a harmonic vibe life cycle event profile from a .dat or .csv file.

Table 12.134: LoadHarmonicProfileResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.27.4. Examples: Load Harmonic Profile

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "On The Road",
  "eventName": "5 - Harmonic Vibe",
  "filePath": "C:\\Users\\jdoe\\Documents\\Default Profile.dat"
}
Proto Request Example (CSV)
{
  "project": "Tutorial Project",
  "phaseName": "On The Road",
  "eventName": "Test Harmonic API",
  "filePath": " C:\\Users\\jdoe\\Documents\\Default Profile.csv",
  "harmonicCsvProps": {
    "profileName": "Harmonic Profile - Script Test",
    "headerRowNumber": 0,
    "columnDelim": "Comma",
    "numericFormat": "English (United States)",
    "freqColumn": "Freq (HZ)",
    "freqUnits": "Hz",
    "loadColumn": "Load (G)",
    "loadUnits": "G"
  }
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.28. Load Random Vibe Profile

12.6.28.1. LoadRandomVibeProfileRequest

Request to load a random vibe life cycle event profile from a .dat or .csv file.

Table 12.135: LoadRandomVibeProfileRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
phaseNamestring The name of the life cycle phase this event is associated.
eventNamestring Random vibe event name.
filePathstring The full path for the .dat or .csv file.
randomVibeCsvPropsLoadRandomVibeProfile Request.CSVProps Properties for a CSV file load.

12.6.28.2. LoadRandomVibeProfileRequest.CSVProps

.csv file properties. This is only required for a .csv file load.

Table 12.136: LoadRandomVibeProfileRequest.CSVProps

FieldTypeLabelDescription
profileNamestring Name of the random vibe profile.
headerRowNumberint32 Header row number in the .csv file.
columnDelimstring Delimiter to separate the columns.
numericFormatstring Numeric format.
freqColumnstring Frequency column name.
freqUnitsstring Frequency units.
amplColumnstring Amplitude column name.
amplUnitsstring Amplitude units.

12.6.28.3. LoadRandomVibeProfileResponse

Response from loading a random vibe life cycle event profile from a .dat or .csv file.

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.28.4. SherlockLifeCycleService.loadRandomVibeProfile()

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "On The Road",
  "eventName": "1 - Vibration",
  "filePath": "C:\\Temp\\Random Vibe Profile.csv",
  "randomVibeCsvProps": {
    "profileName": "Random Vibe – Script Test",
    "headerRowNumber": 0,
    "columnDelim": "Comma",
    "numericFormat": "English (United States)",
    "freqColumn": "Freq (HZ)",
    "freqUnits": "Hz",
    "amplColumn": "Ampl (G2/Hz)",
    "amplUnits": "G2/Hz"
  }
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.29. Load Shock Profile Dataset

12.6.29.1. LoadShockProfileDatasetRequest

Request to load a shock Life Cycle Event Profile using dataset (time and load) from a .dat or .csv file.

Table 12.137: LoadShockProfileDatasetRequest

FieldTypeLabelDescription
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: LoadShockProfileDatasetRequest.CSVProps
projectstring Sherlock project name.
phaseNamestring The name of the Life Cycle phase this event is associated.
eventNamestring Shock event name.
lePathstring The full path for the .dat or .csv file.
shockDsCsvPropsLoadShockProfile DatasetRequest.CSVProps Properties for a .csv file load.

12.6.29.2. LoadShockProfileDatasetRequest.CSVProps

.csv file properties. This is only required for a .csv file load.

Table 12.138: sherlock_ug_LoadShockProfileDatasetRequest.CSVProps

FieldTypeLabelDescription
profileNamestring Name of the shock profile.
headerRowNumberint32 Header row number in the .csv file.
columnDelimstring Delimiter to separate the columns.
numericFormatstring Numeric format.
timeColumnstring Time column name.
timeUnitsstring Time units.
loadColumnstring Load column name.
loadUnitsstring Load units.

12.6.29.3. LoadShockProfileDatasetResponse

Response from loading a shock profile using the dataset from a .dat or .csv file.

Table 12.139: LoadShockProfileDatasetResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.29.4. Examples: Load Shock Profile Dataset

Proto Request Example
{
  "project": "Tutorial",
  "phaseName": "Environmental",
  "eventName": "3 - Earthquake",
  "filePath": "C:\\Users\\jdoe\\Documents\\Full Sine Damped.csv",
  "shockDsCsvProps": {
    "profileName": "Shock Dataset",
    "headerRowNumber": 0,
    "columnDelim": "Comma",
    "numericFormat": "English (United States)",
    "timeColumn": "Time (ms)",
    "timeUnits": "ms",
    "loadColumn": "Load (G)",
    "loadUnits": "G"
  }
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.30. Load Shock Profile Pulses

12.6.30.1. LoadShockProfilePulsesRequest

Request to load a shock Life Cycle Event Profile using pulses from a .dat or .csv file.

Table 12.140: LoadShockProfilePulsesRequest

FieldTypeLabelDescription
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: LoadShockProfilePulsesRequest.CSVProps
projectstring Sherlock project name.
phaseNamestring The name of the Life Cycle phase this event is associated.
eventNamestring Shock event name.
filePathstring The full path for the .dat or .csv file.
shockPulsesCsvPropsLoadShockProfile PulsesRequest.CSVProps Properties for a .csv file load.

12.6.30.2. LoadShockProfilePulsesRequest.CSVProps

.csv file properties. This is only required for a .csv file load.

Table 12.141: LoadShockProfilePulsesRequest.CSVProps

FieldTypeLabelDescription
profileNamestring Name of the shock profile.
headerRowNumberint32 Header row number in the .csv file.
columnDelimstring Delimiter to separate the columns.
numericFormatstring Numeric format.
durationdouble Pulse duration length.
durationUnitsstring Pulse duration time units.
sampleRatedouble Sample rate.
sampleRateUnitsstring Sample rate units.
shapeColumnstring Pulse shape column name.
loadColumnstring Load column name.
loadUnitsstring Load units.
freqColumnstring Frequency column name.
freqUnitsstring Frequency units.
decayColumnstring Decay column name.

12.6.30.3. LoadShockProfilePulsesResponse

Response from loading a shock profile using pulses from a .dat or .csv file.

Table 12.142: LoadShockProfilePulsesResponse

FieldTypeLabelDescription
returnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.30.4. Examples: Load Shock Profile Pulses

Proto Request Example
{
  "project": "Tutorial Project",
  "phaseName": "Environmental",
  "eventName": "3 - Earthquake",
  "filePath": "C:\\Users\\jdoe\\Documents\\Sawtooth.csv",
  "shockPulsesCsvProps": {
    "profileName": "Shock Pulses",
    "headerRowNumber": 0,
    "columnDelim": "Comma",
    "numericFormat": "English (United States)",
    "duration": 20.0,
    "durationUnits": "ms",
    "sampleRate": 1.0,
    "sampleRateUnits": "sec",
    "shapeColumn": "Shape",
    "loadColumn": "Load (G)",
    "loadUnits": "G",
    "freqColumn": "Freq (Hz)",
    "freqUnits": "Hz",
    "decayColumn": "Decay"
  }
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.6.31. Load Thermal Profile

12.6.31.1. LoadThermalProfileRequest

Request to load a thermal Life Cycle Event Profile from a .dat or .csv file.

Table 12.143: LoadThermalProfileRequest

FieldTypeLabelDescription
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: LoadThermalProfileRequest.CSVProps
projectDirstring The full path to the Sherlock project directory.
phaseNamestring The name of the Life Cycle phase this event is associated.
eventNamestring Thermal event name.
filePathstring The full path for the .dat or .csv file.
csvProps

LoadThermalProfileRequest .CSVProps

Properties for a .csv file load.

12.6.31.2. LoadThermalProfileRequest.CSVProps

.csv file properties. This is only required for a .csv file load.

Table 12.144: LoadThermalProfileRequest.CSVProps

FieldTypeLabelDescription
profileNamestring Name of the thermal profile.
headerRowNumberint32 Header row number in the .csv file.
columnDelimstring Delimiter to separate the columns.
numericFormatstring Numeric format.
stepColumnstring Step column name.
typeColumnstring Step type column name.
timeColumnstring Time duration column name.
timeUnitsstring Time units column name.
tempColumnstring Temperature column name.
tempUnitsstring Temperature units column name.

12.6.31.3. LoadThermalProfileResponse

Response from loading a thermal profile from a .dat or .csv file.

Table 12.145: LoadThermalProfileResponse

FieldTypeLabelDescription
ReturnCodeReturnCode Status code of response.
errorsstringrepeatedList of validation errors.

12.6.31.4. Examples: Load Thermal Profile

Proto Request Example
{
  "project": "Tutorial Project", 
  "phaseName": "Environmental",
  "eventName": "5 - Fire",
  "filePath": "C:\\Users\\jdoe\\AppData\\Roaming\\Sherlock\\thermalProfiles\\Single Step.dat"
}
Proto Request Example (CSV)
{
  "project": "Tutorial Project",
  "phaseName": "Environmental",
  "eventName": "1 - Temp Cycle",
  "filePath": "C:\\Users\\aklara\\Desktop\\APIexamples\\SherlockLifeCycleService\\Thermal.csv",
  "csvProps": {
    "profileName": "Temperature Profile - Script Test",
    "headerRowNumber": 0,
    "columnDelim": "Comma",
    "numericFormat": "English (United States)",
    "stepColumn": "Step",
    "typeColumn": "Type",
    "timeColumn": "Time (min)",
    "timeUnits": "min",
    "tempColumn": "Temp (C)",
    "tempUnits": "C"
  }
}
Python Example

For a Python example, refer to the online PySherlock Reference.