Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
960eac4b
Commit
960eac4b
authored
Mar 11, 2016
by
Claes Sjofors
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Script arrays maxsize increased from 1000 to 5000
parent
8126c9cd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
75 additions
and
324 deletions
+75
-324
src/lib/co/src/co_ccm.c
src/lib/co/src/co_ccm.c
+1
-1
wb/exp/com/src/wb_create_iolist.pwr_com
wb/exp/com/src/wb_create_iolist.pwr_com
+74
-323
No files found.
src/lib/co/src/co_ccm.c
View file @
960eac4b
...
@@ -611,7 +611,7 @@ int ccm_varname_parse(
...
@@ -611,7 +611,7 @@ int ccm_varname_parse(
}
}
sscanf
(
elementstr
,
"%d"
,
element
);
sscanf
(
elementstr
,
"%d"
,
element
);
*
s
=
'\0'
;
*
s
=
'\0'
;
if
(
(
*
element
<
0
)
||
(
*
element
>
1
000
)
)
if
(
(
*
element
<
0
)
||
(
*
element
>
5
000
)
)
{
{
return
0
;
return
0
;
}
}
...
...
wb/exp/com/src/wb_create_iolist.pwr_com
View file @
960eac4b
...
@@ -12,302 +12,68 @@
...
@@ -12,302 +12,68 @@
#
#
# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
main()
function int print_channels( int fp, string chanclass, string sigclass)
string channel;
string signal;
string signal;
string attr;
string attr;
string sigchancon;
string elem;
string ioconnect;
string str;
int idx;
int sigcnt = 0;
int i;
string channel;
string sdescr;
string sdescr;
string cdescr;
string cdescr;
string sigchancon;
string volume;
string outfilename;
string tmpfilename;
string lvolname;
string cmd;
int found;
int found;
int fp;
string msg;
string path = "$pwrp_doc/";
string fileend = "_iolist.csv";
string tmpname = "tmp";
int cntr=0;
int cntr_tot=0;
# Write excuse
printf("This will take some time, please wait...\n");
# Create temporary file name and output file name
volume = GetCurrentVolume();
lvolname = tolower(volume);
outfilename = path + lvolname + fileend;
tmpfilename = path + tmpname + fileend;
# Open temporary file
fp = fopen(tmpfilename,"w");
# Get all ChanDi
channel = GetClassListAttrRef( "ChanDi");
while ( channel != "")
found = 0;
signal = GetClassListAttrRef( "Di");
while ( signal != "")
attr = signal + ".SigChanCon";
sigchancon = GetAttribute( attr);
if ( sigchancon == channel)
found = 1;
break;
endif
signal = GetNextAttrRef( "Di", signal);
endwhile
if ( !found)
signal = "-";
sdescr = "-";
else
attr = signal + ".Description";
sdescr = GetAttribute( attr);
endif
attr = channel + ".Description";
cdescr = GetAttribute( attr);
# Write to temporary file
fprintf(fp, "%s;%s;\"%s\";\"%s\"\n", channel, signal, sdescr, cdescr);
# Write alive info to screen
cntr++;
cntr_tot++;
if (cntr >= 100)
cntr = 0;
printf("Writing line %d\n", cntr_tot);
endif
channel = GetNextAttrRef( "ChanDi", channel);
endwhile
# Get all ChanDo
channel = GetClassListAttrRef( "ChanDo");
while ( channel != "")
found = 0;
signal = GetClassListAttrRef( "Do");
while ( signal != "")
attr = signal + ".SigChanCon";
sigchancon = GetAttribute( attr);
if ( sigchancon == channel)
found = 1;
break;
endif
signal = GetNextAttrRef( "Do", signal);
endwhile
if ( !found)
signal = "-";
sdescr = "-";
else
attr = signal + ".Description";
sdescr = GetAttribute( attr);
endif
attr = channel + ".Description";
cdescr = GetAttribute( attr);
# Write to temporary file
fprintf(fp, "%s;%s;\"%s\";\"%s\"\n", channel, signal, sdescr, cdescr);
# Write alive info to screen
cntr++;
cntr_tot++;
if (cntr >= 100)
cntr = 0;
printf("Writing line %d\n", cntr_tot);
endif
channel = GetNextAttrRef( "ChanDo", channel);
endwhile
# Get all ChanAi
channel = GetClassListAttrRef( "ChanAi");
while ( channel != "")
found = 0;
signal = GetClassListAttrRef( "Ai");
while ( signal != "")
attr = signal + ".SigChanCon";
sigchancon = GetAttribute( attr);
if ( sigchancon == channel)
found = 1;
break;
endif
signal = GetNextAttrRef( "Ai", signal);
endwhile
if ( !found)
signal = "-";
sdescr = "-";
else
attr = signal + ".Description";
sdescr = GetAttribute( attr);
endif
attr = channel + ".Description";
cdescr = GetAttribute( attr);
# Write to temporary file
fprintf(fp, "%s;%s;\"%s\";\"%s\"\n", channel, signal, sdescr, cdescr);
# Write alive info to screen
cntr++;
cntr_tot++;
if (cntr >= 100)
cntr = 0;
printf("Writing line %d\n", cntr_tot);
endif
channel = GetNextAttrRef( "ChanAi", channel);
endwhile
# Get all ChanAo
channel = GetClassListAttrRef( "ChanAo");
while ( channel != "")
found = 0;
signal = GetClassListAttrRef( "Ao");
while ( signal != "")
attr = signal + ".SigChanCon";
sigchancon = GetAttribute( attr);
if ( sigchancon == channel)
found = 1;
break;
endif
signal = GetNextAttrRef( "Ao", signal);
endwhile
if ( !found)
signal = "-";
sdescr = "-";
else
attr = signal + ".Description";
sdescr = GetAttribute( attr);
endif
attr = channel + ".Description";
sigcnt = 0;
cdescr = GetAttribute( attr);
# Write to temporary file
fprintf(fp, "%s;%s;\"%s\";\"%s\"\n", channel, signal, sdescr, cdescr);
# Write alive info to screen
cntr++;
cntr_tot++;
if (cntr >= 100)
cntr = 0;
printf("Writing line %d\n", cntr_tot);
endif
channel = GetNextAttrRef( "ChanAo", channel);
endwhile
signal = GetClassListAttrRef( sigclass);
while ( signal != "")
attr = signal + ".SigChanCon";
sigchancon = GetAttribute( attr);
# Get all ChanCo
channel = GetClassListAttrRef( "ChanCo");
while ( channel != "")
found = 0;
signal = GetClassListAttrRef( "Co");
while ( signal != "")
attr = signal + ".SigChanCon";
sigchancon = GetAttribute( attr);
if ( sigchancon == channel)
found = 1;
break;
endif
signal = GetNextAttrRef( "Co", signal);
endwhile
if ( !found)
signal = "-";
sdescr = "-";
else
attr = signal + ".Description";
sdescr = GetAttribute( attr);
endif
attr = channel + ".Description";
elem = element( 2, "-", sigchancon);
cdescr = GetAttribute( attr);
if ( elem == "Class")
idx = strrchr( signal, ".");
str = extract( 1, idx, signal);
attr = str + "IoConnect";
# Write to temporary file
ioconnect = GetAttribute( attr);
fprintf(fp, "%s;%s;\"%s\";\"%s\"\n", channel, signal, sdescr, cdescr);
idx = strchr( sigchancon, ".");
str = extract( idx, 200, sigchancon);
sigchancon = ioconnect + str;
# Write alive info to screen
cntr++;
cntr_tot++;
if (cntr >= 100)
cntr = 0;
printf("Writing line %d\n", cntr_tot);
endif
endif
channel = GetNextAttrRef( "ChanCo", channel);
signals[sigcnt] = signal;
sigchancons[sigcnt] = sigchancon;
sigcnt++;
endwhile
signal = GetNextAttrRef( sigclass, signal);
endwhile
# Get all
ChanAo
# Get all
channels of this class
channel = GetClassListAttrRef(
"ChanIi"
);
channel = GetClassListAttrRef(
chanclass
);
while ( channel != "")
while ( channel != "")
found = 0;
found = 0;
signal = GetClassListAttrRef( "Ii");
for ( i = 0; i < sigcnt; i++)
while ( signal != "")
if ( sigchancons[i] == channel)
attr = signal + ".SigChanCon";
sigchancon = GetAttribute( attr);
if ( sigchancon == channel)
found = 1;
found = 1;
break;
break;
endif
endif
endfor
signal = GetNextAttrRef( "Ii", signal);
endwhile
if ( !found)
if ( !found)
signal = "-";
signal = "-";
sdescr = "-";
sdescr = "-";
else
else
attr = signal + ".Description";
attr = signal
s[i]
+ ".Description";
sdescr = GetAttribute( attr);
sdescr = GetAttribute( attr);
endif
endif
...
@@ -315,68 +81,51 @@ main()
...
@@ -315,68 +81,51 @@ main()
cdescr = GetAttribute( attr);
cdescr = GetAttribute( attr);
# Write to temporary file
# Write to temporary file
fprintf(fp, "%s;%s;\"%s\";\"%s\"\n", channel, signal, sdescr, cdescr);
fprintf( fp, "%s;%s;\"%s\";\"%s\"\n", channel, signals[i], sdescr, cdescr);
# Write alive info to screen
cntr++;
cntr_tot++;
if (cntr >= 100)
cntr = 0;
printf("Writing line %d\n", cntr_tot);
endif
channel = GetNextAttrRef( "ChanIi", channel);
channel = GetNextAttrRef( chanclass, channel);
endwhile
endwhile
return 1;
endfunction
# Get all ChanAo
main()
channel = GetClassListAttrRef( "ChanIo");
extern string signals[4000];
while ( channel != "")
extern string sigchancons[4000];
string volume;
found = 0;
string outfilename;
signal = GetClassListAttrRef( "Io");
string tmpfilename;
while ( signal != "")
string lvolname;
string cmd;
attr = signal + ".SigChanCon";
int fp;
sigchancon = GetAttribute( attr);
string msg;
if ( sigchancon == channel)
found = 1;
break;
endif
signal = GetNextAttrRef( "Io", signal);
endwhile
if ( !found)
signal = "-";
sdescr = "-";
else
attr = signal + ".Description";
sdescr = GetAttribute( attr);
endif
attr = channel + ".Description";
cdescr = GetAttribute( attr);
# Write to temporary file
string path = "$pwrp_doc/";
fprintf(fp, "%s;%s;\"%s\";\"%s\"\n", channel, signal, sdescr, cdescr);
string fileend = "_iolist.csv";
string tmpname = "tmp";
# Write alive info to screen
# Write excuse
cntr++;
printf("This will take some time, please wait...\n");
cntr_tot++;
if (cntr >= 100)
cntr = 0;
printf("Writing line %d\n", cntr_tot);
endif
channel = GetNextAttrRef( "ChanIo", channel);
# Create temporary file name and output file name
volume = GetCurrentVolume();
lvolname = tolower(volume);
outfilename = path + lvolname + fileend;
tmpfilename = path + tmpname + fileend;
endwhile
# Open temporary file
fp = fopen(tmpfilename,"w");
# Print all channnels
print_channels( fp, "ChanDi", "Di");
print_channels( fp, "ChanDo", "Do");
print_channels( fp, "ChanAi", "Ai");
print_channels( fp, "ChanAo", "Ao");
print_channels( fp, "ChanCo", "Co");
print_channels( fp, "ChanIi", "Ii");
print_channels( fp, "ChanIo", "Io");
# Close temporary file
# Close temporary file
fclose(fp);
fclose(fp);
...
@@ -388,9 +137,11 @@ main()
...
@@ -388,9 +137,11 @@ main()
system( cmd );
system( cmd );
# Write total no of lines to screen
# Write total no of lines to screen
printf("
Total %d lines written to file %s\n", cntr_tot
, outfilename);
printf("
File %s created\n"
, outfilename);
msg = "File " + outfilename + " created";
msg = "File " + outfilename + " created";
MessageInfo( msg);
MessageInfo( msg);
endmain
delete signals[1000];
delete sigchancons[1000];
endmain
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment