Commit fb0d4ab2 authored by Maxime Perrotin's avatar Maxime Perrotin

Delete garbage files

parent 92b13e62
......@@ -3,6 +3,7 @@ project orchestrator is
for Languages use ("SDL");
for Source_Dirs use (".");
for Object_Dir use "code";
for Source_Files use ("orchestrator.pr");
package Naming is
for Body_Suffix ("SDL") use ".pr";
......@@ -11,6 +12,6 @@ project orchestrator is
package Compiler is
for Driver ("SDL") use "opengeode";
for Object_File_Suffix ("SDL") use ".adb";
for Leading_Required_Switches ("SDL") use ("--toAda");
for Leading_Required_Switches ("SDL") use ("--toAda", "../system_structure.pr");
end Compiler;
end orchestrator;
\ No newline at end of file
end orchestrator;
-- Automatically generated by OpenGEODE - do NOT modify!
SUBPROGRAM pulse
FEATURES
pulse_param: IN PARAMETER DataView::MyEnum {encoding=>Native;};
END pulse;
SUBPROGRAM IMPLEMENTATION pulse.GUI_RI
PROPERTIES
FV_Name => "orchestrator";
Source_Language => GUI_RI;
END pulse.GUI_RI;
SUBPROGRAM telemetry
FEATURES
telemetry_param: IN PARAMETER DataView::MyEnum {encoding=>Native;};
END telemetry;
SUBPROGRAM IMPLEMENTATION telemetry.GUI_PI
PROPERTIES
FV_Name => "orchestrator";
Source_Language => GUI_PI;
END telemetry.GUI_PI;
SUBPROGRAM peek_list
FEATURES
peek_list_param: IN PARAMETER DataView::TASTE_Peek_id_list {encoding=>Native;};
END peek_list;
SUBPROGRAM IMPLEMENTATION peek_list.GUI_PI
PROPERTIES
FV_Name => "orchestrator";
Source_Language => GUI_PI;
END peek_list.GUI_PI;
SUBPROGRAM peek_fixed
FEATURES
peek_fixed_param: IN PARAMETER DataView::FixedIntList {encoding=>Native;};
END peek_fixed;
SUBPROGRAM IMPLEMENTATION peek_fixed.GUI_PI
PROPERTIES
FV_Name => "orchestrator";
Source_Language => GUI_PI;
END peek_fixed.GUI_PI;
This diff is collapsed.
#ifndef __C_DATAVIEW_UNIQ_H__
#define __C_DATAVIEW_UNIQ_H__
#include <stdlib.h> /* for size_t */
#include "dataview-uniq.h" // Space certified compiler generated
#include "../../system_config.h" // Choose ASN.1 Types to use
#ifdef __NEED_MyChoice_UPER
size_t Encode_UPER_MyChoice(void *pBuffer, size_t iMaxBufferSize, const asn1SccMyChoice *pSrc);
#endif
#ifdef __NEED_MyChoice_ACN
size_t Encode_ACN_MyChoice(void *pBuffer, size_t iMaxBufferSize, asn1SccMyChoice *pSrc);
#endif
#ifdef __NEED_MyChoice_NATIVE
size_t Encode_NATIVE_MyChoice(void *pBuffer, size_t iMaxBufferSize, const asn1SccMyChoice *pSrc);
#endif
#ifdef __NEED_MyChoice_UPER
int Decode_UPER_MyChoice(asn1SccMyChoice *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MyChoice_ACN
int Decode_ACN_MyChoice(asn1SccMyChoice *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MyChoice_NATIVE
int Decode_NATIVE_MyChoice(asn1SccMyChoice *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_TASTE_Peek_id_list_UPER
size_t Encode_UPER_TASTE_Peek_id_list(void *pBuffer, size_t iMaxBufferSize, const asn1SccTASTE_Peek_id_list *pSrc);
#endif
#ifdef __NEED_TASTE_Peek_id_list_ACN
size_t Encode_ACN_TASTE_Peek_id_list(void *pBuffer, size_t iMaxBufferSize, asn1SccTASTE_Peek_id_list *pSrc);
#endif
#ifdef __NEED_TASTE_Peek_id_list_NATIVE
size_t Encode_NATIVE_TASTE_Peek_id_list(void *pBuffer, size_t iMaxBufferSize, const asn1SccTASTE_Peek_id_list *pSrc);
#endif
#ifdef __NEED_TASTE_Peek_id_list_UPER
int Decode_UPER_TASTE_Peek_id_list(asn1SccTASTE_Peek_id_list *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_TASTE_Peek_id_list_ACN
int Decode_ACN_TASTE_Peek_id_list(asn1SccTASTE_Peek_id_list *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_TASTE_Peek_id_list_NATIVE
int Decode_NATIVE_TASTE_Peek_id_list(asn1SccTASTE_Peek_id_list *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySetOf_UPER
size_t Encode_UPER_MySetOf(void *pBuffer, size_t iMaxBufferSize, const asn1SccMySetOf *pSrc);
#endif
#ifdef __NEED_MySetOf_ACN
size_t Encode_ACN_MySetOf(void *pBuffer, size_t iMaxBufferSize, asn1SccMySetOf *pSrc);
#endif
#ifdef __NEED_MySetOf_NATIVE
size_t Encode_NATIVE_MySetOf(void *pBuffer, size_t iMaxBufferSize, const asn1SccMySetOf *pSrc);
#endif
#ifdef __NEED_MySetOf_UPER
int Decode_UPER_MySetOf(asn1SccMySetOf *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySetOf_ACN
int Decode_ACN_MySetOf(asn1SccMySetOf *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySetOf_NATIVE
int Decode_NATIVE_MySetOf(asn1SccMySetOf *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MyEnum_UPER
size_t Encode_UPER_MyEnum(void *pBuffer, size_t iMaxBufferSize, const asn1SccMyEnum *pSrc);
#endif
#ifdef __NEED_MyEnum_ACN
size_t Encode_ACN_MyEnum(void *pBuffer, size_t iMaxBufferSize, asn1SccMyEnum *pSrc);
#endif
#ifdef __NEED_MyEnum_NATIVE
size_t Encode_NATIVE_MyEnum(void *pBuffer, size_t iMaxBufferSize, const asn1SccMyEnum *pSrc);
#endif
#ifdef __NEED_MyEnum_UPER
int Decode_UPER_MyEnum(asn1SccMyEnum *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MyEnum_ACN
int Decode_ACN_MyEnum(asn1SccMyEnum *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MyEnum_NATIVE
int Decode_NATIVE_MyEnum(asn1SccMyEnum *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_TASTE_Peek_id_UPER
size_t Encode_UPER_TASTE_Peek_id(void *pBuffer, size_t iMaxBufferSize, const asn1SccTASTE_Peek_id *pSrc);
#endif
#ifdef __NEED_TASTE_Peek_id_ACN
size_t Encode_ACN_TASTE_Peek_id(void *pBuffer, size_t iMaxBufferSize, asn1SccTASTE_Peek_id *pSrc);
#endif
#ifdef __NEED_TASTE_Peek_id_NATIVE
size_t Encode_NATIVE_TASTE_Peek_id(void *pBuffer, size_t iMaxBufferSize, const asn1SccTASTE_Peek_id *pSrc);
#endif
#ifdef __NEED_TASTE_Peek_id_UPER
int Decode_UPER_TASTE_Peek_id(asn1SccTASTE_Peek_id *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_TASTE_Peek_id_ACN
int Decode_ACN_TASTE_Peek_id(asn1SccTASTE_Peek_id *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_TASTE_Peek_id_NATIVE
int Decode_NATIVE_TASTE_Peek_id(asn1SccTASTE_Peek_id *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySeq_UPER
size_t Encode_UPER_MySeq(void *pBuffer, size_t iMaxBufferSize, const asn1SccMySeq *pSrc);
#endif
#ifdef __NEED_MySeq_ACN
size_t Encode_ACN_MySeq(void *pBuffer, size_t iMaxBufferSize, asn1SccMySeq *pSrc);
#endif
#ifdef __NEED_MySeq_NATIVE
size_t Encode_NATIVE_MySeq(void *pBuffer, size_t iMaxBufferSize, const asn1SccMySeq *pSrc);
#endif
#ifdef __NEED_MySeq_UPER
int Decode_UPER_MySeq(asn1SccMySeq *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySeq_ACN
int Decode_ACN_MySeq(asn1SccMySeq *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySeq_NATIVE
int Decode_NATIVE_MySeq(asn1SccMySeq *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_T_UInt32_UPER
size_t Encode_UPER_T_UInt32(void *pBuffer, size_t iMaxBufferSize, const asn1SccT_UInt32 *pSrc);
#endif
#ifdef __NEED_T_UInt32_ACN
size_t Encode_ACN_T_UInt32(void *pBuffer, size_t iMaxBufferSize, asn1SccT_UInt32 *pSrc);
#endif
#ifdef __NEED_T_UInt32_NATIVE
size_t Encode_NATIVE_T_UInt32(void *pBuffer, size_t iMaxBufferSize, const asn1SccT_UInt32 *pSrc);
#endif
#ifdef __NEED_T_UInt32_UPER
int Decode_UPER_T_UInt32(asn1SccT_UInt32 *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_T_UInt32_ACN
int Decode_ACN_T_UInt32(asn1SccT_UInt32 *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_T_UInt32_NATIVE
int Decode_NATIVE_T_UInt32(asn1SccT_UInt32 *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySimpleSeq_UPER
size_t Encode_UPER_MySimpleSeq(void *pBuffer, size_t iMaxBufferSize, const asn1SccMySimpleSeq *pSrc);
#endif
#ifdef __NEED_MySimpleSeq_ACN
size_t Encode_ACN_MySimpleSeq(void *pBuffer, size_t iMaxBufferSize, asn1SccMySimpleSeq *pSrc);
#endif
#ifdef __NEED_MySimpleSeq_NATIVE
size_t Encode_NATIVE_MySimpleSeq(void *pBuffer, size_t iMaxBufferSize, const asn1SccMySimpleSeq *pSrc);
#endif
#ifdef __NEED_MySimpleSeq_UPER
int Decode_UPER_MySimpleSeq(asn1SccMySimpleSeq *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySimpleSeq_ACN
int Decode_ACN_MySimpleSeq(asn1SccMySimpleSeq *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySimpleSeq_NATIVE
int Decode_NATIVE_MySimpleSeq(asn1SccMySimpleSeq *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_FixedIntList_UPER
size_t Encode_UPER_FixedIntList(void *pBuffer, size_t iMaxBufferSize, const asn1SccFixedIntList *pSrc);
#endif
#ifdef __NEED_FixedIntList_ACN
size_t Encode_ACN_FixedIntList(void *pBuffer, size_t iMaxBufferSize, asn1SccFixedIntList *pSrc);
#endif
#ifdef __NEED_FixedIntList_NATIVE
size_t Encode_NATIVE_FixedIntList(void *pBuffer, size_t iMaxBufferSize, const asn1SccFixedIntList *pSrc);
#endif
#ifdef __NEED_FixedIntList_UPER
int Decode_UPER_FixedIntList(asn1SccFixedIntList *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_FixedIntList_ACN
int Decode_ACN_FixedIntList(asn1SccFixedIntList *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_FixedIntList_NATIVE
int Decode_NATIVE_FixedIntList(asn1SccFixedIntList *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySeqOf_UPER
size_t Encode_UPER_MySeqOf(void *pBuffer, size_t iMaxBufferSize, const asn1SccMySeqOf *pSrc);
#endif
#ifdef __NEED_MySeqOf_ACN
size_t Encode_ACN_MySeqOf(void *pBuffer, size_t iMaxBufferSize, asn1SccMySeqOf *pSrc);
#endif
#ifdef __NEED_MySeqOf_NATIVE
size_t Encode_NATIVE_MySeqOf(void *pBuffer, size_t iMaxBufferSize, const asn1SccMySeqOf *pSrc);
#endif
#ifdef __NEED_MySeqOf_UPER
int Decode_UPER_MySeqOf(asn1SccMySeqOf *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySeqOf_ACN
int Decode_ACN_MySeqOf(asn1SccMySeqOf *pDst, void *pBuffer, size_t iBufferSize);
#endif
#ifdef __NEED_MySeqOf_NATIVE
int Decode_NATIVE_MySeqOf(asn1SccMySeqOf *pDst, void *pBuffer, size_t iBufferSize);
#endif
#endif
T_UInt32_REQUIRED_BYTES_FOR_ENCODING = 4
T_UInt32_REQUIRED_BYTES_FOR_ACN_ENCODING = 4
T_UInt32_REQUIRED_BYTES_FOR_XER_ENCODING = 41
TASTE_Peek_id_REQUIRED_BYTES_FOR_ENCODING = 4
TASTE_Peek_id_REQUIRED_BYTES_FOR_ACN_ENCODING = 4
TASTE_Peek_id_REQUIRED_BYTES_FOR_XER_ENCODING = 51
TASTE_Peek_id_list_REQUIRED_BYTES_FOR_ENCODING = 41
TASTE_Peek_id_list_REQUIRED_BYTES_FOR_ACN_ENCODING = 41
TASTE_Peek_id_list_REQUIRED_BYTES_FOR_XER_ENCODING = 551
FixedIntList_REQUIRED_BYTES_FOR_ENCODING = 12
FixedIntList_REQUIRED_BYTES_FOR_ACN_ENCODING = 12
FixedIntList_REQUIRED_BYTES_FOR_XER_ENCODING = 182
MyEnum_REQUIRED_BYTES_FOR_ENCODING = 1
MyEnum_REQUIRED_BYTES_FOR_ACN_ENCODING = 1
MyEnum_REQUIRED_BYTES_FOR_XER_ENCODING = 26
MySimpleSeq_a_REQUIRED_BYTES_FOR_ENCODING = 1
MySimpleSeq_a_REQUIRED_BYTES_FOR_ACN_ENCODING = 1
MySimpleSeq_a_REQUIRED_BYTES_FOR_XER_ENCODING = 51
MySimpleSeq_REQUIRED_BYTES_FOR_ENCODING = 2
MySimpleSeq_REQUIRED_BYTES_FOR_ACN_ENCODING = 2
MySimpleSeq_REQUIRED_BYTES_FOR_XER_ENCODING = 90
MySeqOf_elm_REQUIRED_BYTES_FOR_ENCODING = 1
MySeqOf_elm_REQUIRED_BYTES_FOR_ACN_ENCODING = 1
MySeqOf_elm_REQUIRED_BYTES_FOR_XER_ENCODING = 47
MySeqOf_REQUIRED_BYTES_FOR_ENCODING = 2
MySeqOf_REQUIRED_BYTES_FOR_ACN_ENCODING = 2
MySeqOf_REQUIRED_BYTES_FOR_XER_ENCODING = 136
MySetOf_elm_REQUIRED_BYTES_FOR_ENCODING = 1
MySetOf_elm_REQUIRED_BYTES_FOR_ACN_ENCODING = 1
MySetOf_elm_REQUIRED_BYTES_FOR_XER_ENCODING = 47
MySetOf_REQUIRED_BYTES_FOR_ENCODING = 2
MySetOf_REQUIRED_BYTES_FOR_ACN_ENCODING = 2
MySetOf_REQUIRED_BYTES_FOR_XER_ENCODING = 136
MyChoice_b_REQUIRED_BYTES_FOR_ENCODING = 1
MyChoice_b_REQUIRED_BYTES_FOR_ACN_ENCODING = 1
MyChoice_b_REQUIRED_BYTES_FOR_XER_ENCODING = 32
MyChoice_REQUIRED_BYTES_FOR_ENCODING = 1
MyChoice_REQUIRED_BYTES_FOR_ACN_ENCODING = 1
MyChoice_REQUIRED_BYTES_FOR_XER_ENCODING = 41
MySeq_REQUIRED_BYTES_FOR_ENCODING = 1
MySeq_REQUIRED_BYTES_FOR_ACN_ENCODING = 1
MySeq_REQUIRED_BYTES_FOR_XER_ENCODING = 62
a_PRESENT = 1
b_PRESENT = 2
one = 0
two = 1
three = 2
four = 3
five = 4
aa = 0
bb = 1
funcTypeLookup = {'MySeq__a_Get': 'flag', 'MyChoice__a_Get': 'flag', 'MySeq__b_kind_Get': 'int', 'MySeqOf__iDx_Get': 'asn1SccSint', 'MySimpleSeq__b_Get': 'flag', 'MySeq__b_a_Get': 'flag', 'TASTE_Peek_id_list__GetLength': 'long', 'T_UInt32__Get': 'asn1SccSint', 'FixedIntList__iDx_Get': 'asn1SccSint', 'MyEnum__Get': 'int', 'MySeq__b_b_Get': 'int', 'MySimpleSeq__a_Get': 'asn1SccSint', 'MySimpleSeq__c_Get': 'int', 'TASTE_Peek_id__Get': 'asn1SccSint', 'MySetOf__GetLength': 'long', 'MySeq__b_Get': 'MyChoice*', 'MyChoice__kind_Get': 'int', 'MyChoice__b_Get': 'int', 'TASTE_Peek_id_list__iDx_Get': 'asn1SccSint', 'FixedIntList__GetLength': 'long', 'MySeqOf__GetLength': 'long', 'MySetOf__iDx_Get': 'asn1SccSint'}
\ No newline at end of file
This diff is collapsed.
ASN1SCC:=$(shell which asn1.exe)
ASN2DATAMODEL:=asn2dataModel
GRAMMAR := dataview-uniq
BASEGRAMMAR := dataview-uniq
BDIR:= .
OBJ := $(BDIR)/$(GRAMMAR).o $(BDIR)/asn1crt.o $(BDIR)/real.o $(BDIR)/acn.o $(BDIR)/$(BASEGRAMMAR)_getset.o
all: $(BDIR)/$(BASEGRAMMAR)_getset.so $(BDIR)/DV.py
$(BDIR)/$(GRAMMAR)_getset.c: $(GRAMMAR).asn
mkdir -p $(BDIR)
$(ASN2DATAMODEL) -toPython -o $(BDIR) $<
$(BDIR)/asn1crt.c $(BDIR)/$(GRAMMAR).c $(BDIR)/real.c $(BDIR)/acn.c $(BDIR)/$(GRAMMAR).h $(BDIR)/asn1crt.h: $(GRAMMAR).asn
if [ ! -f "$(GRAMMAR).acn" ] ; then mono $(ASN1SCC) -ACND -o $(BDIR) $< ; fi
mono $(ASN1SCC) -ACN -c -uPER -equal -wordSize 8 -o $(BDIR) $< $(GRAMMAR).acn
$(BDIR)/DV.py: $(GRAMMAR).asn
grep 'REQUIRED_BYTES_FOR_.*ENCODING' $(BDIR)/$(GRAMMAR).h | awk '{print $$2 " = " $$3}' > $@
python learn_CHOICE_enums.py dataview-uniq >> $@
$(BDIR)/%.o: $(BDIR)/%.c
gcc -g -fPIC -c `python-config --includes` -o $@ $<
$(BDIR)/$(BASEGRAMMAR)_getset.so: ${OBJ}
gcc -g -fPIC -shared `python-config --ldflags` -o $@ $^
clean:
rm -f $(BDIR)/asn1crt.? $(BDIR)/real.? $(BDIR)/$(GRAMMAR).? $(BDIR)/acn.?
rm -f $(BDIR)/DV.py $(BDIR)/*.pyc $(BDIR)/$(BASEGRAMMAR)_getset.? $(BDIR)/$(BASEGRAMMAR)_getset.so
rm -f $(BDIR)/$(GRAMMAR)_asn.py
mscdocument automade;
language ASN.1;
data dataview-uniq.asn;
inst Operator;
msg pulse : (MyEnum);
msg peek_list : (TASTE-Peek-id-list);
msg peek_fixed : (FixedIntList);
msg telemetry : (MyEnum);
msc recorded;
gate in pulse,1(two) from Operator;
gate in pulse,4(two) from Operator;
gate out telemetry,8(two) to Operator;
gate out peek_list,9({0, 1, 0, 1, 0}) to Operator;
gate out peek_fixed,10({1, 2, 3}) to Operator;
gate in pulse,12(two) from Operator;
gate in pulse,15(two) from Operator;
gate out telemetry,19(two) to Operator;
gate out peek_list,20({0, 1, 0, 1, 0}) to Operator;
gate out peek_fixed,21({1, 2, 3}) to Operator;
gate in pulse,23(two) from Operator;
gate in pulse,26(two) from Operator;
gate out telemetry,30(two) to Operator;
gate out peek_list,31({0, 1, 0, 1, 0}) to Operator;
gate out peek_fixed,32({1, 2, 3}) to Operator;
gate in pulse,34(two) from Operator;
gate in pulse,37(two) from Operator;
gate out telemetry,41(two) to Operator;
gate out peek_list,42({0, 1, 0, 1, 0}) to Operator;
gate out peek_fixed,43({1, 2, 3}) to Operator;
gate in pulse,45(two) from Operator;
gate in pulse,48(two) from Operator;
gate out telemetry,52(two) to Operator;
gate out peek_list,53({0, 1, 0, 1, 0}) to Operator;
gate out peek_fixed,54({1, 2, 3}) to Operator;
gate in pulse,56(two) from Operator;
gate in pulse,59(two) from Operator;
gate out telemetry,63(two) to Operator;
gate out peek_list,64({0, 1, 0, 1, 0}) to Operator;
gate out peek_fixed,65({1, 2, 3}) to Operator;
gate in pulse,67(two) from Operator;
Operator: instance;
out pulse,1(two) to env;
out pulse,4(two) to env;
in telemetry,8(two) from env;
in peek_list,9({0, 1, 0, 1, 0}) from env;
in peek_fixed,10({1, 2, 3}) from env;
out pulse,12(two) to env;
out pulse,15(two) to env;
in telemetry,19(two) from env;
in peek_list,20({0, 1, 0, 1, 0}) from env;
in peek_fixed,21({1, 2, 3}) from env;
out pulse,23(two) to env;
out pulse,26(two) to env;
in telemetry,30(two) from env;
in peek_list,31({0, 1, 0, 1, 0}) from env;
in peek_fixed,32({1, 2, 3}) from env;
out pulse,34(two) to env;
out pulse,37(two) to env;
in telemetry,41(two) from env;
in peek_list,42({0, 1, 0, 1, 0}) from env;
in peek_fixed,43({1, 2, 3}) from env;
out pulse,45(two) to env;
out pulse,48(two) to env;
in telemetry,52(two) from env;
in peek_list,53({0, 1, 0, 1, 0}) from env;
in peek_fixed,54({1, 2, 3}) from env;
out pulse,56(two) to env;
out pulse,59(two) to env;
in telemetry,63(two) from env;
in peek_list,64({0, 1, 0, 1, 0}) from env;
in peek_fixed,65({1, 2, 3}) from env;
out pulse,67(two) to env;
endinstance;
endmsc;
endmscdocument;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#!/usr/bin/python
import DV
FVname = "orchestrator"
tc = {}
tm = {}
errCodes = {}
tc["pulse"] = {'nodeTypename': 'MyEnum', 'type': 'ENUMERATED', 'id': 'pulse', 'values':["one", "two", "three", "four", "five"], "valuesInt": {"one": 0, "two": 1, "three": 2, "four": 3, "five": 4}}
tm["telemetry"] = {'nodeTypename': 'MyEnum', 'type': 'ENUMERATED', 'id': 'telemetry', 'values':["one", "two", "three", "four", "five"], "valuesInt": {"one": 0, "two": 1, "three": 2, "four": 3, "five": 4}}
tm["peek_list"] = {'nodeTypename': 'TASTE-Peek-id-list', 'type': 'SEQOF', 'id': 'peek_list', 'minSize': 1, 'maxSize': 10, 'seqoftype':{'nodeTypename': '', 'type': 'INTEGER', 'id': 'peek_list', 'minR': 0, 'maxR': 4294967295}
}
tm["peek_fixed"] = {'nodeTypename': 'FixedIntList', 'type': 'SEQOF', 'id': 'peek_fixed', 'minSize': 3, 'maxSize': 3, 'seqoftype':{'nodeTypename': '', 'type': 'INTEGER', 'id': 'peek_fixed', 'minR': 0, 'maxR': 4294967295}
}
errCodes={1001: {'name': 'T_UInt32', 'constraint': '(0..4294967295)'}, 1002: {'name': 'TASTE_Peek_id', 'constraint': '(0..4294967295)'}, 1003: {'name': 'TASTE_Peek_id_list', 'constraint': '(SIZE(1..10))'}, 1004: {'name': 'FixedIntList', 'constraint': '(SIZE(3))'}, 1005: {'name': 'MyEnum', 'constraint': ''}, 1006: {'name': 'MyEnum_unknown_enumeration_value', 'constraint': ''}, 1007: {'name': 'MySimpleSeq_a', 'constraint': '(0..255)'}, 1008: {'name': 'MySeqOf_elm', 'constraint': '(0..10)'}, 1009: {'name': 'MySeqOf', 'constraint': '(SIZE(1..3))'}, 1010: {'name': 'MySetOf_elm', 'constraint': '(0..10)'}, 1011: {'name': 'MySetOf', 'constraint': '(SIZE(1..3))'}, 1012: {'name': 'MyChoice_b', 'constraint': ''}, 1013: {'name': 'MyChoice_b_unknown_enumeration_value', 'constraint': ''}, 1014: {'name': 'MyChoice_unknown_choice_index', 'constraint': ''}}
TASTE-BasicTypes DEFINITIONS ::= BEGIN
T-UInt32[]
TASTE-Peek-id[]
TASTE-Peek-id-list[]
FixedIntList[]
MyEnum[]
MyChoice[]
MySeq[]
MySetOf[]
MySeqOf[]
MySimpleSeq[]
END
\ No newline at end of file
TASTE-BasicTypes DEFINITIONS ::=
BEGIN
T-UInt32 ::= INTEGER (0..4294967295)
TASTE-Peek-id ::= INTEGER (0..4294967295)
TASTE-Peek-id-list ::= SEQUENCE (SIZE (1..10)) OF TASTE-Peek-id
FixedIntList ::= SEQUENCE (SIZE(3)) OF TASTE-Peek-id
MyEnum ::= ENUMERATED {one, two, three, four, five}
MyChoice ::= CHOICE { a BOOLEAN, b ENUMERATED { aa, bb } }
MySeq ::= SEQUENCE { a BOOLEAN, b MyChoice }
MySetOf ::= SET (SIZE(1..3)) OF INTEGER (0..10)
MySeqOf ::= SEQUENCE (SIZE(1..3)) OF INTEGER (0..10)
MySimpleSeq ::= SEQUENCE { a INTEGER (0..255), b BOOLEAN, c MyEnum }
END
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#!/usr/bin/env python2
import os
import sys
choices = []
enums = []
bEnum = False
''' Parse the ASN.1-generated header file and extract the constants used for
CHOICE determinants (#define det..._PRESENT) and ENUMERATED values
Emit strings that are appended to DV.py from Makefile.python
There is no name clash thanks to the rename policy of the ASN.1 compiler
(a constant cannot be defined twice)
'''
for line in open(sys.argv[1] + '.h', 'r'):
if '_PRESENT' in line and not line.startswith('#define'):
choices.append(line.strip().replace(",", ""))
elif line.strip().startswith('typedef enum {'):
bEnum = True
elif line.strip().startswith('}') and bEnum:
bEnum = False
elif bEnum:
enums.append(line.strip().replace(",", "").split("="))
enums_dump = "\n ".join(
'printf("%s = %%d\\n", %s);' % (e, e)
for e in choices
)
enums_dump += "\n ".join(
'printf("%s = %d\\n");' % (name.strip(), int(val))
for name, val in enums
)
uniq = os.getpid()
extractor_filename = "/tmp/enums_%d" % uniq
f = open(extractor_filename + ".c", 'w')
f.write("""
#include <stdio.h>
#include "%(base)s.h"
void main()
{
%(enums_dump)s
}""" % {"enums_dump": enums_dump, "base": sys.argv[1]})
f.close()
cmd = "gcc -o %s -I. %s.c" % (extractor_filename, extractor_filename)
if os.system(cmd) != 0:
print("Failed to extract CHOICE enum values...")
sys.exit(1)
os.system(extractor_filename)
os.unlink(extractor_filename + ".c")
os.unlink(extractor_filename)
cfg -Efontsize 8
cfg -Gsep 0.3
cfg -Nfontsize 12
cfg -Gstart random10
cfg -Goverlap scale
cfg -Gdpi 72
cfg -Elen 1
cfg -Gsplines curved
cfg -Nshape record
cfg -Nstyle rounded
paramless_tc
pulse
[General]
plots=@Invalid()
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\x3\xe6\0\0\0\xb6\0\0\x6\xaf\0\0\x3\xbd\0\0\x3\xe8\0\0\0\xcd\0\0\x6\xad\0\0\x3\xbb\0\0\0\0\0\0)
windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x1\0\0\x1\x8c\0\0\x2\xbc\xfc\x2\0\0\0\x4\xfc\0\0\0\x1d\0\0\0\x9e\0\0\0\x94\0\xff\xff\xff\xfa\0\0\0\0\x2\0\0\0\x2\xfb\0\0\0\b\0t\0\x63\0_\0\x30\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x94\0\xff\xff\xff\xfb\0\0\0\x16\0M\0S\0\x43\0R\0\x65\0\x63\0o\0r\0\x64\0\x65\0r\x2\0\0\x1\xa3\0\0\x1\xcb\0\0\x2\xc9\0\0\x2\x18\xfc\0\0\0\xc1\0\0\0\xdb\0\0\0\xab\x1\0\0\x16\xfa\0\0\0\0\x2\0\0\0\x3\xfb\0\0\0\b\0t\0m\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x94\0\xff\xff\xff\xfb\0\0\0\b\0t\0m\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x94\0\xff\xff\xff\xfb\0\0\0\b\0t\0m\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x94\0\xff\xff\xff\xfb\0\0\0\x12\0S\0\x44\0L\0V\0i\0\x65\0w\0\x65\0r\x3\0\0\0>\0\0\0\xa3\0\0\x3s\0\0\x2\xf1\xfc\0\0\x1\xa2\0\0\x1\x37\0\0\x1\x14\x1\0\0\x16\xfa\0\0\0\x1\x2\0\0\0\x3\xfb\0\0\0&\0I\0n\0t\0\x65\0r\0n\0\x61\0l\0S\0t\0\x61\0t\0\x65\0V\0i\0\x65\0w\0\x65\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xb2\0\xff\xff\xff\xfb\0\0\0\x14\0S\0i\0m\0u\0l\0\x61\0t\0i\0o\0n\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xfd\0\xff\xff\xff\xfb\0\0\0\xe\0\x43\0h\0\x65\0\x63\0k\0\x65\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa8\0\xff\xff\xff\0\0\x1\x34\0\0\x2\xbc\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\xe\0t\0o\0o\0l\0\x62\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
plotInfo=@Variant(\0\0\0\b\0\0\0\0)
This diff is collapsed.
-- Automatically generated by OpenGEODE - do NOT modify!
SUBPROGRAM pulse
FEATURES
pulse_param: IN PARAMETER DataView::MyEnum {encoding=>Native;};
END pulse;
SUBPROGRAM IMPLEMENTATION pulse.GUI_RI
PROPERTIES
FV_Name => "orchestrator";