capicxx-someip-tools/docx/CommonAPISomeIPCppUserGuide 를 참고하였음.




기본 형식 (fdepl)

import "platform:/plugin/org.genivi.commonapi.core/deployment/CommonAPI-SOMEIP_deployment_spec.fdepl"


define org.genivi.commonapi.someip.deployment for interface <CommonAPI interface name> {

SomeIpServiceID = <id>


method <CommonAPI method name> {

SomeIpMethodID = <id>

}


attribute <CommonAPI method name> {

SomeIpGetterID = <id>

SomeIpSetterID = <id>

SomeIpNotifierID = <id>

// All these ID settings are optional, but you need to specify at least one

// if you specify a SomeIpNotifierID you also need to specify an eventgroup

SomeIpEventGroups = { <id> }

}

}


define org.genivi.commonapi.someip.deployment for provider <Name> {

instance <CommonAPI interface name> {

InstanceId = <CommonAPI instance name>

SomeIpInstanceID = <id>

}


SOME/IP 파라미터 관련해서 SOME/IP specification at http://some-ip.com/  를 참고


중요 룰은  아래와 같다.

- Method identifiers must be unique within the interface but must also be unique considering the extensions. Extended interfaces must not have the same method identifiers as base interfaces. Method identifiers are: SomeIpMethodID, SomeIpGetterID and SomeIpSetterID.

- The range of method identifiers must be 1 to 32767.

- Event identifiers must be unique within the interface (also when extensions are considered). The range must be 32769 to 65534. Event identifiers are SomeIpEventID and SomeIpNotifierID.

- Every selective broadcast must have its own event group; there must not be two selective broadcasts in the same eventgroup within one interface (again considering extensions).

- The eventgroup identifier (SomeIpEventGroups) must at least 1; each event (broadcast, attributes with notifier) must be at least in one event group.

- If attributes have a notifier they must be in at least one event group.

- Getter and setter identifiers of attributes must be consistent concerning the attribute keywords readonly and nosubscriptions.



 - 함수 식별자는 인터페이스 내에서 고유해야 하지만, 확장을 고려하여 작성하여야 한다. 확장인터페이스는 기본 인터페이스와 동일한 함수 식별자를 가져서는 안된다. 함수 식별자는 다음과 같다. SomeIpMethodID, SomeIpGetterID and SomeIpSetterID

 - 함수 식별자 범위는 1에서 32767 까지이다. ( SomeIpMethodID )

 - 이벤트 식별자는 인터페이스 내에서 고유해야한다. (확장이 고려되는 경우 동일) 범위는 32769 ~ 65534. 이벤트 식별자는 

    (SomeIpEventID , SomeIpNotifierID) 

 - 모든 선택적 브로드 캐스트에는 자체 이벤트 그룹이 있어야합니다. 하나의 인터페이스 내에서 동일한 이벤트 그룹에 2 개의 선택적 브로드 캐스트가 없어야 한다. (다시 확장을 고려함).

- 이벤트 그룹 ID (SomeIpEventGroups) 최소한 1이어야 한다. 이벤트 (브로드 캐스트, 알리미가있는 속성) 적어도 하나의 이벤트 그룹에 있어야 한다.

- 속성에 통지자가 있으면 최소한 하나의 이벤트 그룹에 있어야 한다.

- 속성의 Getter Setter 식별자는 readonly nosubscriptions 속성 키워드에 대해 일관성이 있어야 한다.


'Embedded > CommonAPI' 카테고리의 다른 글

[Memory-1] fidl 작성하기 -작성중  (0) 2019.01.04
[GENIVI] ARA integration project  (0) 2019.01.04
[Franca] 작성하고 코드 생성하기  (0) 2019.01.03
[CommonAPI C++] D-Bus binding  (0) 2019.01.03
[CommonAPI] tool 설치 작성중  (0) 2019.01.02

+ Recent posts