-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IDL parser in IDE #4
Comments
BTW this problem is with version 1.10.0 |
I just checked with RedHawk 2.0 and there is NO CHANGE. The problem still occurs in both the IDL Repository explorer and the IDL syntax-directed editor (which appear to use different parsers) but does NOT occur in the omniORB idl2cpp (omniidl) compiler which builds the idl project and allows it to install without error. |
I have similar problem with RedHawk 2.0. |
I have not heard from developer team, but I was able to work around this particular IDL parsing problem but modifying the java code for the parser to simply ignore the exception. This is not a good fix since it allows the parser to also ignore true errors but it allowed me to use my installed interfaces. My fix would only work if you have this exact same issue, ie, using a constant's value in later declarations , such as setting values for a new const using it on the right side of = or using it as an array size, etc. |
I am trying to move a WAVEFORM application C++, ACE/ORB environment to REDHAWK IDE environment. One of the requirement is to migrate lot of IDL's to the new environment where new modules, new interfaces. When I saw the new REDHAWK IDL project, there is not much write up on importing an IDL project, once I compile and export to the TARGET SDR environment, It shows in the TARGET SDR repository. When configuring the ports, in the port Details section, it does not show up in the BROWSE drop down menus as one of the interfaces that are already defined. At this point, any thing I have tried is resulting in lot of build problems (java exceptions etc.). A considerable amount of code base - starting from fresh on REDHAWK IDE is not a choice to move forward. Any help is greatly appreciated. thanks sivaram From: Terry L Anderson [email protected] I have not heard from developer team, but I was able to work around this particular IDL parsing problem but modifying the java code for the parser to simply ignore the exception. This is not a good fix since it allows the parser to also ignore true errors but it allowed me to use my installed interfaces. My fix would only work if you have this exact same issue, ie, using a constant's value in later declarations , such as setting values for a new const using it on the right side of = or using it as an array size, etc. You are receiving this because you commented. |
If your new interfaces show in the Target SDR/IDL Repository then you do On 7/13/2016 8:18 AM, jsrsarma wrote:
Dr Terry L Anderson |
I am checking the box i can see the interface but not the "expanded interface" where in I can select the types I would prefer to assign. I am enclosing a scrreen shot of what I am seeing. I am wondering if this is really a problem ( I hope not) if it is just my misunderstanding or not going over the manual thoroughly. I really appreciate. thanks sivaram From: Terry L Anderson [email protected] If your new interfaces show in the Target SDR/IDL Repository then you do On 7/13/2016 8:18 AM, jsrsarma wrote:
Dr Terry L Anderson You are receiving this because you commented. |
Forgot to include, this is how JTRS is defined. #include "ossie/CF/cf.idl" module JTRS {
From: sivaram Tenali [email protected] I am checking the box i can see the interface but not the "expanded interface" where in I can select the types I would prefer to assign. I am enclosing a scrreen shot of what I am seeing. I am wondering if this is really a problem ( I hope not) if it is just my misunderstanding or not going over the manual thoroughly. I really appreciate. thanks sivaram From: Terry L Anderson [email protected] If your new interfaces show in the Target SDR/IDL Repository then you do On 7/13/2016 8:18 AM, jsrsarma wrote:
Dr Terry L Anderson You are receiving this because you commented. |
Got the idl file contents below but not a screen shot. I have built and On 7/13/2016 10:04 AM, jsrsarma wrote:
Dr Terry L Anderson |
I should add that the ExtEnum use is exactly where the other problem const Algorithm ALG_NONE = 0; then later const Algorithm ALG_RAW = ALG_NONE+1; this IDL code will be rejected by RedHawk's parser and so the entire idl const Algorithm ALG_RAW = 1 it will parse ok, but the former form is much easier to maintain and is On 7/13/2016 10:04 AM, jsrsarma wrote:
Dr Terry L Anderson |
Hello Terry StreamControlType UNDEFINED PortTypes - UNDEFINED where to include paths I appreciate. thanks sivaram #include "ossie/CF/cf.idl" NOT RESOLVED module xpkt From: Terry L Anderson [email protected] I should add that the ExtEnum use is exactly where the other problem const Algorithm ALG_NONE = 0; then later const Algorithm ALG_RAW = ALG_NONE+1; this IDL code will be rejected by RedHawk's parser and so the entire idl const Algorithm ALG_RAW = 1 it will parse ok, but the former form is much easier to maintain and is |
StreamControlType is in Packet.idl and include/redhawk/*/Packet.h PortTypes is in ossie/CF/PortTypes.idl and include/ossie/CF/PortTypes.h If you have installed all the required/included IDL then I would just You need to add any additional idl directories to RedHawk's and since OSSIE names CF.idl as "cf.idl" while all the JTRS Standard On 7/13/2016 2:14 PM, jsrsarma wrote:
Dr Terry L Anderson |
Hello Terry I am wondering anything further I am still missing. #include "/usr/local/redhawk/core/share/idl/ossie/CF/cf.idl module Packet
}; From: Terry L Anderson [email protected] StreamControlType is in Packet.idl and include/redhawk/*/Packet.h PortTypes is in ossie/CF/PortTypes.idl and include/ossie/CF/PortTypes.h If you have installed all the required/included IDL then I would just You need to add any additional idl directories to RedHawk's and since OSSIE names CF.idl as "cf.idl" while all the JTRS Standard On 7/13/2016 2:14 PM, jsrsarma wrote:
Dr Terry L Anderson You are receiving this because you commented. |
I have the need to add new IDL interfaces to the system using an IDL Project wizard. They build and install correctly but the IDE uses an IDL parser to read installed IDL files and build a tree browser of interfaces, data types, constants, etc. that is used when specifying ports on components. The parser used for this is different from the parser used by the build tools when building IDL projects. The IDE parser has a bug that makes it reject some legal IDL. So when adding new IDL to the system (using an IDL Project), some legal IDL will build and install without error, but the interfaces do not appear in the IDL browser and so cannot be selected for ports in components.
IDL files that use the value of a const defined in the same file or in an included IDL file will be ignored and any interfaces, data types, constants, exceptions, etc. defined in that file will not appear in the browser.
For example, if Vocoder.idl defines:
const Algorithm ALG_NONE = 0;
and later defines:
const Algorithm ALG_RAW = ALG_NONE+1;
and VocoderCvsdExt.idl, which has a #include Vocoder.idl, defines:
const Algorithm ALG_CVSD = ALG_NONE + 4;
and an interface that contains:
const Mode Mode_NONE = 0;
const Mode KY57 = Mode_NONE+1;
const Mode Mode_MAX = KY57+1;
The use of ALG_NONE and Mode_NONE as values causes both Vocoder.idl and VocoderCvsdExt.idl to be ignored and none of their declared items appear in the browser, but other IDL files that include Vocoder.idl but do NOT use values of the constants appear in the browser.
This prevents me from using these interfaces in my components.
The text was updated successfully, but these errors were encountered: