/*************************************************************************** * Copyright (C) 2006 Nicolas Hadacek * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ***************************************************************************/ #ifndef PICKIT_PROG_H #define PICKIT_PROG_H #include "common/global/global.h" #include "progs/icd2/base/microchip.h" #include "progs/base/prog_group.h" #include "pickit.h" namespace Pickit { class Hardware; //---------------------------------------------------------------------------- class Base : public Programmer::PicBase { Q_OBJECT public: Base(const Programmer::Group &group, const Pic::Data *data); virtual bool deviceHasOsccalRegeneration() const = 0; bool regenerateOsccal(const PURL::Url &url); virtual bool readFirmwareVersion(); protected: Hardware &hardware(); }; //---------------------------------------------------------------------------- class Group : public Programmer::PicGroup { public: virtual ::Programmer::TargetPowerMode targetPowerMode() const { return ::Programmer::TargetExternallyPowered; } virtual bool isPortSupported(PortType type) const { return ( type==PortType::USB ); } }; } // namespace #endif