description: >
  MultiRecord Power Supply Information (Record Type 0x00)
  In accordance with IPMI Platform Management FRU Information
  Storage Definition v1.0 Document Revision 1.3, Table 18-1.

properties:
    - name: OveralCapacity
      type: int64
      description: >
        Offset 0, bits 11..0.
        Overall capacity (watts)
    - name: PeakVA
      type: int64
      description: >
        Offset 2.
        Peak VA
    - name: InrushCurrent
      type: int64
      description: >
        Offset 4.
        Inrush current
    - name: InrushInterval
      type: int64
      description: >
        Offset 5.
        Inrush interval in ms.
    - name: LowInputVoltage1
      type: int64
      description: >
        Offset 6.
        Low end Input voltage range 1 (10mV)
    - name: HighInputVoltage1
      type: int64
      description: >
        Offset 8.
        High end Input voltage range 1 (10mV)
    - name: LowInputVoltage2
      type: int64
      description: >
        Offset 10.
        Low end Input voltage range 2 (10mV)
    - name: HighInputVoltage2
      type: int64
      description: >
        Offset 12.
        High end Input voltage range 2 (10mV)
    - name: LowInputFrequency
      type: int64
      description: >
        Offset 14.
        Low end Input frequency range
    - name: HighInputFrequency
      type: int64
      description: >
        Offset 15.
        High end Input frequency range
    - name:  InDropoutTolerance
      type: int64
      description: >
        Offset 16.
        Input dropout tolerance in ms
    - name: TachoPPR_FailPinPolarity
      type: boolean
      description: >
        Offset 17, bit 4.
        Tachometer pulses per rotation/Predictive fail pin polarity.
        Meaning depends on PrediciveFailSupport.
        False means 1 pulse per rotation (for tacho) or assertion indicates failure (for predictive falure pin).
        True means 2 pulses per rotation (for tacho) or deassertion indicates failure (for predictive falure pin).
    - name: HotSwap
      type: boolean
      description: >
        Offset 17, bit 3.
        Hot Swap Support
    - name: Autoswitch
      type: boolean
      description: >
        Offset 17, bit 2.
        Autoswitch
    - name: PowerFactor
      type: boolean
      description: >
        Offset 17, bit 1.
        Power factor correction
    - name: PredictiveFailSupport
      type: boolean
      description: >
        Offset 17, bit 0.
        Predictive fail pin supported. When false, tachometer is used instead.
        Affects meaning of TachoPPR_FailPinPolarity.
    - name: HoldUpTime
      type: int64
      description: >
        Offset 18, bits 15..12.
        Peak Wattage hold up time in seconds
    - name: PeakCapacity
      type: int64
      description: >
        Offset 18, bits 11..0.
        Peak capacity (watts)
    - name: Voltage1
      type: int64
      description: >
        Offset 20, byte 1, bits 7..4.
        Combined Wattage Voltage 1
    - name: Voltage2
      type: int64
      description: >
        Offset 20, byte 1, bits 3..0.
        Combined Wattage Voltage 2
    - name: TotalWattage
      type: int64
      description: >
        Offset 20, bytes 2..3.
        Total Combined Wattage
    - name: TachometerLow
      type: int64
      description: >
        Offset 23.
        Predictive fail tachometer lower threshold (RPS).
        Used when PredictiveFailSupport is false.
