summaryrefslogtreecommitdiffstats
path: root/src/progs/pickit2/base/pickit_prog.h
blob: b35fc92a53d2dc8bcb9d8dfce3fd99a71b134d9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/***************************************************************************
 * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org>                    *
 *                                                                         *
 *   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