File: fusemdlg.h

package info (click to toggle)
ponyprog 3.1.4%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,904 kB
  • sloc: cpp: 35,932; python: 981; sh: 565; xml: 67; makefile: 45; ansic: 38
file content (101 lines) | stat: -rw-r--r-- 3,265 bytes parent folder | download
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//=========================================================================//
//                                                                         //
//  PonyProg - Serial Device Programmer                                    //
//                                                                         //
//  Copyright (C) 1997-2025   Claudio Lanconelli                           //
//                                                                         //
//  https://github.com/lancos/ponyprog                                        //
//                                                                         //
//-------------------------------------------------------------------------//
//                                                                         //
// 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 version2 of        //
// the License, or (at your option) any later version.                     //
//                                                                         //
// This program is distributed in the hope that it will be useful,         //
// but WITHOUT ANY WARRANTY; without even the implied warranty of          //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU       //
// General Public License for more details.                                //
//                                                                         //
// You should have received a copy of the GNU  General Public License      //
// along with this program (see LICENSE);     if not, write to the         //
// Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. //
//                                                                         //
//=========================================================================//

#ifndef FUSEMDLG_H
#define FUSEMDLG_H

#include <QStringList>
#include <QObject>
#include <QString>
#include <QVector>
#include <QCheckBox>
#include <QResizeEvent>

#include "bitfield.h"
#include "ui_fusedlg.h"

#include "e2cmdw.h"

typedef struct
{
	QVector<long> type; // chip id's for same descriptions of chip bits
	QVector<BitInfo> fuse;
	QVector<MaskDescr> fuseDescr;
	QVector<BitInfo> lock;
	QVector<MaskDescr> lockDescr;
} ChipBits;


class fuseModalDialog : public QDialog, public cTranslator, public Ui::FuseDialog
{
	Q_OBJECT
  public:
	fuseModalDialog(e2CmdWindow *bw, e2AppWinInfo *p, bool readonly = false, const QString &msg = "");
	virtual ~fuseModalDialog();             // Destructor

  public slots:
	void getLock(int l);
	void getFuse(int f);

  private slots:
	void onOk();
	void onRead();
	void onProg();

  protected:


  private:
	void displayBitFields();
	void setTextWidgets();

	void initWidgets(const QString &msg, bool readonly);
	int  eepFindFuses(long type);


  private:
	static QVector<ChipBits> eep_bits;

	e2CmdWindow *cmdw;
	e2AppWinInfo *awip;

	BitFieldWidget *fuseWidget;
	BitFieldWidget *lockWidget;

	unsigned int fuseBits;
	unsigned int lockBits;
	bool fuseEnabled;
	bool lockEnabled;

	int currentChip;
	ChipBits currentBitField;

	bool write;
	bool read;
};


#endif