/******************************************************************************* * モジュール名称 :定数/変数/構造体/マクロ定義 * * モジュールラベル :app15_ext_hk.h * * タスク区分 :なし * * 機能 :定数/変数/構造体/マクロ定義 * * コーリングシーケンス:なし * * 引数 :なし * * 戻り値 :なし * * 使用上の注意 :なし * * エラー処理 :なし * * 作成日・作成者 :2017/08/21 遠藤 * * 改訂日・改訂者 :20XX/XX/XX * *******************************************************************************/ #ifndef _APP15_EXT_HK_H_ #define _APP15_EXT_HK_H_ #include #include /* 一般 */ #define d_HK_OFF 0 #define d_HK_ON 1 /* ノード番号 */ #define d_HK_NODE_MGF_I 0x0D #define d_HK_NODE_MDM 0x0E #define d_HK_NODE_MSASI 0x0F #define d_HK_NODE_EWO_E 0x10 // 0x11 #define d_HK_NODE_SORBET 0x12 #define d_HK_NODE_MEFISTO 0x13 #define d_HK_NODE_MAST 0x14 #define d_HK_MIS_NUM 8 /* 配下ミッション機器Node数 */ /* 配列インデックス */ #define d_HK_INDEX_MGF_I (d_HK_NODE_MGF_I - d_HK_NODE_MGF_I) #define d_HK_INDEX_MDM (d_HK_NODE_MDM - d_HK_NODE_MGF_I) #define d_HK_INDEX_MSASI (d_HK_NODE_MSASI - d_HK_NODE_MGF_I) #define d_HK_INDEX_EWO_E (d_HK_NODE_EWO_E - d_HK_NODE_MGF_I) // (d_HK_NODE_EWO_B - d_HK_NODE_MGF_I) #define d_HK_INDEX_SORBET (d_HK_NODE_SORBET - d_HK_NODE_MGF_I) #define d_HK_INDEX_MEFISTO (d_HK_NODE_MEFISTO - d_HK_NODE_MGF_I) #define d_HK_INDEX_MAST (d_HK_NODE_MAST - d_HK_NODE_MGF_I) /* 処理Slot番号 */ #define d_HK_SLOT_EDITHK 7 #define d_HK_SLOT_CMD 2 /* データサイズ */ #define d_HK_MIS_HK_SIZE 128 /* ミッション機器HKサイズ(byte)(1機器) */ #define d_HK_APL_HK_MAST_SIZE 6 /* アプリ生成HKサイズ(MAST)(byte) */ #define d_HK_APL_HK_MEFI_SIZE 17 /* アプリ生成HKサイズ(MEFISTO)(byte) */ #define d_HK_APL_HK_CORE_SIZE 2 /* アプリ生成HKサイズ(CORE)(byte) */ #define d_HK_RDN_HK_SIZE (200 - 8) /* 冗長時HKサイズ(byte) (HW-HK 8byteを含まない) */ #define d_HK_CMD_SIZE 266 /* コマンドサイズMAX */ #define d_HK_EDIT_NUM 15 /* 伸展HK編集配列の要素数 */ /* 構造体 */ /* 伸展HK編集項目テーブル構造体 */ typedef struct T_APP15_HK_EDIT_DATA { char* cp_dest; /* 編集先アドレス */ char* cp_src; /* 編集元アドレス */ int i_size; /* 編集データサイズ( byte ) */ } T_APP15_HK_EDIT_DATA; /* グローバル変数 */ /* 時間管理 */ extern volatile int Gi_SlotNo; /* Processing Slot 番号 */ /* 共有データ */ extern char Gc_misHK[d_HK_MIS_NUM][d_HK_MIS_HK_SIZE]; /* ミッション機器HK(共有領域) */ extern char Gc_aplHK_MAST[d_HK_APL_HK_MAST_SIZE]; /* アプリ生成HK(MAST)(共有領域) */ extern char Gc_aplHK_MEFI[d_HK_APL_HK_MEFI_SIZE]; /* アプリ生成HK(MEFISTO)(共有領域) */ extern char Gc_aplHK_CORE[d_HK_APL_HK_CORE_SIZE]; /* アプリ生成HK(CORE)(共有領域) */ extern char Gc_rdnHK[d_HK_RDN_HK_SIZE]; /* 冗長HK(共有領域) */ extern volatile char Gc_VALID_APLHK_MAST; /* アプリ生成HK(MAST)有効フラグ */ extern volatile char Gc_VALID_APLHK_MEFI; /* アプリ生成HK(MEFISTO)有効フラグ */ extern volatile char Gc_VALID_APLHK_CORE; /* アプリ生成HK(CORE)有効フラグ */ extern volatile char Gc_VALID_APLHK_RDNHK; /* 冗長HK有効フラグ */ /* HK編集元 */ extern char Gc_misHK_Lcl[d_HK_MIS_NUM][d_HK_MIS_HK_SIZE]; /* ミッション機器HK(伸展HK領域) */ extern char Gc_aplHK_MAST_Lcl[d_HK_APL_HK_MAST_SIZE]; /* アプリ生成HK(MAST)(伸展HK領域) */ extern char Gc_aplHK_MEFI_Lcl[d_HK_APL_HK_MEFI_SIZE]; /* アプリ生成HK(MEFISTO)(伸展HK領域) */ extern char Gc_aplHK_CORE_Lcl[d_HK_APL_HK_CORE_SIZE]; /* アプリ生成HK(CORE)(伸展HK領域) */ extern char Gc_rdnHK_Lcl[d_HK_RDN_HK_SIZE]; /* 冗長HK(伸展HK領域) */ extern char Gc_rdnHK_out[d_HK_RDN_HK_SIZE]; /* ミドルウェアHK(伸展HK出力用) */ /* コマンド */ extern unsigned char Guc_app15Cmd[d_HK_CMD_SIZE]; /* コマンド */ /* HK編集項目 */ extern T_APP15_HK_EDIT_DATA Gt_hkEditData[2][d_HK_EDIT_NUM]; /* 伸展HK編集項目データベース */ extern char Gc_DPU_SW_STATE; /* DPU_SW_STATE (03固定) */ /* 関数プロトタイプ */ void app15_init( void ); /* 起動処理 */ void app15_recvHK( void ); /* HK受信処理 */ void app15_recvHK_RDN( void ); /* HK受信処理(冗長系) */ void app15_recvHK_NRM( void ); /* HK受信処理(正常系) */ void app15_editHK( void ); /* HK編集処理 */ void app15_cmd( void ); /* コマンド処理 */ void app15_selfStop( void ); /* APP15_SELFSTOP処理 */ void app15_getAplHK_ALL( void ); /* アプリ生成HK全取得 */ void app15_getAplHK( volatile char* cp_flag, char* cp_src, char* cp_dest, int i_size ); /* アプリ生成HK取得 */ void app15_putAplHK( volatile char* cp_flag, char* cp_src, char* cp_dest, int i_size ); /* アプリ生成HK出力 */ void app15_editHK_CPY( void ); /* HK編集処理(項目コピー) */ #endif /* _APP15_EXT_HK_H_ */