esa / opengeode

OpenGEODE - a free SDL editor
https://opengeode.net
GNU Lesser General Public License v3.0
69 stars 20 forks source link

I meet another question when I use the openGeode #51

Closed zongz1024 closed 4 years ago

zongz1024 commented 5 years ago

I meet another question when I use the openGeode image

maxime-esa commented 5 years ago

Could you please run from the command line:

$ opengeode --check <yourFile.pr>

And paste the complete output? Thanks

zongz1024 commented 5 years ago

Could you please run from the command line:

$ opengeode --check <yourFile.pr>

And paste the complete output? Thanks

OK ,I will give it to you tommow , now I go back home and the computer was left behind at the lab.

zongz1024 commented 5 years ago

Could you please run from the command line:

$ opengeode --check <yourFile.pr>

And paste the complete output? Thanks

OK ,I will give it to you tommow , now I go back home and the computer was left behind at the lab.

Hi ! Good morning, although I know it's not morning where you live now. I used the command line that you gave . I got nothing in the terminal. image But, I got something in the opengeode_stderr.log

[INFO] Checking ['C:\\Temp\\zong\\Earth_Direct_MdShift_init.impl\\earth_direct_mdshift_init_impl.pr']
[INFO] Parsing complete. Summary, found 0 warnings and 21 errors
[ERROR] Type A_Unsigned8 not found in ASN.1 model - "Zong A_Unsigned8"
[ERROR] Type Orbit_Modify_impl not found in ASN.1 model - "Orbit_Modify Orbit_Modify_impl"
[ERROR] Type MKCmd_impl not found in ASN.1 model - "MKCmd MKCmd_impl"
[ERROR] Type Tp1_impl not found in ASN.1 model - "Tp1 Tp1_impl"
[ERROR] Type Time_Cur_impl not found in ASN.1 model - "Time_Cur Time_Cur_impl"
[ERROR] Type Earth_Dir_Cnt1_impl not found in ASN.1 model - "Earth_Dir_Cnt1 Earth_Dir_Cnt1_impl"
[ERROR] Type Se_impl not found in ASN.1 model - "Se Se_impl"
[ERROR] Type Pwr_FeedBack_impl not found in ASN.1 model - "Pwr_FeedBack Pwr_FeedBack_impl"
[ERROR] Type Earth_Dir_Cnt2_impl not found in ASN.1 model - "Earth_Dir_Cnt2 Earth_Dir_Cnt2_impl"
[ERROR] Type Sw_Sada_impl not found in ASN.1 model - "Sw_Sada Sw_Sada_impl"
[ERROR] Type Lss_PN_XYZ_impl not found in ASN.1 model - "Lss_PN_XYZ Lss_PN_XYZ_impl"
[ERROR] Type Ft_Bapta_impl not found in ASN.1 model - "Ft_Bapta Ft_Bapta_impl"
[ERROR] Type Sun_Shadow_impl not found in ASN.1 model - "Sun_Shadow Sun_Shadow_impl"
[ERROR] Type Delta_Sun_Lat_Arg_F32_impl not found in ASN.1 model - "Delta_Sun_Lat_Arg_F32 Delta_Sun_Lat_Arg_F32_impl"
[ERROR] Type Res_impl not found in ASN.1 model - "res Res_impl"
[ERROR] Type N_impl not found in ASN.1 model - "N N_impl"
[ERROR] Type Z_impl not found in ASN.1 model - "Z Z_impl"
[ERROR] Type P_impl not found in ASN.1 model - "P P_impl"
[ERROR] Type Irreg_Track_impl not found in ASN.1 model - "Irreg_Track Irreg_Track_impl"
[ERROR] Type Reg_Track_impl not found in ASN.1 model - "Reg_Track Reg_Track_impl"
[ERROR] Type MM_Ctrl_impl not found in ASN.1 model - "MM_Ctrl MM_Ctrl_impl"

and the contents of the pr file

SYSTEM earth_direct_mdshift_init_impl;
/* CIF TEXT (255 , 49),(150 , 75) */ 
signal a; 
signal Zhe; 
/* CIF ENDTEXT */ 
CHANNEL c
FROM earth_direct_mdshift_init_impl TO ENV WITH a;
FROM earth_direct_mdshift_init_impl TO ENV WITH Zhe;
ENDCHANNEL; 
BLOCK earth_direct_mdshift_init_impl;
SIGNALROUTE r
FROM earth_direct_mdshift_init_impl TO ENV WITH a;
FROM earth_direct_mdshift_init_impl TO ENV WITH Zhe;
CONNECT c AND r; 
/* CIF PROCESS (255 , 49),(150 , 75) */ 
PROCESS earth_direct_mdshift_init_impl;
/* CIF TEXT(255 , 49),(150 , 75) */ 
use dv comment 'dataview-uniq.asn'; 
dcl Zong A_Unsigned8; 
dcl Orbit_Modify Orbit_Modify_impl; 
dcl MKCmd MKCmd_impl; 
dcl Tp1 Tp1_impl; 
dcl Time_Cur Time_Cur_impl; 
dcl Earth_Dir_Cnt1 Earth_Dir_Cnt1_impl; 
dcl Se Se_impl; 
dcl Pwr_FeedBack Pwr_FeedBack_impl; 
dcl Earth_Dir_Cnt2 Earth_Dir_Cnt2_impl; 
dcl Sw_Sada Sw_Sada_impl; 
dcl Lss_PN_XYZ Lss_PN_XYZ_impl; 
dcl Ft_Bapta Ft_Bapta_impl; 
dcl Sun_Shadow Sun_Shadow_impl; 
dcl Delta_Sun_Lat_Arg_F32 Delta_Sun_Lat_Arg_F32_impl; 
dcl res Res_impl; 
dcl N N_impl; 
dcl Z Z_impl; 
dcl P P_impl; 
dcl Irreg_Track Irreg_Track_impl; 
dcl Reg_Track Reg_Track_impl; 
dcl MM_Ctrl MM_Ctrl_impl; 
/* CIF ENDTEXT */ 
ENDPROCESS earth_direct_mdshift_init_impl; 
ENDBLOCK; 
ENDSYSTEM;

and the contents of the dataview-uniq.asn file

TASTE-Dataview DEFINITIONS ::= 
BEGIN
A-Boolean ::= BOOLEAN
A-Int ::= INTEGER ( -2147483648 .. 2147483647 ) 
A-Int8 ::= INTEGER ( -128 .. 127 ) 
A-Int16 ::= INTEGER ( -32768 .. 32767 ) 
A-Int32 ::= INTEGER ( -2147483648 .. 2147483647 ) 
A-Int64 ::= INTEGER ( -9223372036854775808 .. 9223372036854775807 ) 
A-Unsigned8 ::= INTEGER ( 0 .. 255 ) 
A-Unsigned16 ::= INTEGER ( 0 .. 65535 ) 
A-Unsigned32 ::= INTEGER ( 0 .. 9223372036854775807 ) 
A-Unsigned64 ::= INTEGER ( 0 .. 9223372036854775807 ) 
Natural ::= INTEGER ( 0 .. 9223372036854775807 ) 
A-Float ::= REAL ( 1.4E-45 .. 3.4028235E38 ) 
A-Float32 ::= REAL ( 1.4E-45 .. 3.4028235E38 ) 
A-Float64 ::= REAL ( 4.9E-324 .. 1.7976931348623157E308 ) 
A-Char ::= OCTET STRING ( SIZE ( 0 .. 1 )  ) 
A-String ::= OCTET STRING ( SIZE ( 0 .. 100 )  ) 
Agl-In-Ms10-Cnt-impl ::= SEQUENCE{
agl-In-Ms10-Cnt-s A-Unsigned32
}

AoccSht-impl ::= SEQUENCE{
aoccSht-s A-Boolean
}

Agl-In-T23-impl ::= SEQUENCE{
agl-In-T23-m A-Float
}

Ant2Ok-impl ::= SEQUENCE{
ant2Ok-s A-Boolean
}

Before-Brkaway-impl ::= SEQUENCE{
before-Brkaway-s A-Unsigned8
}

Breakaway-impl ::= SEQUENCE{
breakaway-s A-Boolean
}

Bo-Wait-impl ::= SEQUENCE{
bo-Wait-s A-Boolean
}

Bo-impl ::= SEQUENCE{
bo-s A-Boolean
}

Capture-Cnt-impl ::= SEQUENCE{
capture-Cnt-s A-Int
}

Capture-impl ::= SEQUENCE{
capture-s A-Unsigned8
}

Cnt-Waiting-impl ::= SEQUENCE{
cnt-Waiting-s A-Unsigned32
}

Ctrl-Mode-Last-impl ::= SEQUENCE{
ctrl-Mode-Last-s A-Unsigned8
}

Ctrl-Mode-Cur-impl ::= SEQUENCE{
ctrl-Mode-Cur-s A-Unsigned8
}

Delay-Waiting-Sada2ok-impl ::= SEQUENCE{
delay-Waiting-Sada2ok-s A-Unsigned32
}

Delta-Sun-Lat-Arg-F32-impl ::= SEQUENCE{
delta-Sun-Lat-Arg-F32-s A-Float
}

Delay-Waiting-Ant2ok-impl ::= SEQUENCE{
delay-Waiting-Ant2ok-s A-Unsigned32
}

Delay-Waiting-impl ::= SEQUENCE{
delay-Waiting-s A-Unsigned32
}

Earth-Dir-Cnt1-impl ::= SEQUENCE{
earth-Dir-Cnt1-s A-Unsigned16
}

Earth-Recapture-impl ::= SEQUENCE{
earth-Recapture-s A-Unsigned8
}

Earth-Direct-impl ::= SEQUENCE{
earth-Direct-s A-Unsigned8
}

Earth-Dir-Cnt2-impl ::= SEQUENCE{
earth-Dir-Cnt2-s A-Unsigned16
}

Ear-Recap-Cnt-impl ::= SEQUENCE{
ear-Recap-Cnt-s A-Unsigned16
}

Ft-Bapta-impl ::= SEQUENCE{
ft-Bapta-m A-Boolean
}

Hold-Dir-Cnt-impl ::= SEQUENCE{
hold-Dir-Cnt-s A-Unsigned32
}

Hexchars-impl ::= SEQUENCE{
hexchars-m A-Char
}

Idx-impl ::= SEQUENCE{
idx-s A-Int
}

Initial-key-impl ::= SEQUENCE{
initial-key-s A-Unsigned8
}

Initial-Cnt-impl ::= SEQUENCE{
initial-Cnt-s A-Unsigned8
}

Irreg-Track-impl ::= SEQUENCE{
irreg-Track-s A-Unsigned8
}

IO-Aocc-Clock-impl ::= SEQUENCE{
iO-Aocc-Clock-m A-Unsigned32
}

Left-Side-Cnt-impl ::= SEQUENCE{
left-Side-Cnt-s A-Unsigned16
}

LoopCnt-impl ::= SEQUENCE{
loopCnt-s A-Int
}

Lss-PN-XYZ-impl ::= SEQUENCE{
lss-PN-XYZ-d A-Int
}

Maneuver-tacc-impl ::= SEQUENCE{
maneuver-tacc-s A-Unsigned32
}

Maneuver-Cnt-impl ::= SEQUENCE{
maneuver-Cnt-s A-Unsigned32
}

MavTmLongest-impl ::= SEQUENCE{
mavTmLongest-s A-Unsigned16
}

MEC-Register-impl ::= SEQUENCE{
mEC-Register-s A-Unsigned32
}

Maneuver-impl ::= SEQUENCE{
maneuver-s A-Unsigned8
}

MotumMaxInMane-impl ::= SEQUENCE{
motumMaxInMane-s A-Boolean
}

MantaccUpdate-impl ::= SEQUENCE{
mantaccUpdate-s A-Boolean
}

MK3-Last-impl ::= SEQUENCE{
mK3-Last-s A-Unsigned8
}

Mode-Chg-impl ::= SEQUENCE{
mode-Chg-s A-Boolean
}

MKCmd-impl ::= SEQUENCE{
mKCmd-m A-Unsigned8
}

MM-Ctrl-Cnt-impl ::= SEQUENCE{
mM-Ctrl-Cnt-s A-Int
}

MM-Ctrl-impl ::= SEQUENCE{
mM-Ctrl-s A-Unsigned8
}

Res-impl ::= SEQUENCE{
res-s A-Unsigned8
}

Orbit-Modify-impl ::= SEQUENCE{
orbit-Modify-s A-Unsigned8
}

Obt-Ctrl-Ft-Cnt1-impl ::= SEQUENCE{
obt-Ctrl-Ft-Cnt1-s A-Unsigned16
}

Obt-Ctrl-Ft-Cnt2-impl ::= SEQUENCE{
obt-Ctrl-Ft-Cnt2-s A-Unsigned16
}

Prop-Whole-Att-impl ::= SEQUENCE{
prop-Whole-Att-s A-Unsigned8
}

Prop-Sub-Mode-impl ::= SEQUENCE{
holding A-Unsigned8,
sun-Capture A-Unsigned8,
sun-Direct A-Unsigned8,
earth-Recapture A-Unsigned8,
yaw-Capture A-Unsigned8
}

Pwr-FeedBack-impl ::= SEQUENCE{
bk13 A-Boolean,
bk12 A-Boolean,
bk11 A-Boolean,
bk10 A-Boolean,
bk9 A-Boolean,
bk8 A-Boolean,
st2 A-Boolean,
st1 A-Boolean,
bk1 A-Boolean,
rcws A-Boolean,
rcwz A-Boolean,
rcwy A-Boolean,
rcwx2 A-Boolean,
rcwx1 A-Boolean,
tllBk2 A-Boolean,
tllBk1 A-Boolean,
sada2 A-Boolean,
sada1 A-Boolean,
bk7 A-Boolean,
bk6 A-Boolean,
bk5 A-Boolean,
bk4 A-Boolean,
bk3 A-Boolean,
ires A-Boolean,
ias A-Boolean,
fog-Info22 A-Boolean,
fog-Info21 A-Boolean,
fog-Info12 A-Boolean,
fog-Info11 A-Boolean,
bk2 A-Boolean,
st4 A-Boolean,
st3 A-Boolean
}

PID-VSC-SW-impl ::= SEQUENCE{
pID-VSC-SW-s A-Unsigned8
}

Prop-Whole-Cnt-impl ::= SEQUENCE{
prop-Whole-Cnt-s A-Unsigned32
}

Prop-Whole-H-C-Cnt-impl ::= SEQUENCE{
prop-Whole-H-C-Cnt-s A-Unsigned16
}

Pwd-Cnt-impl ::= SEQUENCE{
pwd-Cnt-s A-Int
}

Pwd-Len-impl ::= SEQUENCE{
pwd-Len-s A-Int
}

Pwd-Input-impl ::= SEQUENCE{
pwd-Input-m A-Char
}

RestoreSucc-impl ::= SEQUENCE{
restoreSucc-s A-Boolean
}

Res-arr-impl ::= SEQUENCE{
res-arr-m A-Unsigned8
}

REG-UART-Status-impl ::= SEQUENCE{
rEG-UART-Status-s A-Unsigned32
}

REG-UART-A-impl ::= SEQUENCE{
rEG-UART-A-s A-Unsigned32
}

Reg-Track-impl ::= SEQUENCE{
reg-Track-s A-Unsigned8
}

Se-impl ::= SEQUENCE{
se-s A-Boolean
}

Sun-Dir-Cnt-impl ::= SEQUENCE{
sun-Dir-Cnt-s A-Unsigned32
}

Sw-Swing-Last-impl ::= SEQUENCE{
sw-Swing-Last-s A-Unsigned8
}

Sun-Shadow-impl ::= SEQUENCE{
sun-Shadow-s A-Boolean
}

Sw-Swing-impl ::= SEQUENCE{
sw-Swing A-Unsigned8
}

Sada2Ok-impl ::= SEQUENCE{
sada2Ok-s A-Boolean
}

Sw-Sada-impl ::= SEQUENCE{
sw-Sada-s A-Unsigned8
}

Twa2mw-impl ::= SEQUENCE{
twa2mw-s A-Unsigned16
}

TmpBl-impl ::= SEQUENCE{
tmpBl-s A-Boolean
}

Tmp-U32-impl ::= SEQUENCE{
tmp-U32-s A-Unsigned32
}

Tmp-Ctrl-Mode-impl ::= SEQUENCE{
tmp-Ctrl-Mode-s A-Unsigned8
}

TmpCnt-impl ::= SEQUENCE{
tmpCnt-s A-Unsigned32
}

Tp1-impl ::= SEQUENCE{
tp1-s A-Int64
}

Time-Cur-impl ::= SEQUENCE{
time-Cur-s A-Int64
}

Tvsc-impl ::= SEQUENCE{
tvsc-s A-Unsigned32
}

Waiting4Restore-impl ::= SEQUENCE{
waiting4Restore-s A-Boolean
}

Waiting-impl ::= SEQUENCE{
waiting A-Unsigned8
}

Wheel-Ctrl-impl ::= SEQUENCE{
wheel-Ctrl-s A-Unsigned8
}

Wheel-Ctrl-Cnt1-impl ::= SEQUENCE{
wheel-Ctrl-Cnt1-s A-Unsigned32
}

Wheel-Ctrl-Cnt2-impl ::= SEQUENCE{
wheel-Ctrl-Cnt2-s A-Unsigned32
}

Wheel-Whole-Att-impl ::= SEQUENCE{
wheel-Whole-Att-s A-Unsigned8
}

Wheel-Whole-H-C-Cnt-impl ::= SEQUENCE{
wheel-Whole-H-C-Cnt-s A-Unsigned16
}

Wheel-Whole-Cnt-impl ::= SEQUENCE{
wheel-Whole-Cnt-s A-Unsigned32
}

Whl-Whole-Ctrl-Cnt3-impl ::= SEQUENCE{
whl-Whole-Ctrl-Cnt3-s A-Unsigned32
}

Whl-Whole-Ctrl-Cnt2-impl ::= SEQUENCE{
whl-Whole-Ctrl-Cnt2-s A-Unsigned32
}

Whl-Whole-Ctrl-Cnt1-impl ::= SEQUENCE{
whl-Whole-Ctrl-Cnt1-s A-Unsigned32
}

Wheel-Rev-Cnt1-impl ::= SEQUENCE{
wheel-Rev-Cnt1-s A-Int
}

Wheel-Cnt-impl ::= SEQUENCE{
wheel-Cnt-s A-Int
}

Val-impl ::= SEQUENCE{
val-s A-Unsigned32
}

Tmp-U64-impl ::= SEQUENCE{
tmp-U64-s A-Unsigned64
}

Tmp-arr-impl ::= SEQUENCE{
tmp-arr-m A-Unsigned32
}

N-impl ::= SEQUENCE{
n-s A-Int32
}

P-impl ::= SEQUENCE{
p-s A-Int32
}

Z-impl ::= SEQUENCE{
z-s A-Int32
}

Cmd-toRight-impl ::= SEQUENCE{
cmd-toRight-s A-Boolean
}

Cmd-toLeft-impl ::= SEQUENCE{
cmd-toLeft-s A-Boolean
}

MaxCntLeft-impl ::= SEQUENCE{
maxCntLeft-s A-Unsigned16
}

BaptaErr-to-Shift-impl ::= SEQUENCE{
baptaErr-to-Shift-s A-Boolean
}

Sada-Drv-Idx-impl ::= SEQUENCE{
sada-Drv-Idx-s A-Unsigned8
}

None-key-impl ::= SEQUENCE{
none-key-s A-Unsigned8
}

CanSwing2L-impl ::= SEQUENCE{
canSwing2L-s A-Boolean
}

CanSwing2R-impl ::= SEQUENCE{
canSwing2R-s A-Boolean
}

X-impl ::= SEQUENCE{
x-s A-Int
}

Y-impl ::= SEQUENCE{
y-s A-Int
}

TACCINIT-impl ::= SEQUENCE{
tACCINIT-s A-Unsigned32
}

END
maxime-esa commented 5 years ago

I see, this is due to a limitation of the parser. It needs to parse the types before it parses the variable declarations, but this is possible only if the types are included at block level.

To fix this, you must include the DataView at the level of the block and not inside the process:

image

zongz1024 commented 5 years ago

I see, this is due to a limitation of the parser. It needs to parse the types before it parses the variable declarations, but this is possible only if the types are included at block level.

To fix this, you must include the DataView at the level of the block and not inside the process:

image

Thanks for your help again !

zongz1024 commented 5 years ago

I see, this is due to a limitation of the parser. It needs to parse the types before it parses the variable declarations, but this is possible only if the types are included at block level. To fix this, you must include the DataView at the level of the block and not inside the process: image

Thanks for your help again !

A little question , How to express unequal in OpenGeode? It does not seem to use " != ". like this image

maxime-esa commented 5 years ago

tmp /= 0