Method is required by the interface issue when inheriting components in CDE

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Method is required by the interface issue when inheriting components in CDE

692 Views
brianbranecky
Contributor I

When creating a custom embedded component using CDE and inheriting an AsynchroSerial component, I get a errors "Method is required by the interface, but is disabled by the component settings or by the template" when trying to use the component.  I also get the same error for events. 

pastedImage_0.png

Labels (1)
0 Kudos
3 Replies

368 Views
marek_neuzil
NXP Employee
NXP Employee


Hello,

The error message means that the component is inherited in another component that requires these methods (the interface, that is used for the inheritance, requires these methods). You must correct the design of the component (correct the interface, component/template settings (enable generating of these methods) or a chg script that disables these methods).

It is a bug of the component design (inheritance).

If you need additional help, provide the component(s) for analysis, please.

Best Regards,

Marek Neuzil

0 Kudos

368 Views
brianbranecky
Contributor I

Marek,

I have tried everything I know to correct the interface to enable these methods, but cannot get the errors to go away.  Here is my procedure:

File->New->Embedded Component (using KDS 3.0.0)

Under the component Properties ->Inherit Component... -> AsynchroSerial->Exclusive usage of component methods and events

at this point I tried "Extended component interface, override or publish component methods or events" it did not fix the issue

select each method needed by the interface and change the inherit pull-down from "no" to "yes" (This icon will change from M or E to I)

Refresh and Deploy

Add component to project and you will get the errors described above.

I am not sure how to fix the issue.  Can the issue be fixed via a CHG script?  If so how?

Brian

0 Kudos

368 Views
marek_neuzil
NXP Employee
NXP Employee

Brian,

It seems that you have issue in the mode of every method that is inherited. If you leave the Mode = ALWAYS_REQUIRED the error is reported when the method is not generated.

When you open the interface of the AsynchroSerial that is used in your component select the methods that reports error and select for example OPTIONAL_IF_EXIST mode, see below. You can find details in the Help of CDE (e.g. Inheritance Wizard help page).

pastedImage_0.png

For example the RecvBlock method is not enabled in the AsynchroSerial by default. Therefore you need to modify the AsynchroSerial configuration that is inherited (use for example a template).

Best Regards,

Marek Neuzil

0 Kudos