Program Listing for File DPIFaultParameter.h

Return to documentation for file (src/vendor/ra/powerFlex525/DPIFaultParameter.h)

//
// Created by James Roth on 12/19/19.
//

#ifndef EIPSCANNER_DPIFAULTPARAMETER_HPP
#define EIPSCANNER_DPIFAULTPARAMETER_HPP

#include "cip/CipString.h"
#include "BaseObject.h"
#include "SessionInfoIf.h"
#include "MessageRouter.h"
#include "ParameterObject.h"
#include "DPIFaultCode.h"

namespace eipScanner {
namespace vendor {
namespace ra {
namespace powerFlex525 {

    class DPIFaultParameter {
    public:

        struct FaultDetails{
            int             faultNumber;
            cip::CipUint    faultCode;
            cip::CipLreal   busVoltage;
            cip::CipLreal   current;
            cip::CipLreal   frequency;
        };

        struct FullInformation {
            FaultDetails faultDetails;
            DPIFaultCode::FaultDescriptions faultDescription;
        };

        DPIFaultParameter(const SessionInfoIf::SPtr &si,
                       const MessageRouter::SPtr& messageRouter,
                       int faultNumber,
                       bool getFaultDetails);

        DPIFaultParameter();

        const FullInformation &getFullInformation() const;
        const FaultDetails &getFaultDetails() const; // returns struct fault details
        void setFaultDetails(FaultDetails faultInfo); // sets fault details struct in FullInformation struct
        void setFaultDescription(DPIFaultCode::FaultDescriptions faultDescriptions); // sets fault description (info mapped from fault code)

    private:

        FullInformation _fullInformation;
    };
}
}
}
}


#endif //EIPSCANNER_DPIFAULTPARAMETER_HPP