File: globals.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 (128 lines) | stat: -rw-r--r-- 3,251 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
//=========================================================================//
//                                                                         //
//  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. //
//                                                                         //
//=========================================================================//
// Some global ID and #defines


#ifndef _GLOBALS_H
#define _GLOBALS_H


#define AUTOSIZE_ID     64768


#define PROG_TYPE       0x1
#define DATA_TYPE       0x2
#define CONFIG_TYPE     0x4

#define ALL_TYPE        0x7 // (PROG_TYPE|DATA_TYPE|CONFIG_TYPE)


#define NO_OF_FILETYPE  LAST_FT
enum FileType
{
	E2P,
	INTEL,
	MOTOS,
	BIN,
	CSM,
	LAST_FT
};

// #define NO_OF_INTERFACETYPE     (LAST_HT-1)
enum HInterfaceType
{
	//AutoTag
	//Interface Identification
	SIPROG_API = 0,
	SIPROG_IO,
	JDM_API,
	AVRISP,
	AVRISP_IO,
	EASYI2C_API,
	EASYI2C_IO,
	DT006_API,
	DT006_IO,
	LINUXSYSFS_IO,
	FTDI_JTAGKEY,
	PONYPROG_FT,
	EGGLINK_V3,
	//PONYPROG_RPI,
	LAST_HT
};

#define NO_OF_BUSTYPE (LAST_BT-1)
enum BusType
{
	//AutoTag
	//Bus Type Identification
	I2C = 1,
	AT90S,
	//ATMEGAB,
	//AT1200S,
	AT89S,
	AT93C,
	AT250,
	AT250BIG,
	PICB,
	//SXB,
	SDEB,
	PICNEWB,
	IMBUS,
	PIC12B,
	X2444B,
	S2430B,
	LAST_BT
};

class VidPid
{
  public:

	VidPid(unsigned int _vid = 0, unsigned int _pid = 0)
	{
		vid = _vid;
		pid = _pid;
	}
	VidPid(const VidPid &p2)
	{
		vid = p2.vid;
		pid = p2.pid;
	}
	bool operator==(const VidPid &a)
	{
		return (a.pid == pid && a.vid == vid);
	}
	VidPid &operator=(const VidPid &a)
	{
		vid = a.vid;
		pid = a.pid;
		return *this;
	}
	unsigned int vid;
	unsigned int pid;
};

#endif