2007-10-27 12:24:09 +00:00
|
|
|
/**********************************************/
|
|
|
|
/* CVPCB : declaration des variables globales */
|
|
|
|
/**********************************************/
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
#ifndef __CVPCB_H__
|
|
|
|
#define __CVPCB_H__
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
#include "pcbcommon.h"
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-05-06 11:55:36 +00:00
|
|
|
#include <boost/ptr_container/ptr_vector.hpp>
|
|
|
|
#include <boost/foreach.hpp>
|
|
|
|
|
|
|
|
|
2008-06-11 11:27:58 +00:00
|
|
|
// config for footprints doc file acces
|
2009-04-21 17:56:27 +00:00
|
|
|
#define DEFAULT_FOOTPRINTS_LIST_FILENAME wxT( "footprints_doc/footprints.pdf" )
|
|
|
|
|
2008-06-11 11:27:58 +00:00
|
|
|
// Define print format to display a schematic component line
|
2007-10-27 12:24:09 +00:00
|
|
|
#define CMP_FORMAT wxT( "%3d %8s - %16s : %-.32s" )
|
2007-06-05 12:10:51 +00:00
|
|
|
|
|
|
|
#define FILTERFOOTPRINTKEY "FilterFootprint"
|
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
/* Types de netliste: */
|
|
|
|
#define TYPE_NON_SPECIFIE 0
|
|
|
|
#define TYPE_ORCADPCB2 1
|
|
|
|
#define TYPE_PCAD 2
|
|
|
|
#define TYPE_VIEWLOGIC_WIR 3
|
|
|
|
#define TYPE_VIEWLOGIC_NET 4
|
|
|
|
|
|
|
|
|
2009-04-23 15:02:18 +00:00
|
|
|
class PIN
|
2007-06-05 12:10:51 +00:00
|
|
|
{
|
|
|
|
public:
|
2009-04-23 15:02:18 +00:00
|
|
|
int m_Index; /* variable utilisee selon types de netlistes */
|
2009-05-06 11:55:36 +00:00
|
|
|
int m_Type; /* code type electrique ( Entree Sortie Passive..) */
|
|
|
|
wxString m_Net; /* Pointeur sur le texte nom de net */
|
|
|
|
wxString m_Number;
|
|
|
|
wxString m_Name;
|
2009-04-23 15:02:18 +00:00
|
|
|
wxString m_Repere; /* utilise selon formats de netliste */
|
2007-10-27 12:24:09 +00:00
|
|
|
|
2009-04-23 15:02:18 +00:00
|
|
|
PIN();
|
2007-10-27 12:24:09 +00:00
|
|
|
};
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-05-06 11:55:36 +00:00
|
|
|
typedef boost::ptr_vector< PIN > PIN_LIST;
|
2009-04-23 15:02:18 +00:00
|
|
|
|
|
|
|
/* PIN object list sort function. */
|
2009-05-06 11:55:36 +00:00
|
|
|
extern bool operator<( const PIN& item1, const PIN& item2 );
|
|
|
|
|
|
|
|
/* PIN uniqueness test function. */
|
|
|
|
extern bool operator==( const PIN& item1, const PIN& item2 );
|
2009-04-23 15:02:18 +00:00
|
|
|
|
|
|
|
extern bool same_pin_number( const PIN* item1, const PIN* item2 );
|
|
|
|
extern bool same_pin_net( const PIN* item1, const PIN* item2 );
|
|
|
|
|
|
|
|
|
|
|
|
class COMPONENT
|
2007-06-05 12:10:51 +00:00
|
|
|
{
|
|
|
|
public:
|
2009-05-06 11:55:36 +00:00
|
|
|
int m_Num; /* Numero d'ordre */
|
|
|
|
int m_Multi; /* Nombre d' unites par boitier */
|
|
|
|
PIN_LIST m_Pins; /* pointeur sur la liste des Pins */
|
|
|
|
wxString m_Reference; /* U3, R5 ... */
|
|
|
|
wxString m_Value; /* 7400, 47K ... */
|
|
|
|
wxString m_TimeStamp; /* Signature temporelle ("00000000" si absente) */
|
|
|
|
wxString m_Module; /* Nom du module (Package) corresp */
|
|
|
|
wxString m_Repere; /* utilise selon formats de netliste */
|
|
|
|
wxArrayString m_FootprintFilter; /* List of allowed footprints (wildcards
|
|
|
|
* allowed ). If empty: no filtering */
|
2007-10-27 12:24:09 +00:00
|
|
|
|
2009-04-23 15:02:18 +00:00
|
|
|
COMPONENT();
|
|
|
|
~COMPONENT();
|
2007-10-27 12:24:09 +00:00
|
|
|
};
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-05-06 11:55:36 +00:00
|
|
|
typedef boost::ptr_vector< COMPONENT > COMPONENT_LIST;
|
2009-04-23 15:02:18 +00:00
|
|
|
|
|
|
|
/* COMPONENT object list sort function. */
|
2009-05-06 11:55:36 +00:00
|
|
|
extern bool operator<( const COMPONENT& item1, const COMPONENT& item2 );
|
2009-04-23 15:02:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
class FOOTPRINT
|
2007-06-05 12:10:51 +00:00
|
|
|
{
|
|
|
|
public:
|
2007-10-27 12:24:09 +00:00
|
|
|
wxString m_Module; /* Nom du module */
|
|
|
|
wxString m_LibName; /* Nom de la librairie contenant ce module */
|
|
|
|
int m_Num; /* Numero d'ordre pour affichage sur la liste */
|
|
|
|
wxString m_Doc; /* Doc associee */
|
|
|
|
wxString m_KeyWord; /* Mots cles associes */
|
|
|
|
|
2009-04-23 15:02:18 +00:00
|
|
|
FOOTPRINT();
|
2007-06-05 12:10:51 +00:00
|
|
|
};
|
|
|
|
|
2009-05-06 11:55:36 +00:00
|
|
|
typedef boost::ptr_vector< FOOTPRINT > FOOTPRINT_LIST;
|
2009-04-23 15:02:18 +00:00
|
|
|
|
|
|
|
/* FOOTPRINT object list sort function. */
|
2009-05-06 11:55:36 +00:00
|
|
|
extern bool operator<( const FOOTPRINT& item1, const FOOTPRINT& item2 );
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
/* Gestion des noms des librairies */
|
2009-04-23 15:02:18 +00:00
|
|
|
extern const wxString FootprintAliasFileExtension;
|
2009-04-05 20:49:15 +00:00
|
|
|
extern const wxString RetroFileExtension;
|
|
|
|
extern const wxString ComponentFileExtension;
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
extern const wxString RetroFileWildcard;
|
2009-04-23 15:02:18 +00:00
|
|
|
extern const wxString FootprintAliasFileWildcard;
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
extern const wxString titleLibLoadError;
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2007-10-27 12:24:09 +00:00
|
|
|
void Plume( int state );
|
2009-04-05 20:49:15 +00:00
|
|
|
|
|
|
|
#endif /* __CVPCB_H__ */
|