Update to the compatibility mode:
Rename new_compat_mode() to set_compat_mode(). Add fcn print_compat_mode() to print out the selected compatibility mode.
This commit is contained in:
parent
164d3dd20c
commit
1234c3bdf8
|
|
@ -174,6 +174,8 @@ static struct modellist *inp_find_model(
|
|||
struct nscope *scope, const char *name);
|
||||
|
||||
void tprint(struct card *deck);
|
||||
static void print_compat_mode(void);
|
||||
static void set_compat_mode(void);
|
||||
static struct card *pspice_compat(struct card *newcard);
|
||||
static void pspice_compat_a(struct card *oldcard);
|
||||
static struct card *ltspice_compat(struct card *oldcard);
|
||||
|
|
@ -532,7 +534,7 @@ Currently available are flags for:
|
|||
- LTSPICE, HSPICE, Spice3, PSPICE, KiCad, Spectre
|
||||
*/
|
||||
struct compat newcompat;
|
||||
static void new_compat_mode(void)
|
||||
static void set_compat_mode(void)
|
||||
{
|
||||
char behaviour[80];
|
||||
newcompat.hs = FALSE;
|
||||
|
|
@ -541,23 +543,27 @@ static void new_compat_mode(void)
|
|||
newcompat.ki = FALSE;
|
||||
newcompat.a = FALSE;
|
||||
newcompat.spe = FALSE;
|
||||
newcompat.isset = FALSE;
|
||||
newcompat.s3 = FALSE;
|
||||
if (cp_getvar("ngbehavior", CP_STRING, behaviour, sizeof(behaviour))) {
|
||||
if (strstr(behaviour, "hs"))
|
||||
newcompat.hs = TRUE;
|
||||
newcompat.isset = newcompat.hs = TRUE; /*HSPICE*/
|
||||
if (strstr(behaviour, "ps"))
|
||||
newcompat.ps = TRUE;
|
||||
newcompat.isset = newcompat.ps = TRUE; /*PSPICE*/
|
||||
if (strstr(behaviour, "lt"))
|
||||
newcompat.lt = TRUE;
|
||||
newcompat.isset = newcompat.lt = TRUE; /*LTSPICE*/
|
||||
if (strstr(behaviour, "ki"))
|
||||
newcompat.ki = TRUE;
|
||||
newcompat.isset = newcompat.ki = TRUE; /*KiCad*/
|
||||
if (strstr(behaviour, "a"))
|
||||
newcompat.a = TRUE;
|
||||
newcompat.isset = newcompat.a = TRUE; /*complete netlist, used in conjuntion with other mode*/
|
||||
if (strstr(behaviour, "ll"))
|
||||
newcompat.ll = TRUE;
|
||||
newcompat.isset = newcompat.ll = TRUE; /*all (currently not used)*/
|
||||
if (strstr(behaviour, "s3"))
|
||||
newcompat.isset = newcompat.s3 = TRUE; /*spice3 only*/
|
||||
if (strstr(behaviour, "eg"))
|
||||
newcompat.eg = TRUE;
|
||||
newcompat.isset = newcompat.eg = TRUE; /*EAGLE*/
|
||||
if (strstr(behaviour, "spe")) {
|
||||
newcompat.spe = TRUE;
|
||||
newcompat.isset = newcompat.spe = TRUE; /*Spectre*/
|
||||
newcompat.ps = newcompat.lt = newcompat.ki = newcompat.a = FALSE;
|
||||
}
|
||||
}
|
||||
|
|
@ -567,6 +573,34 @@ static void new_compat_mode(void)
|
|||
}
|
||||
}
|
||||
|
||||
/* Print the compatibility flags */
|
||||
static void print_compat_mode(void) {
|
||||
if (newcompat.isset) {
|
||||
fprintf(stdout, "\nCompatibility modes selected:");
|
||||
if (newcompat.hs)
|
||||
fprintf(stdout, " hs");
|
||||
if (newcompat.ps)
|
||||
fprintf(stdout, " ps");
|
||||
if (newcompat.lt)
|
||||
fprintf(stdout, " lt");
|
||||
if (newcompat.ki)
|
||||
fprintf(stdout, " ki");
|
||||
if (newcompat.a)
|
||||
fprintf(stdout, " a");
|
||||
if (newcompat.ll)
|
||||
fprintf(stdout, " ll");
|
||||
if (newcompat.eg)
|
||||
fprintf(stdout, " eg");
|
||||
if (newcompat.spe)
|
||||
fprintf(stdout, " spe");
|
||||
fprintf(stdout, "\n\n");
|
||||
}
|
||||
else {
|
||||
fprintf(stdout, "\nNo compatibility mode selected!\n\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* We check x lines for w= and l= and fill in their values.
|
||||
To be used when expanding subcircuits with binned model cards. */
|
||||
void inp_get_w_l_x(struct card* card) {
|
||||
|
|
@ -672,7 +706,7 @@ struct card *inp_readall(FILE *fp, const char *dir_name,
|
|||
|
||||
num_libraries = 0;
|
||||
/* set the members of the compatibility structure */
|
||||
new_compat_mode();
|
||||
set_compat_mode();
|
||||
|
||||
rv = inp_read(fp, 0, dir_name, comfile, intfile);
|
||||
cc = rv.cc;
|
||||
|
|
@ -694,6 +728,8 @@ struct card *inp_readall(FILE *fp, const char *dir_name,
|
|||
/* skip title line */
|
||||
struct card *working = cc->nextcard;
|
||||
|
||||
print_compat_mode();
|
||||
|
||||
delete_libs();
|
||||
|
||||
#ifndef EXT_ASC
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
struct compat
|
||||
{
|
||||
bool isset; /* at least one mode is set */
|
||||
bool hs; /* HSPICE */
|
||||
bool s3; /* spice3 */
|
||||
bool ll; /* all */
|
||||
|
|
|
|||
Loading…
Reference in New Issue