/* SPDX-License-Identifier: BSD-3-Clause */
/*
 * Copyright 2016 Raritan Inc. All rights reserved.
 */

#ifndef __PDUMODEL_TYPE_B_RESIDUAL_CURRENT_NUMERIC_SENSOR_IDL__
#define __PDUMODEL_TYPE_B_RESIDUAL_CURRENT_NUMERIC_SENSOR_IDL__

#include <NumericSensor.idl>

/** PDU Model */
module pdumodel {

    /** An RCM current sensor of type B (AC/DC) which allows degaussing the sensor */
    interface TypeBResidualCurrentNumericSensor_1_0_6 extends sensors.NumericSensor_4_0_7 {
        /**
         * Trigger a degauss cycle of the residual current sensor
         *
         * In certain scenarios there's a possibility of magnetization of the residual
         * current sensor, in which case current will be measured even if there is
         * no actual current flow. When that happens, the sensor can be demagnetized
         * by calling this method.
         *
         * IMPORTANT: Only call this while there is no actual current flow!
         */
        void degauss();
    };
}

#endif
