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 129
|
/*
Copyright (C) 1998,1999 T. Scott Dattalo
This file is part of gpsim.
gpsim 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, or (at your option)
any later version.
gpsim 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 gpsim; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/*
packages.h
Here's where all of the pic packages are defined
*/
#ifndef __PIC_PACKAGES_H__
#define __PIC_PACKAGES_H__
#include "gpsim_classes.h"
#include "pic-processor.h"
#include "stimuli.h"
#include "packages.h"
class _18pins : public Package
{
public:
PIC_IOPORT *porta;
IOPORT_TRIS trisa;
PIC_IOPORT *portb;
IOPORT_TRIS trisb;
virtual void create_iopin_map(void){return;};
virtual ~_18pins() {};
};
class _28pins : public _18pins
{
public:
PIC_IOPORT *portc;
IOPORT_TRIS trisc;
virtual void create_iopin_map(void);
virtual void ~_28pins(void);
virtual ~_28pins();
};
class _40pins : public _28pins
{
public:
PIC_IOPORT *portd;
IOPORT_TRIS trisd;
PIC_IOPORT *porte;
IOPORT_TRIS trise;
virtual void create_iopin_map(void){return;};
virtual void ~_40pins(void);
};
class _14bit_18pins : public _18pins
{
public:
virtual void create_iopin_map(void);
};
class _68pins : public Package
{
public:
PORTA *porta;
IOPORT_TRIS ddra;
PORTB *portb;
IOPORT_TRIS ddrb;
PORTC *portc;
IOPORT_TRIS ddrc;
PIC_IOPORT *portd;
IOPORT_TRIS ddrd;
PIC_IOPORT *porte;
IOPORT_TRIS ddre;
PIC_IOPORT *portf;
IOPORT_TRIS ddrf;
PIC_IOPORT *portg;
IOPORT_TRIS ddrg;
virtual void create_iopin_map(void);
};
class _16bit_68pins : public _68pins
{
public:
//virtual void create_iopin_map(void) {return;};
};
#endif // __PIC_PACKAGES_H__
|