3. API 仕様
3.5 定数
3.5.1 初期値定数
定数名 Rte_InitValue_<Port>_<DEPType>【rte_sws_5078】
概要 データの初期値
備考 <Port>はS/R連携の送信側,もしくは受信側ポートのショートネーム.
<DEPType>はS/R連携の送信側,もしくは受信側データ要素のショート
ネーム.
初期値定数を提供するヘッダ
初期値定数は,アプリケーションヘッダ内に定義する【rte_sws_5078】.
初期値定数の設定
RTEGEN は,データセマンティックスの送信側,もしくは受信側データ要素毎に,初期値定数を生
成する【rte_sws_5078】.
#define Rte_InitValue_<Port>_<DEPType> ((<DataType>) <initValue>) ここで
・ <Port>は,送信側,もしくは受信側データ要素の所属するポートのショートネーム.
・ <DEPType>は,データ要素のショートネーム.
・ <DataType>は,データ要素の実装データ型(ImplementationDataType)のショートネーム.
・ <initValue>は,データの初期値.
3.5.2 アプリケーションエラー定数
定数名 RTE_E_<interface>_<error>【rte_sws_2576】
概要 アプリケーションエラーの定数値
備考 <interface>はC/Sインタフェースのショートネーム,
<error>はアプリケーションエラーのショートネーム.
アプリケーションエラー定数を提供するヘッダ
アプリケーションエラー定数は,アプリケーションヘッダで定義される【rte_sws_2575】.
アプリケーションエラー定数の設定
アプリケーションエラー定数は以下のように定義する【rte_sws_2576】.
#define RTE_E_<interface>_<error> ((Std_ReturnType)<error value>) ここで,
・ <interface>は,C/Sインタフェースのショートネーム.
・ <error>は,アプリケーションエラーのショートネーム.
アプリケーションエラー定数の多重定義の防止
RTEGENは,〔rte_sws_2575〕中の<interface>,<error>,および<error value>の等しいアプリケ ーションエラー定数を1度だけ生成する【rte_sws_7143】.
3.5.3 列挙定数
列挙定数は,データ型のとりうる値を示す定数をアプリケーションに提供する.
定数名 <prefix><EnumLiteral>【rte_sws_3810】
概要 データ型の列挙値
備考 <EnumLiteral>は,計算スケール(CompuScale)の計算定数 (CompuConst)の文字列値(vt).
<prefix>は,計算方式(CompuMethod)を使用するAUTOSARデー タ型(AutosarDataType)を参照するインクルードデータ型セット (IncludedDataTypeSet)のリテラル接頭辞(literalPrefix).
列挙定数を提供するヘッダ
SW-Cで使用する実装データ型(ImplementationDataType)に対する全ての列挙定数は,アプリケー ションタイプヘッダに定義する【rte_sws_3809】.
同じ実装データ型(ImplementationDataType),あるいは同じアプリケーションプリミティブデータ 型(ApplicationPrimitiveDataType)が,異なるリテラル接頭辞(literalPrefix)のインクルードデータ型 セット(IncludedDataTypeSets)から参照される場合,列挙定数はリテラル接頭辞(literalPrefix)毎に定 義する【rte_sws_8401】.
列挙定数の設定
計算方式(CompuMethod)が以下の条件を全て満たす場合,計算方式(CompuMethod)の内部値-物理 値計算(compuInternalToPhys)の計算スケール(CompuScale)毎に,RTEGENは,以下の定義を生成す る【rte_sws_3810】.
・ 条件1) 〔rte_sws_3809〕の実装データ型(ImplementationDataType)から参照されている.
・ 条件2) カテゴリ(category)がTEXTTABLE.
・ 条件3) 点範囲を表す計算スケール(CompuScale)のみを含む.
#ifndef <prefix><EnumLiteral>
#define <prefix><EnumLiteral> ((<type>) <value>)
#endif /* <prefix><EnumLiteral> */
ここで,
・ <EnumLiteral>は,計算スケール(CompuScale)の計算定数(CompuConst)の文字列値(vt).
・ <prefix>は,計算方式(CompuMethod)を使用するAUTOSARデータ型(AutosarDataType)を参
照するインクルードデータ型セット(IncludedDataTypeSet)のリテラル接頭辞(literalPrefix).
・ <type>は,計算方式(CompuMethod)が属する実装データ型(ImplementationDataType)の識別 子.
・ <value>は,計算スケール(CompuScale)の点範囲の値.
列挙定数名の<prefix>はオプションであり,シンボル名の重複を避けるために使用することができ る.
3.5.4 上限値,および下限値定数
定数名 <prefix><DataType>_LowerLimit
<prefix><DataType>_UpperLimit【rte_sws_5052】
概要 データ型の上限値,および下限値
備考 <DataType>は,アプリケーションプリミティブデータ型
(ApplicationPrimitiveDataType)のショートネーム.
<prefix>は,データ制約(dataConstr)が属するAUTOSARデータ型 (AutosarDataType)を参照するインクルードデータ型セット
(IncludedDataTypeSet)のリテラル接頭辞(literalPrefix)
範囲データ型は,とりうる値の範囲の上限値,および下限値を示す定数をSW-Cに提供する.
上限値,および下限値定数を提供するヘッダ
SW-Cで使用する全てのアプリケーションプリミティブデータ型(ApplicationPrimitiveDataType)毎 に,上限値,および下限値定数の定義を,アプリケーションタイプヘッダに定義する
【rte_sws_5051】.
同じ実装データ型(ImplementationDataType),あるいは同じアプリケーションプリミティブデータ 型(ApplicationPrimitiveDataType)が異なるインクルードデータ型セット(IncludedDataTypeSets)か ら参照される場合,異なるリテラル接頭辞(literalPrefix)とアプリケーションプリミティブデータ型 (ApplicationPrimitiveDataType)の組み合わせ毎に,下限値,および上限値定数を定義する
【rte_sws_8402】.
上限値,および下限値定数のコンフィギュレーション
アプリケーションプリミティブデータ型(ApplicationPrimitiveDataType)に対して,下限値
(lowerLimit),および上限値(upperLimit)を指定したデータ制約(dataConstr)を設定することで,デー タ型の上限値,および下限値を指定できる.
下限値(lowerLimit),および上限値(upperLimit)を指定したデータ制約(dataConstr)を参照するアプ リケーションプリミティブデータ型(ApplicationPrimitiveDataType)に対して,RTEGENは,アプリ ケーションタイプヘッダに以下の定義を生成する【rte_sws_5052】.
#define <prefix><DataType>_LowerLimit ((<ImplType>) <lowerValue>)
#define <prefix><DataType>_UpperLimit ((<ImplType>) <upperValue>)
ここで,
・ <DataType>は,アプリケーションプリミティブデータ型(ApplicationPrimitiveDataType)のシ ョートネーム.
・ <ImplType>は,アプリケーションプリミティブデータ型(ApplicationPrimitiveDataType)にマ ッピングされた実装データ型(ImplementationDataType)のショートネーム.
・ <prefix>は,データ制約(dataConstr)が属するAUTOSARデータ型(AutosarDataType)を参照す るインクルードデータ型セット(IncludedDataTypeSet)のリテラル接頭辞(literalPrefix).
・ <lowerValue>は,データ制約(dataConstr)の下限値(lowerLimit)の値.
・ <upperValue>は,データ制約(dataConstr)の上限値(upperLimit)の値.
なお<prefix>について,AUTOSARデータ型(AutosarDataType)は,アプリケーションデータ型 (ApplicationDataType),もしくはアプリケーションデータ型(ApplicationDataType)にマッピングさ れた実装データ型(ImplementationDataType)のいずれかを示す.