Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
regression-suites
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
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
TASTE
regression-suites
Commits
6f91059f
Commit
6f91059f
authored
Jan 17, 2018
by
Maxime Perrotin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Demo_Directive with V2 tools
parent
d2475b4b
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
558 additions
and
2654 deletions
+558
-2654
Demo_Directives/DeploymentView.aadl
Demo_Directives/DeploymentView.aadl
+61
-2292
Demo_Directives/InterfaceView.aadl
Demo_Directives/InterfaceView.aadl
+130
-114
Demo_Directives/build-script.sh
Demo_Directives/build-script.sh
+112
-29
Demo_Directives/function0/function0.c
Demo_Directives/function0/function0.c
+4
-2
Demo_Directives/function0/function0.h
Demo_Directives/function0/function0.h
+8
-0
Demo_Directives/function1/dataview/asn1crt.h
Demo_Directives/function1/dataview/asn1crt.h
+114
-49
Demo_Directives/function1/dataview/dataview-uniq.h
Demo_Directives/function1/dataview/dataview-uniq.h
+115
-165
Demo_Directives/function1/function1.c
Demo_Directives/function1/function1.c
+6
-3
Demo_Directives/function1/function1.h
Demo_Directives/function1/function1.h
+8
-0
No files found.
Demo_Directives/DeploymentView.aadl
View file @
6f91059f
This diff is collapsed.
Click to expand it.
Demo_Directives/InterfaceView.aadl
View file @
6f91059f
PACKAGE interfaceview::IV
PUBLIC
WITH DataView;
WITH interfaceview::FV;
WITH Taste;
---------------------------------------------------
-- TASTE Interface View
-- AADL2.1
-- TASTE type interfaceview
--
-- generated code: do not edit
---------------------------------------------------
SYSTEM interfaceview
END interfaceview;
SYSTEM IMPLEMENTATION interfaceview.others
SUBCOMPONENTS
Function0: SYSTEM interfaceview::IV::Function0.others
{ Taste::Coordinates => "841 257 2165 1411"; };
Function1: SYSTEM interfaceview::IV::Function1.others
{ Taste::Coordinates => "1166 1665 1986 2018"; };
CONNECTIONS
obj356 : SUBPROGRAM ACCESS Function0.pop_obj87 -> Function1.obj243_obj120
{ Taste::Coordinates => "1280 1665 1280 1488.9 708.6 1488.9 708.6 997 841 997"; };
END interfaceview.others;
---------------------------------------------------
-- TASTE Function: interfaceview::IV::Function0
---------------------------------------------------
SYSTEM Function0
FEATURES
plou_obj76 : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::plou_obj76.others
{ Taste::Coordinates => "841 468";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 100 ms;
Taste::Deadline => 0 ms;
Taste::Importance => MEDIUM ;};
pop_obj87 : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::pop_obj87.others
{ Taste::Coordinates => "841 997";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::Importance => MEDIUM ;};
PROPERTIES
Source_Language => C;
Taste::Instance_Name => "Function0";
END Function0;
SYSTEM IMPLEMENTATION Function0.others
SUBCOMPONENTS
hello_obj65 : DATA DataView::Taste_directive
{ Taste::FS_Default_Value => "simulink-script:{filename ""world""}"; };
plou_obj76_impl : SUBPROGRAM interfaceview::FV::plou_obj76.others
{ Compute_Execution_Time => 0ms..0ms ;};
pop_obj87_impl : SUBPROGRAM interfaceview::FV::pop_obj87.others
{ Compute_Execution_Time => 0ms..0ms ;};
CONNECTIONS
DATA ACCESS hello_obj65 -> plou_obj76_impl.hello_obj65;
SUBPROGRAM ACCESS plou_obj76_impl -> plou_obj76;
DATA ACCESS hello_obj65 -> pop_obj87_impl.hello_obj65;
SUBPROGRAM ACCESS pop_obj87_impl -> pop_obj87;
END Function0.others;
---------------------------------------------------
-- TASTE Function: interfaceview::IV::Function1
---------------------------------------------------
SYSTEM Function1
FEATURES
kok_obj109 : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::kok_obj109.others
{ Taste::Coordinates => "1986 1888";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::Importance => MEDIUM ;};
obj243_obj120 : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::pop_obj87.others
{ Taste::Coordinates => "1280 1665";
Taste::RCMoperationKind => sporadic;};
PROPERTIES
Source_Language => C;
Taste::Instance_Name => "Function0";
END Function1;
SYSTEM IMPLEMENTATION Function1.others
SUBCOMPONENTS
kok_obj109_impl : SUBPROGRAM interfaceview::FV::kok_obj109.others
{ Compute_Execution_Time => 0ms..0ms ;};
CONNECTIONS
SUBPROGRAM ACCESS kok_obj109_impl -> kok_obj109;
END Function1.others;
PACKAGE interfaceview::IV::Function0
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_plou
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_plou;
SUBPROGRAM IMPLEMENTATION PI_plou.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_plou.others;
SUBPROGRAM PI_pop
FEATURES
ddf : IN PARAMETER DataView::MyInteger {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_pop;
SUBPROGRAM IMPLEMENTATION PI_pop.others
PROPERTIES
Taste::Coordinates => "0 0 2970 2100";
Taste::dataView => ("DataView","DataView");
Taste::dataViewPath => ("DataView.aadl");
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_pop.others;
SYSTEM Function0
FEATURES
PI_plou : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function0::PI_plou.others {
Taste::coordinates => "841 468";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 100 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "plou";
};
PI_pop : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function0::PI_pop.others {
Taste::coordinates => "841 997";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "pop";
};
PROPERTIES
Source_Language => (C);
Taste::Active_Interfaces => enabled;
END Function0;
END interfaceview::IV;
SYSTEM IMPLEMENTATION Function0.others
SUBCOMPONENTS
hello : DATA DataView::Taste_directive {
Taste::FS_Default_Value => "simulink-script:{filename ""world""}";
};
END Function0.others;
END interfaceview::IV::Function0;
PACKAGE interfaceview::
FV
PACKAGE interfaceview::
IV::Function1
PUBLIC
WITH interfaceview::IV::Function0;
WITH Taste;
WITH DataView;
WITH TASTE;
SUBPROGRAM plou_obj76
FEATURES
hello_obj65 : REQUIRES DATA ACCESS DataView::Taste_directive;
END plou_obj76;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_kok
END PI_kok;
SUBPROGRAM IMPLEMENTATION plou_obj76.others
END plou_obj76.others;
SUBPROGRAM IMPLEMENTATION PI_kok.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_kok.others;
SUBPROGRAM RI_pop
FEATURES
ddf : IN PARAMETER DataView::MyInteger {
Taste::encoding => NATIVE;
};
END RI_pop;
SUBPROGRAM IMPLEMENTATION RI_pop.others
END RI_pop.others;
SYSTEM Function1
FEATURES
PI_kok : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1::PI_kok.others {
Taste::coordinates => "1986 1888";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 200 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "kok";
};
RI_pop : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Function0::PI_pop.others {
Taste::coordinates => "1280 1665";
Taste::RCMoperationKind => sporadic;
Taste::InterfaceName => "pop";
Taste::labelInheritance => "true";
};
PROPERTIES
Source_Language => (C);
Taste::Active_Interfaces => enabled;
END Function1;
SUBPROGRAM pop_obj87
FEATURES
ddf : in PARAMETER DataView::MyInteger
{ Taste::encoding => NATIVE; };
hello_obj65 : REQUIRES DATA ACCESS DataView::Taste_directive;
PROPERTIES
Taste::Associated_Queue_Size => 1;
END pop_obj87;
SYSTEM IMPLEMENTATION Function1.others
END Function1.others;
SUBPROGRAM IMPLEMENTATION pop_obj87.others
END pop_obj87.others;
END interfaceview::IV::Function1;
SUBPROGRAM kok_obj109
END kok_obj109;
PACKAGE interfaceview::IV
PUBLIC
SUBPROGRAM IMPLEMENTATION kok_obj109.others
END kok_obj109.others;
WITH interfaceview::IV::Function0;
WITH interfaceview::IV::Function1;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SYSTEM interfaceview
END interfaceview;
SYSTEM IMPLEMENTATION interfaceview.others
SUBCOMPONENTS
Function0 : SYSTEM interfaceview::IV::Function0::Function0.others {
Taste::coordinates => "841 257 2165 1411";
};
Function1 : SYSTEM interfaceview::IV::Function1::Function1.others {
Taste::coordinates => "1166 1665 1986 2018";
};
CONNECTIONS
Function0_PI_pop_Function1_RI_pop : SUBPROGRAM ACCESS Function0.PI_pop -> Function1.RI_pop {
Taste::coordinates => "1280 1665 1280 1488.9 708.6 1488.9 708.6 997 841 997";
};
END interfaceview.others;
END interfaceview::FV;
PROPERTIES
Taste::dataView => ("DataView");
Taste::dataViewPath => ("DataView.aadl");
Taste::coordinates => "0 0 2970 2100";
Taste::version => "2.0";
END interfaceview::IV;
Demo_Directives/build-script.sh
View file @
6f91059f
#!/bin/bash
#!/bin/bash
-e
# This script will build your TASTE system.
# You must check it before running it: it may need to be adapted to your context:
# 1) You may need to fix some paths and filenames (path to interface/deployment views)
# 2) You may need to specify additional paths for the compiler to find .h file
# (e.g. "export C_INCLUDE_PATH=/usr/include/xenomai/analogy/:$C_INCLUDE_PATH")
# 3) You may need to link with pre-built libraries, using the -l option
# (e.g. -l /usr/lib/libanalogy.a,/usr/lib/librtdm.a)
# 4) You may need to change the runtime (add -p flag to select PolyORB-HI-C)
# etc.
# Note: TASTE will not overwrite your changes - if you need to update some parts
# you will have to merge the changes with the newly-created "build-script.new.sh" file.
taste-update-data-view
||
exit
1
rm
-f
function0.zip
zip function0 function0/
*
rm
-f
function1.zip
zip function1 function1/
*
[
!
-z
"
$CLEANUP
"
]
&&
rm
-rf
binary
echo
Building the system with the Ada runtime
assert-builder-ocarina.py
\
-f
\
# You should not change this file as it was automatically generated.
# If you need additional preprocessing, there are three hook files
# that you can provide and that are called dring the build:
# user_init_pre.sh, user_init_post.sh and user_init_last.sh
# These files will never get overwritten by TASTE.'
# Inside these files you may set some environment variables:
# C_INCLUDE_PATH=/usr/include/xenomai/analogy/:${C_INCLUDE_PATH}
# unset USE_POHIC
CWD
=
$(
pwd
)
if
[
-t
1
]
;
then
COLORON
=
"
\e
[1m
\e
[32m"
COLOROFF
=
"
\e
[0m"
else
COLORON
=
""
COLOROFF
=
""
fi
INFO
=
"
${
COLORON
}
[INFO]
${
COLOROFF
}
"
if
[
-f
user_init_pre.sh
]
then
echo
-e
"
${
INFO
}
Executing user-defined init script"
source
user_init_pre.sh
fi
# Use PolyORB-HI-C runtime
USE_POHIC
=
1
# Set Debug mode by default
DEBUG_MODE
=
--debug
# Detect models from Ellidiss tools v2, and convert them to 1.3
INTERFACEVIEW
=
InterfaceView.aadl
grep
"version =>
\"
2"
InterfaceView.aadl
>
/dev/null
&&
{
echo
-e
"
${
INFO
}
Converting interface view from V2 to V1.3"
TASTE
--load-interface-view
InterfaceView.aadl
--export-interface-view-to-1_3
__iv_1_3.aadl
INTERFACEVIEW
=
__iv_1_3.aadl
}
;
if
[
-z
"
$DEPLOYMENTVIEW
"
]
then
DEPLOYMENTVIEW
=
DeploymentView.aadl
fi
# Detect models from Ellidiss tools v2, and convert them to 1.3
grep
"version =>
\"
2"
"
$DEPLOYMENTVIEW
"
>
/dev/null
&&
{
echo
-e
"
${
INFO
}
Converting deployment view from V2 to V1.3"
TASTE
--load-deployment-view
"
$DEPLOYMENTVIEW
"
--export-deployment-view-to-1_3
__dv_1_3.aadl
DEPLOYMENTVIEW
=
__dv_1_3.aadl
}
;
SKELS
=
"./"
# Check if Dataview references existing files
mono
$(
which taste-extract-asn-from-design.exe
)
-i
"
$INTERFACEVIEW
"
-j
/tmp/dv.asn
cd
"
$SKELS
"
&&
rm
-f
function0.zip
&&
zip function0 function0/
*
&&
cd
$OLDPWD
cd
"
$SKELS
"
&&
rm
-f
function1.zip
&&
zip function1 function1/
*
&&
cd
$OLDPWD
[
!
-z
"
$CLEANUP
"
]
&&
rm
-rf
binary
*
if
[
-f
ConcurrencyView.pro
]
then
ORCHESTRATOR_OPTIONS+
=
" -w ConcurrencyView.pro "
elif
[
-f
ConcurrencyView_Properties.aadl
]
then
ORCHESTRATOR_OPTIONS+
=
" -w ConcurrencyView_Properties.aadl "
fi
if
[
-f
user_init_post.sh
]
then
echo
-e
"
${
INFO
}
Executing user-defined post-init script"
source
user_init_post.sh
fi
if
[
-f
additionalCommands.sh
]
then
source
additionalCommands.sh
fi
if
[
!
-z
"
$USE_POHIC
"
]
then
OUTPUTDIR
=
binary.c
ORCHESTRATOR_OPTIONS+
=
" -p "
elif
[
!
-z
"
$USE_POHIADA
"
]
then
OUTPUTDIR
=
binary.ada
else
OUTPUTDIR
=
binary
fi
cd
"
$CWD
"
&&
assert-builder-ocarina.py
\
--fast
\
$DEBUG_MODE
\
--aadlv2
\
--keep-case
\
--interfaceView
InterfaceView.aadl
\
--deploymentView
DeploymentView.aadl
\
-o
binary
\
--subC
function0:function0.zip
\
--subC
function1:function1.zip
--interfaceView
"
$INTERFACEVIEW
"
\
--deploymentView
"
$DEPLOYMENTVIEW
"
\
-o
"
$OUTPUTDIR
"
\
--subC
function0:
"
$SKELS
"
/function0.zip
\
--subC
function1:
"
$SKELS
"
/function1.zip
\
$ORCHESTRATOR_OPTIONS
if
[
-f
user_init_last.sh
]
then
echo
-e
"
${
INFO
}
Executing user-defined post-build script"
source
user_init_last.sh
fi
Demo_Directives/function0/function0.c
View file @
6f91059f
/* Functions to be filled by the user (never overwritten by buildsupport tool) */
#include "function0.h"
#include <stdio.h>
void
function0_startup
()
{
printf
(
"Function0 startup
\n
"
);
/* Write your initialization code here,
but do not make any call to a required interface!! */
}
void
function0_PI_plou
()
{
printf
(
"Function0 periodic
\n
"
);
/* Write your code here! */
}
void
function0_PI_pop
(
const
asn1SccMyInteger
*
IN_ddf
)
{
/* Write your code here! */
printf
(
"Function0 got value from function1 : %lld
\n
"
,
*
IN_ddf
);
}
Demo_Directives/function0/function0.h
View file @
6f91059f
...
...
@@ -7,11 +7,19 @@
#include "C_ASN1_Types.h"
#ifdef __cplusplus
extern
"C"
{
#endif
void
function0_startup
();
void
function0_PI_plou
();
void
function0_PI_pop
(
const
asn1SccMyInteger
*
);
#ifdef __cplusplus
}
#endif
#endif
Demo_Directives/function1/dataview/asn1crt.h
View file @
6f91059f
#ifndef
_INC_PER_UTIL_H
#define
_INC_PER_UTIL_H
#ifndef
ASN1SCC_ASN1CRT_H_
#define
ASN1SCC_ASN1CRT_H_
#if (!defined(_MSC_VER) || _MSC_VER >= 1800)
# ifndef SWIG
# include <stdbool.h>
# endif
#else
typedef
unsigned
char
bool
;
#define true 1
#define false 0
#endif
#ifdef __cplusplus
extern
"C"
{
...
...
@@ -10,34 +19,45 @@ extern "C" {
#define NULL 0
#endif
#
define TRUE 1
#define
FALSE 0
#
ifndef TRUE
#define
TRUE true
#endif
#ifndef FALSE
#define FALSE false
#endif
#ifndef WORD_SIZE
#define WORD_SIZE 8
#endif
typedef
long
asn1SccSint32
;
typedef
unsigned
long
asn1SccUint32
;
typedef
unsigned
char
byte
;
typedef
int
asn1SccSint32
;
typedef
unsigned
int
asn1SccUint32
;
typedef
unsigned
char
byte
;
#if WORD_SIZE==8
typedef
long
long
asn1SccSint64
;
typedef
unsigned
long
long
asn1SccUint64
;
#if WORD_SIZE==8
typedef
asn1SccUint64
asn1SccUint
;
typedef
asn1SccSint64
asn1SccSint
;
#else
typedef
asn1SccUint32
asn1SccUint
;
typedef
asn1SccSint32
asn1SccSint
;
#endif
#ifdef _MSC_VER
# ifndef INFINITY
# define INFINITY (DBL_MAX+DBL_MAX)
# endif
# ifndef NAN
# define NAN (INFINITY-INFINITY)
# endif
#endif
typedef
int
flag
;
typedef
bool
flag
;
typedef
char
NullType
;
...
...
@@ -53,6 +73,7 @@ typedef struct {
byte
*
buf
;
long
count
;
long
currentByte
;
flag
EncodeWhiteSpace
;
}
ByteStream
;
typedef
struct
{
...
...
@@ -74,6 +95,7 @@ typedef struct {
#define ERR_INSUFFICIENT_DATA 101
#define ERR_INCORRECT_PER_STREAM 102
#define ERR_INVALID_CHOICE_ALTERNATIVE 103
#define ERR_INVALID_ENUM_VALUE 104
#define ERR_INVALID_XML_FILE 200
#define ERR_INVALID_BER_FILE 201
#define ERR_BER_LENGTH_MISMATCH 202
...
...
@@ -104,12 +126,15 @@ flag BitStream_ReadByte(BitStream* pBitStrm, byte* v);
void
BitStream_EncodeUnConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
v
);
void
BitStream_EncodeSemiConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
v
,
asn1SccSint
min
);
void
BitStream_EncodeSemiConstraintPosWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccUint
v
,
asn1SccUint
min
);
void
BitStream_EncodeConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
v
,
asn1SccSint
min
,
asn1SccSint
max
);
void
BitStream_EncodeConstraintPosWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccUint
v
,
asn1SccUint
min
,
asn1SccUint
max
);
flag
BitStream_DecodeUnConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
*
v
);
flag
BitStream_DecodeSemiConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
*
v
,
asn1SccSint
min
);
flag
BitStream_DecodeSemiConstraintPosWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccUint
*
v
,
asn1SccUint
min
);
flag
BitStream_DecodeConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
*
v
,
asn1SccSint
min
,
asn1SccSint
max
);
flag
BitStream_DecodeConstraintPosWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccUint
*
v
,
asn1SccUint
min
,
asn1SccUint
max
);
...
...
@@ -120,7 +145,7 @@ flag BitStream_DecodeReal(BitStream* pBitStrm, double* v);
void
CalculateMantissaAndExponent
(
double
d
,
int
*
exp
,
asn1SccUint
*
mantissa
);
void
CalculateMantissaAndExponent
(
double
d
,
int
*
exp
,
asn1SccUint
64
*
mantissa
);
double
GetDoubleByMantissaAndExp
(
asn1SccUint
mantissa
,
int
exp
);
int
GetNumberOfBitsForNonNegativeInteger
(
asn1SccUint
v
);
...
...
@@ -145,15 +170,15 @@ void Acn_AlignToNextWord(BitStream* pBitStrm);
void
Acn_AlignToNextDWord
(
BitStream
*
pBitStrm
);
/*ACN Integer functions*/
void
Acn_Enc_Int_PositiveInteger_ConstSize
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
,
int
encodedSizeInBits
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_16
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_32
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_64
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_16
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_32
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
,
int
encodedSizeInBits
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_16
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_32
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_64
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_16
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_32
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_PositiveInteger_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_TwosComplement_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
,
int
encodedSizeInBits
);
void
Acn_Enc_Int_TwosComplement_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
...
...
@@ -165,26 +190,29 @@ void Acn_Enc_Int_TwosComplement_ConstSize_little_endian_32(BitStream* pBitStrm,
void
Acn_Enc_Int_TwosComplement_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_BCD_ConstSize
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
,
int
encodedSizeInNibbles
);
void
Acn_Enc_Int_BCD_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
intVal
);
void
Acn_Enc_Int_BCD_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1Scc
Sint
intVal
);
//encoding ends when 'F' is reached
void
Acn_Enc_Int_BCD_ConstSize
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
,
int
encodedSizeInNibbles
);
void
Acn_Enc_Int_BCD_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
intVal
);
void
Acn_Enc_Int_BCD_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1Scc
Uint
intVal
);
/*encoding ends when 'F' is reached*/
void
Acn_Enc_Int_ASCII_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
,
int
encodedSizeInBytes
);
void
Acn_Enc_Int_ASCII_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_
Int_ASCII_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
//encoding ends when 0x0 is reached
void
Acn_Enc_
S
Int_ASCII_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
,
int
encodedSizeInBytes
);
void
Acn_Enc_
S
Int_ASCII_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_
SInt_ASCII_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
/*encoding ends when 0x0 is reached*/
void
Acn_Enc_UInt_ASCII_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccUint
intVal
,
int
encodedSizeInBytes
);
void
Acn_Enc_UInt_ASCII_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccUint
intVal
);
void
Acn_Enc_UInt_ASCII_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1SccUint
intVal
);
/*encoding ends when 0x0 is reached*/
/*ACN Decode Integer functions*/
flag
Acn_Dec_Int_PositiveInteger_ConstSize
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
,
int
encodedSizeInBits
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_16
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_32
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_64
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_16
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_32
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1Scc
S
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
,
int
encodedSizeInBits
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_16
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_32
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_64
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_16
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_32
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1Scc
U
int
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
,
int
encodedSizeInBits
);
flag
Acn_Dec_Int_TwosComplement_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
...
...
@@ -196,15 +224,20 @@ flag Acn_Dec_Int_TwosComplement_ConstSize_little_endian_32(BitStream* pBitStrm,
flag
Acn_Dec_Int_TwosComplement_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_BCD_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
,
int
encodedSizeInNibbles
);
flag
Acn_Dec_Int_BCD_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
//encoding ends when 'F' is reached
flag
Acn_Dec_Int_BCD_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_BCD_Co