#ifndef POWER_SUPPLY_H_
#define POWER_SUPPLY_H_

class C_PwrSupply {
   public:
    virtual void Init();
    virtual void SetEnable(bool value);
    virtual void ToggleEnable();
    virtual bool IsEnabled();

    float GetCurrent() { return current; }
    float GetVoltage() { return voltage; }
    float GetPower() { return power; }

    bool IsFuseTriggered() { return fuseTriggered; }
    void ClearTriggeredFlag() { fuseTriggered = false; }

    virtual void CheckFuse();
    virtual void Tasks();

   protected:
    float voltage, current, power;
    bool fuseTriggered;
};

#endif
