PolyORB-HI-C issueshttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues2022-10-09T13:13:18Zhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/5_po_hi_main_deliver not working2022-10-09T13:13:18ZDaniel Silveira_po_hi_main_deliver not workingHi again,
This is second issue i am investigating.
When i invoke inside a "poller" function the _po_hi_main_deliver function, as printed below:
__po_hi_c_driver_can_leon_poller_request.port = 1;
__po_hi_main_deliver (& ...Hi again,
This is second issue i am investigating.
When i invoke inside a "poller" function the _po_hi_main_deliver function, as printed below:
__po_hi_c_driver_can_leon_poller_request.port = 1;
__po_hi_main_deliver (& __po_hi_c_driver_can_leon_poller_request);
Nothing happens.
I look in the source code, and the functions _po_hi_main_delive are switch cases that will only execute something, if specific values are set within the request and message content.
What are those values?
One seems to be to set the request.port to 1?
Regards,Jérôme HuguesJérôme Hugueshttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/8Using added properties in models2022-10-09T13:13:00ZJavier Herrero MartínUsing added properties in modelsHello,
I have added some new properties to the busses and I'm triying to get their values when initializing a my device driver.
I'm able to reach the busses connected to a device but I do not find functions for getting the properties a...Hello,
I have added some new properties to the busses and I'm triying to get their values when initializing a my device driver.
I'm able to reach the busses connected to a device but I do not find functions for getting the properties and their values (a function similar to __po_hi_get_device_configuration).
Thanks
Regardshttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/3Issues on reading the deployment view configuration data2022-10-09T13:11:04ZDaniel SilveiraIssues on reading the deployment view configuration dataHi,
I am having a peculiar issue reading the configuration data of a driver that is set in the deployment view.
For the can driver i have defined in ASN.1 the attached data structure [can.asn](/uploads/6e9f45a75e209f28c4069fbfab3de354/c...Hi,
I am having a peculiar issue reading the configuration data of a driver that is set in the deployment view.
For the can driver i have defined in ASN.1 the attached data structure [can.asn](/uploads/6e9f45a75e209f28c4069fbfab3de354/can.asn)
Looking at the generated code in our model at binary.c/DriversConfig/leon_partition/DeviceConfig-node1-leon-can-pohic.c , i am able to see we are able to sucessfuly set the data structure values as printed below:
```C
const __po_hi_c_Can_Conf_T pohidrv_node1_leon_can_pohic_cv = {
.driverpath = "/dev/rastaio0/grcan0",
.channel = 1,
.scaler = 7,
.ps1 = 15,
.ps2 = 3,
.rsj = 1,
.bpr = 0,
.txblock = 1,
.rxblock = 1
};
```
But when i run the binary in leon i get the following values
```
driverpath = "/dev/rastaio0/grcan0",
channel = 0
scaler = 1
ps1 = 0
ps2 = 7
rsj = 0
bpr = 15
txblock = 0
rxblock = 3
```
I did some investigation, and it seem there is a 32 to 64 bit issue, all value should have been handled as 32 bit, as instructed in po_hi_transport.c with the function call `__po_hi_uint32_t* __po_hi_get_device_configuration (const __po_hi_device_id dev)`.
But it seems in the file asn1crt.h, we are defining integer values as 64 bit, with the WORD_SIZE definition
```
#ifndef WORD_SIZE
#define WORD_SIZE 8
#endif
#if WORD_SIZE==8
typedef asn1SccUint64 asn1SccUint;
typedef asn1SccSint64 asn1SccSint;
#else
typedef asn1SccUint32 asn1SccUint;
typedef asn1SccSint32 asn1SccSint;
#endif
```
Best regards,Jérôme HuguesJérôme Hugueshttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/15Port Id endianess when using ACN coding2022-10-09T13:09:24ZJavier Herrero MartínPort Id endianess when using ACN codingHello,
We are communicating a RASTA Board with a Linux VM in a Windows platform in the OSRANET activity.
We have found that the Port Id added to the messages used by sporadic interfaces has no endianess treatment. The linux executable...Hello,
We are communicating a RASTA Board with a Linux VM in a Windows platform in the OSRANET activity.
We have found that the Port Id added to the messages used by sporadic interfaces has no endianess treatment. The linux executable crashed due to polyorb code was accessing one of their tables with a very big value.
I had to add a check in the function '__po_hi_get_entity_from_global_port' implemented in 'po_hi_transport.c' and modify the endianess of that field in our driver.
Regards
Javierhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/16Threads usage2022-10-09T13:09:04ZJavier Herrero MartínThreads usageHello,
I have some doubts about the way TASTE works due to a behaviour we have obtained with a big model created from OSRA Editor.
I would like to know:
- The number of threads that are created when a sporadic interface is required by...Hello,
I have some doubts about the way TASTE works due to a behaviour we have obtained with a big model created from OSRA Editor.
I would like to know:
- The number of threads that are created when a sporadic interface is required by a TASTE function
- The number of threads that are created when a sporadic interface is provided by a TASTE funcitons
Thanks
Javierhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/13Synchronizing a distributed system2022-10-09T13:08:12ZJavier Herrero MartínSynchronizing a distributed systemHello,
in the OSRA-NET project we have to implement a Use Case with 3 nodes (two RASTA boards and one Linux x86 TASTE VM) where a set of messages are interchanged in very specific order and timing. A Synch message is send by the RASTA1 ...Hello,
in the OSRA-NET project we have to implement a Use Case with 3 nodes (two RASTA boards and one Linux x86 TASTE VM) where a set of messages are interchanged in very specific order and timing. A Synch message is send by the RASTA1 to the other nodes every 125 ms.
We are facing the problem of synchronizing these three nodes, so for example two of the nodes send at the same millisecond a dataflow to the third node. We are using a script to launch the 3 executables more or least at the same time, but not with the adequate degree of synchronization.
1. Can you confirm us that the offsets set in the ConcurrencyView are independant per each node?
2. Is there a way to introduce our custom initialisation code before TASTE tasks are started, so we implement a synchronisation protocol, and after this "barrier" we exit this routine and then TASTE tasks are started in a synchronised way with the other nodes?
3. Is there a way to shift/adjust during execution the activation offsets of TASTE tasks inside a node, so they iare synchronised with the clock of another node? For example, setting the clock used by TASTE tasks for scheduling?
Thanks in advanceJérôme HuguesJérôme Hugueshttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/18ACN coding error 10042019-07-02T13:10:35ZJavier Herrero MartínACN coding error 1004While running one of the RTEMS_POSIX executables I described in the issue #16 I get an error while coding in ACN my types. It seems it is not always in the same variable because the type differs:
`Could not encode RWcmdType (at C_ASN1_T...While running one of the RTEMS_POSIX executables I described in the issue #16 I get an error while coding in ACN my types. It seems it is not always in the same variable because the type differs:
`Could not encode RWcmdType (at C_ASN1_Types.c, 2008), errorCode was 1004`
`Could not encode TimeSynchroType (at C_ASN1_Types.c, 316), errorCode was 1004`
It seems the problem is placed while coding an int32_t field, but I do not use that type in my definition.
Can you tell me what error is the error 1004?
Regards
Javierhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/7Defining Virtual Channels2019-03-27T14:03:03ZJavier Herrero MartínDefining Virtual ChannelsIn the OSRA-NET project we have to use Virtual Links over a physical nertwork:
Two different options are being evaluated to describe Virtual Links in the TASTE Deployment View:
1. Add a Device per Virtual Link and configure each...In the OSRA-NET project we have to use Virtual Links over a physical nertwork:
Two different options are being evaluated to describe Virtual Links in the TASTE Deployment View:
1. Add a Device per Virtual Link and configure each of them with an ASN.1 type associated to the driver.
We can manage this option with the SCM to TASTE tool. We have successfully tested it.
The main drawback is that the TASTE Ellidiss GUI is not able to manage it correctly, so the TASTE GUI should not be used to visualize the TASTE Deployment View.
2. Add one driver and bus. Then, add the VL properties to the TASTE Function Connections mapped on the TASTE Bus.
This solution reflects the hardware topology better than option 1, but we have to check its feasibility.
***Is it possible to add properties to a message binded to a bus?***
I would like to ask you if this situation has been studied and which solution you see as feasible/elegant/in line with the TASTE filosofy.
I attach a document with a detailed description of the different options and the problems found while investigating it.
Regards.
[OSRA-NET_GMV_Virtual_Links.docx](/uploads/7d871635ccf3032601886a05d8c891cb/OSRA-NET_GMV_Virtual_Links.docx)Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/26Sequences in ASN.12018-09-21T15:19:30ZElena Alana SalazarSequences in ASN.1Hello,
We have installed the latest version of TASTE and we noticed a different behaviour for `SEQUENCE` data types.
In previous versions, when we defined a `SEQUENCE` data type in the Data View, the corresponding `Dataview.ads` generat...Hello,
We have installed the latest version of TASTE and we noticed a different behaviour for `SEQUENCE` data types.
In previous versions, when we defined a `SEQUENCE` data type in the Data View, the corresponding `Dataview.ads` generated for Ada functions, included getters and setters for the SEQUENCE data types. For example:
DataView.asn
```
DatasetMessage-Block ::= SEQUENCE
{
myDatasetValue MyInt
}
```
dataview.ads
```
-- getters and setters
FUNCTION asn1SccDataItems_kind(val:asn1SccDataItems) RETURN asn1SccDataItems_selection;
FUNCTION asn1SccDataItems_datasetMessageBlock_get(val:asn1SccDataItems) RETURN asn1SccDatasetMessage_Block;
```
However, in the latest TASTE release, these getters/setters are not generated. We need them to access the items of the sequences. Is it possible to generate them again?
Thanks,
Elenahttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/25Error Building the system (in C) - Ada functions2018-08-08T08:17:15ZElena Alana SalazarError Building the system (in C) - Ada functionsHello,
We have created a very simple TASTE project with 2 functions. If both functions are implemented in "C", the executable is generated correctly. However, if we select "C" for one of the functions and "Ada" for the other one, we are ...Hello,
We have created a very simple TASTE project with 2 functions. If both functions are implemented in "C", the executable is generated correctly. However, if we select "C" for one of the functions and "Ada" for the other one, we are not able to build the system. The following error appears:
**"tasteada.ads:1:06: file "taste_basictypes.ads" not found"**
The executable is generated correctly using PolyORB-Hi-Ada.
Please, could you check how can we generate the executable using PolyORB-HI-C?
Thanks in advance,
Elena[taste_example.zip](/uploads/77660fbd26de6f83b5322d806d462588/taste_example.zip)https://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/14Error executing in RASTA2018-05-27T16:42:43ZJavier Herrero MartínError executing in RASTAHello,
We have generated a big model for the OSRA-NET project and we are facing problems while executing one of the nodes in a RASTA. The error that appears is this one:
```
IU in error mode (tt = 0x2b)
40059ba8 c227bff4 st %g1, [%...Hello,
We have generated a big model for the OSRA-NET project and we are facing problems while executing one of the nodes in a RASTA. The error that appears is this one:
```
IU in error mode (tt = 0x2b)
40059ba8 c227bff4 st %g1, [%fp - 0xc]
```
I have checked the main.c file generated for that executable and the error appears in the call to
`__po_hi_wait_initialization ();`
It seems the function finishes correctly but it never returns to the main.c.
I also have checked the fist operation performed by the tasks that is initializing a queue, but it is never executed.
In other node (that runs also in a RASTA) with less threads it is able to initialize and run the code in the skeletons.
Regards.Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/9Type not found building RTEMS application2018-05-27T16:36:48ZMiguel Muñoz ArancónType not found building RTEMS applicationA simple RTEMS application using leon.rtems in the deployment view fails to build with the following error:
```
In file included from function1_polyorb_interface.c:7:0:
/opt/ocarina-2.0w-suite-x86-linux-2016.svn/include/ocarina/runtime/...A simple RTEMS application using leon.rtems in the deployment view fails to build with the following error:
```
In file included from function1_polyorb_interface.c:7:0:
/opt/ocarina-2.0w-suite-x86-linux-2016.svn/include/ocarina/runtime/polyorb-hi-c/include/po_hi_task.h:118:35: error: unknown type name '__po_hi_time_t'
const __po_hi_time_t* period,
^
```
It seems that the po_hi_task.h file fails to include po_hi_time.h because there is no suitable #ifdef variable defined (e.g. RTEMS_PURE).
If leon.rtems_posix is selected as processor instead of leon.rtems, the application builds correctly.
[rtems-test.tgz](/uploads/429898c81a3a2796a663e0b9ca30c293/rtems-test.tgz)Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/24Message Size Constraints2018-01-16T17:52:43ZTiago JorgeMessage Size ConstraintsHi,
What are the message size constraints imposed by the TASTE middleware (e.g. due to some protocol used)?
I am assuming it does not support message fragmentation.
Are there any limits that should be taken into account at application o...Hi,
What are the message size constraints imposed by the TASTE middleware (e.g. due to some protocol used)?
I am assuming it does not support message fragmentation.
Are there any limits that should be taken into account at application or device driver level? Are these limits always the same? Can they be configured?
I am assuming the middleware is anyway independent in this regard of the actual communication link used, e.g. Ethernet, Serial or SpW.
The issue https://gitrepos.estec.esa.int/taste/buildsupport/issues/4 seems to be related, as any possible size constraint can be consumed much quickly than expected. Is this fixed in the newest TASTE version?
Thank you.https://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/22Supported devices and buses2018-01-16T17:49:37ZTiago JorgeSupported devices and buses![TASTE-903-DV-LIB](/uploads/79b46933f806d77b60830ddd6a4eb9f0/TASTE-903-DV-LIB.PNG)
In the starting project CORA-MBAD we have been asked about the buses that are supported by TASTE:
* Ethernet - used in GMV
* SpaceWire - there is a de...![TASTE-903-DV-LIB](/uploads/79b46933f806d77b60830ddd6a4eb9f0/TASTE-903-DV-LIB.PNG)
In the starting project CORA-MBAD we have been asked about the buses that are supported by TASTE:
* Ethernet - used in GMV
* SpaceWire - there is a device defined but it is not clear the target
* 1553 - yes?
* CAN - no?
* SPI - ?
* RS232 - ?
* GPIO- ?
We have started using the new TASTE VM and we have seen that there is a new node “GR740 RTEMS4.12”.
Can you tell us what devices and buses are supported for this GR740 RTEMS4.12 processor node?
Looking at the list under *DV_Lib_Root* in the DV is not clear for me. Maybe a short description for each node would be of great help.
Thank you already for the clarification!Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/23Synchronous call to remote node2018-01-16T17:48:54ZTiago JorgeSynchronous call to remote nodeDear all,
Knowing that a FPGA functional block can only have a synchronous PI, does TASTE support (or prevents in any way) that such block is deployed on a physically separated node - e.g. an FPGA connected via SpW to the OBC.
I ask thi...Dear all,
Knowing that a FPGA functional block can only have a synchronous PI, does TASTE support (or prevents in any way) that such block is deployed on a physically separated node - e.g. an FPGA connected via SpW to the OBC.
I ask this since, in principle, synchronous calls should not be done to remote nodes. But for a FPGA this is different I suppose, right?
This applies also to a Simulink block (having a similar interface constraint), for which a possible harware implementation might be deployed remotely.
Thank you for the clarification.https://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/20ACN decoding2017-12-05T12:13:06ZJavier Herrero MartínACN decodingHello,
Using the ranged I commented in the issue #19 (INTEGER (-9223372036854775807..9223372036854775807)), in execution time we have some errors while decoding values. I have used gdb in the linux side but the errors appears also in ...Hello,
Using the ranged I commented in the issue #19 (INTEGER (-9223372036854775807..9223372036854775807)), in execution time we have some errors while decoding values. I have used gdb in the linux side but the errors appears also in the RASTAs we are communicating with.
```
Breakpoint 1, asn1SccUnsigned64IntegerType_ACN_Decode (pVal=0x80a3fc0 <IN_STR_OH_cmd.4125>, pBitStrm=0xb69e3f4c,
pErrCode=0xb69e3f5c) at dataview-uniq.c:307
307 dataview-uniq.c: No such file or directory.
(gdb) load rasta_board_1_primary_partition
`system-supplied DSO at 0xb7fdc000' has disappeared; keeping its symbols.
You can't do that when your target is `multi-thread'
(gdb) p *pErrCode
$1 = 268435464
(gdb) p *pVal
$2 = -9223372036854775807
(gdb) p ret
$3 = false
(gdb) p *pBitStrm
$4 = {buf = 0xb69e3fd4 "", count = 0, currentByte = 1, currentBit = 0}
(gdb) c
Continuing.
Could not decode STROHcmdType (at C_ASN1_Types.c, 1871), error code was 268435464
Error Decoding STROHcmdType
```
As you can see the value is in range but errors appear:
Value: -9223372036854775807
Range: Unsigned64IntegerType ::= INTEGER (-9223372036854775807..9223372036854775807)
I would like to solve this issue or, at least, remove the error messages becasue they are blocking some tasks in the RASTAs making our execution even worse.
Thanks.
JavierMaxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/2Building for a Windows target2017-11-21T14:18:20ZJavier Herrero MartínBuilding for a Windows target```
Hello,
I have tried to create an executable that have to run over a Windows platform. I have used PolyORB-HI-C
The first time I tried to build it some messages appeared warning about missing mingw packets. I have installed these pac...```
Hello,
I have tried to create an executable that have to run over a Windows platform. I have used PolyORB-HI-C
The first time I tried to build it some messages appeared warning about missing mingw packets. I have installed these packets:
p binutils-mingw-w64 - Cross-binutils for Win32 and Win64 using MinGW-w64
i A binutils-mingw-w64-i686 - Cross-binutils for Win32 (x86) using MinGW-w64
i A binutils-mingw-w64-x86-64 - Cross-binutils for Win64 (x64) using MinGW-w64
i g++-mingw-w64 - GNU C++ compiler for MinGW-w64
i A g++-mingw-w64-i686 - GNU C++ compiler for MinGW-w64 targeting Win32
i A g++-mingw-w64-x86-64 - GNU C++ compiler for MinGW-w64 targeting Win64
p gcc-mingw-w64 - GNU C compiler for MinGW-w64
i A gcc-mingw-w64-base - GNU Compiler Collection for MinGW-w64 (base package)
i A gcc-mingw-w64-i686 - GNU C compiler for MinGW-w64 targeting Win32
i A gcc-mingw-w64-x86-64 - GNU C compiler for MinGW-w64 targeting Win64
p gdb-mingw-w64 - Cross-debugger for Win32 and Win64 using MinGW-w64
p gdb-mingw-w64-target - Cross-debugger server for Win32 and Win64 using MinGW-w64
p gfortran-mingw-w64 - GNU Fortran compiler for MinGW-w64
p gfortran-mingw-w64-i686 - GNU Fortran compiler for MinGW-w64 targeting Win32
p gfortran-mingw-w64-x86-64 - GNU Fortran compiler for MinGW-w64 targeting Win64
p gnat-mingw-w64 - GNU Ada compiler for MinGW-w64
p gnat-mingw-w64-base - GNU Ada compiler for MinGW-w64 (base package)
p gnat-mingw-w64-i686 - GNU Ada compiler for MinGW-w64 targeting Win32
p gnat-mingw-w64-x86-64 - GNU Ada compiler for MinGW-w64 targeting Win64
p gobjc++-mingw-w64 - GNU Objective-C++ compiler for MinGW-w64
p gobjc++-mingw-w64-i686 - GNU Objective-C++ compiler for MinGW-w64 targeting Win32
p gobjc++-mingw-w64-x86-64 - GNU Objective-C++ compiler for MinGW-w64 targeting Win64
p gobjc-mingw-w64 - GNU Objective-C compiler for MinGW-w64
p gobjc-mingw-w64-i686 - GNU Objective-C compiler for MinGW-w64 targeting Win32
p gobjc-mingw-w64-x86-64 - GNU Objective-C compiler for MinGW-w64 targeting Win64
p mingw-ocaml - ocaml-mingw-w64 transitional dummy package
p mingw-w64 - Development environment targeting 32- and 64-bit Windows
i A mingw-w64-common - Common files for Mingw-w64
i A mingw-w64-i686-dev - Development files for MinGW-w64 targeting Win32
p mingw-w64-tools - Development tools for 32- and 64-bit Windows
i A mingw-w64-x86-64-dev - Development files for MinGW-w64 targeting Win64
i mingw32 - Minimalist GNU win32 (cross) compiler (transition package)
i A mingw32-binutils - Minimalist GNU win32 (cross) binutils (transition package)
p ocaml-mingw-w64 - OCaml cross-compiler based on mingw -- Meta-package
p ocaml-mingw-w64-i686 - OCaml cross-compiler based on mingw -- 32 bit compiler
v pkg-config-mingw-w64-i686 -
v pkg-config-mingw-w64-x86-64 -
```
Afterwards I get this error messages when compiling:
```
/home/assert/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/./po_hi_task.c:387:31: warning: passing argument 3 of 'CreateThread' from incompatible pointer type
h = CreateThread (NULL, 0, start_routine, NULL, 0, &tid);
^
In file included from /usr/share/mingw-w64/include/winbase.h:29:0,
from /usr/share/mingw-w64/include/windows.h:70,
from /home/assert/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/./po_hi_task.c:18:
/usr/share/mingw-w64/include/processthreadsapi.h:84:28: note: expected 'LPTHREAD_START_ROUTINE' but argument is of type 'void * (*)(void)'
WINBASEAPI HANDLE WINAPI CreateThread (LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
^
/home/assert/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/./po_hi_utils.c: In function '__po_hi_instrumentation_vcd_init':
/home/assert/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/./po_hi_utils.c:131:62: error: 'O_SYNC' undeclared (first use in this function)
__po_hi_vcd_file = open ("bench.vcd", O_WRONLY|O_CREAT|O_SYNC, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
^
/home/assert/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/./po_hi_utils.c:131:62: note: each undeclared identifier is reported only once for each function it appears in
/home/assert/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/./po_hi_utils.c:131:88: error: 'S_IRGRP' undeclared (first use in this function)
__po_hi_vcd_file = open ("bench.vcd", O_WRONLY|O_CREAT|O_SYNC, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
^
/home/assert/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/./po_hi_utils.c:131:98: error: 'S_IWGRP' undeclared (first use in this function)
__po_hi_vcd_file = open ("bench.vcd", O_WRONLY|O_CREAT|O_SYNC, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
^
/home/assert/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/./po_hi_utils.c:131:108: error: 'S_IROTH' undeclared (first use in this function)
__po_hi_vcd_file = open ("bench.vcd", O_WRONLY|O_CREAT|O_SYNC, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
```
Can you tell me if it is possible to create executables for a Windows platform?
Thanks
RegardsJérôme HuguesJérôme Hugueshttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/4Poller task does not yield2017-11-21T14:18:19ZDaniel SilveiraPoller task does not yieldHi again.
I am having a couple of issues that i am still investigating but i am already posting here so you can give me on possible reasons.
In the driver source code within po-hi-c, the init function launches the poller task, with the...Hi again.
I am having a couple of issues that i am still investigating but i am already posting here so you can give me on possible reasons.
In the driver source code within po-hi-c, the init function launches the poller task, with the following two commands
__po_hi_initialize_add_task ();
__po_hi_create_generic_task
(-1, 0, sched_get_priority_min (SCHED_RR), 0, (void* (*)(void)) __po_hi_c_driver_can_leon_poller, &id);
Strange enough when i do this, the main thread associated to a cyclic interface created in the inteface view does not execute. It seems like the poller task does not yield or deletes the cyclic interface.
I did this two calls by copying from other implementations, but i find strange to explicit invoke the poller, i thaugh it would be implicitly invoked like "init" function itself.
RegardsJérôme HuguesJérôme Hugueshttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/21Concurrent interfaces2017-10-12T08:22:50ZTiago JorgeConcurrent interfacesHi,
Can two sporadic PIs in the same TASTE function execute concurrently, or is this prevented by TASTE?
Same question for one Cyclic PI and one sporadic PI.
The scenario is accessing shared data: the cyclic calls a RI to send this data...Hi,
Can two sporadic PIs in the same TASTE function execute concurrently, or is this prevented by TASTE?
Same question for one Cyclic PI and one sporadic PI.
The scenario is accessing shared data: the cyclic calls a RI to send this data and the sporadic(s) update this data when called.
If the mutex is not enforced by TASTE, I suppose one can use OS mutex primitives in the user code instead, right?
(this question came up when reading slide 17 of Taste_training.pdf)
Thanks!Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/polyorb-hi-c/-/issues/12Buffer overflow in __po_hi_msg_append_data2017-10-05T14:54:16ZMiguel Muñoz ArancónBuffer overflow in __po_hi_msg_append_dataA buffer overflow occurs when appending data for sending data through a sporadic interface mapped on a socket connection.
In the function __po_hi_msg_append_data [po_hi_messages.c], the buffer msg->content is written beyond the size lim...A buffer overflow occurs when appending data for sending data through a sporadic interface mapped on a socket connection.
In the function __po_hi_msg_append_data [po_hi_messages.c], the buffer msg->content is written beyond the size limit __PO_HI_MESSAGES_MAX_SIZE.
We haven't been able to find the root cause of the problem. So far, we've seen that the msg parameter is pointing to the global variable __po_hi_c_sockets_send_msg, defined in po_hi_driver_sockets.c. It's not clear to us how this variable is protected from simultaneous access from several threads. It might also be that the size of the message is too large.
We've modified the file po_hi_messages.c to check and print a message in case of buffer overflown. The modified file and the trace generated is provided in attachment. We've come across this issue when working with the Exoter rover, so unfortunately we cannot provide a working sample that could be tested outside the robot. Please, let us know what other information we can provide.
[gdb.log.txt](/uploads/1167d2c5fc2f0317ce216bf978693dcb/gdb.log.txt)
[po_hi_messages.c](/uploads/a37c12fba5e80fee8f9c04e07f422a54/po_hi_messages.c)Maxime PerrotinMaxime Perrotin