Changeset 389 for azure_iot_hub/trunk/asp3_dcre/sample/tSample2.cdl
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/sample/tSample2.cdl
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 1 1 /* 2 * ãµã³ãã«ããã°ã©ã (2)ã®ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«2 * サンプルプログラム(2)のコンポーネント記述ファイル 3 3 * 4 4 * $Id$ 5 5 */ 6 6 /* 7 * ã«ã¼ãã«ãªãã¸ã§ã¯ãã®å®ç¾©7 * カーネルオブジェクトの定義 8 8 */ 9 9 import("kernel.cdl"); 10 10 11 11 /* 12 * ã¿ã¼ã²ããéä¾åã®ã»ã«ã¿ã¤ãã®å®ç¾©12 * ターゲット非依存のセルタイプの定義 13 13 */ 14 14 import("syssvc/tSerialPort.cdl"); … … 18 18 19 19 /* 20 * ã¿ã¼ã²ããä¾åé¨ã®åãè¾¼ã¿20 * ターゲット依存部の取り込み 21 21 */ 22 22 import("target.cdl"); 23 23 24 24 /* 25 * ãã»ã«ã®çµä¸ãè¨è¿°ãã¨ã¯ï¼"cell"ã§å§ã¾ãè¡ããï¼ããã«å¯¾å¿ãã"};" 26 * ã®è¡ã¾ã§ã®ãã¨ãè¨ãï¼ 27 */ 28 29 /* 30 * ã·ã¹ãã ãã°æ©è½ã®çµä¸ãè¨è¿° 31 * 32 * ã·ã¹ãã ãã°æ©è½ãå¤ãå ´åã«ã¯ï¼ä»¥ä¸ã®ã»ã«ã®çµä¸ãè¨è¿°ãåé¤ãï¼ã³ 33 * ã³ãã¤ã«ãªãã·ã§ã³ã«-DTOPPERS_OMIT_SYSLOGã追å ããã°ããï¼ãã ãï¼ 34 * ã·ã¹ãã ãã°ã¿ã¹ã¯ã¯ã·ã¹ãã ãã°æ©è½ã使ç¨ããããï¼ãããå¤ãã㨠35 * ãå¿ 36 è¦ã§ããï¼ã¾ãï¼ã·ã¹ãã ãã°æ©è½ã®ã¢ããã¿ãå¤ããªããã°ãªã㪠37 * ãï¼tecsgenãè¦åã¡ãã»ã¼ã¸ãåºããï¼ç¡è¦ãã¦ããï¼ 25 * 「セルの組上げ記述」とは,"cell"で始まる行から,それに対応する"};" 26 * の行までのことを言う. 27 */ 28 29 /* 30 * システムログ機能の組上げ記述 31 * 32 * システムログ機能を外す場合には,以下のセルの組上げ記述を削除し,コ 33 * ンパイルオプションに-DTOPPERS_OMIT_SYSLOGを追加すればよい.ただし, 34 * システムログタスクはシステムログ機能を使用するため,それも外すこと 35 * が必要である.また,システムログ機能のアダプタも外さなければならな 36 * い.tecsgenが警告メッセージを出すが,無視してよい. 38 37 */ 39 38 cell tSysLog SysLog { 40 logBufferSize = 32; /* ãã°ãããã¡ã®ãµã¤ãº*/39 logBufferSize = 32; /* ログバッファのサイズ */ 41 40 initLogMask = C_EXP("LOG_UPTO(LOG_NOTICE)"); 42 /* ãã°ãããã¡ã«è¨é²ãã¹ãéè¦åº¦*/41 /* ログバッファに記録すべき重要度 */ 43 42 initLowMask = C_EXP("LOG_UPTO(LOG_EMERG)"); 44 /* ä½ã¬ãã«åºåãã¹ãéè¦åº¦*/45 46 /* ä½ã¬ãã«åºåã¨ã®çµå*/43 /* 低レベル出力すべき重要度 */ 44 45 /* 低レベル出力との結合 */ 47 46 cPutLog = PutLogTarget.ePutLog; 48 47 }; 49 48 50 49 /* 51 * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®çµä¸ãè¨è¿° 52 * 53 * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ããå¤ãå ´åã«ã¯ï¼ä»¥ä¸ã®ã»ã«ã®çµä¸ãè¨ 54 * è¿°ãåé¤ããã°ããï¼ãã ãï¼ã·ã¹ãã ãã°ã¿ã¹ã¯ã¯ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ 55 * ã¹ãã©ã¤ãã使ç¨ããããï¼ãããå¤ããã¨ãå¿ 56 è¦ã§ããï¼ã¾ãï¼ã·ãªã¢ 57 * ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¢ããã¿ãå¤ããªããã°ãªããªãï¼ 50 * シリアルインタフェースドライバの組上げ記述 51 * 52 * シリアルインタフェースドライバを外す場合には,以下のセルの組上げ記 53 * 述を削除すればよい.ただし,システムログタスクはシリアルインタフェー 54 * スドライバを使用するため,それも外すことが必要である.また,シリア 55 * ルインタフェースドライバのアダプタも外さなければならない. 58 56 */ 59 57 cell tSerialPort SerialPort1 { 60 receiveBufferSize = 256; /* åä¿¡ãããã¡ã®ãµã¤ãº*/61 sendBufferSize = 256; /* éä¿¡ãããã¡ã®ãµã¤ãº*/62 63 /* ã¿ã¼ã²ããä¾åé¨ã¨ã®çµå*/58 receiveBufferSize = 256; /* 受信バッファのサイズ */ 59 sendBufferSize = 256; /* 送信バッファのサイズ */ 60 61 /* ターゲット依存部との結合 */ 64 62 cSIOPort = SIOPortTarget1.eSIOPort; 65 eiSIOCBR <= SIOPortTarget1.ciSIOCBR; /* ã³ã¼ã«ããã¯*/66 }; 67 68 /* 69 * ã·ã¹ãã ãã°ã¿ã¹ã¯ã®çµä¸ãè¨è¿°70 * 71 * ã·ã¹ãã ãã°ã¿ã¹ã¯ãå¤ãå ´åã«ã¯ï¼ä»¥ä¸ã®ã»ã«ã®çµä¸ãè¨è¿°ãåé¤ãã72 * ã°ããï¼63 eiSIOCBR <= SIOPortTarget1.ciSIOCBR; /* コールバック */ 64 }; 65 66 /* 67 * システムログタスクの組上げ記述 68 * 69 * システムログタスクを外す場合には,以下のセルの組上げ記述を削除すれ 70 * ばよい. 73 71 */ 74 72 cell tLogTask LogTask { 75 priority = 3; /* ã·ã¹ãã ãã°ã¿ã¹ã¯ã®åªå 76 度 */ 77 stackSize = LogTaskStackSize; /* ã·ã¹ãã ãã°ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 78 79 /* ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¨ã®çµå */ 73 priority = 3; /* システムログタスクの優先度 */ 74 stackSize = LogTaskStackSize; /* システムログタスクのスタックサイズ */ 75 76 /* シリアルインタフェースドライバとの結合 */ 80 77 cSerialPort = SerialPort1.eSerialPort; 81 78 cnSerialPortManage = SerialPort1.enSerialPortManage; 82 79 83 /* ã·ã¹ãã ãã°æ©è½ã¨ã®çµå*/80 /* システムログ機能との結合 */ 84 81 cSysLog = SysLog.eSysLog; 85 82 86 /* ä½ã¬ãã«åºåã¨ã®çµå*/83 /* 低レベル出力との結合 */ 87 84 cPutLog = PutLogTarget.ePutLog; 88 85 }; 89 86 90 87 /* 91 * ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸åºåã®çµä¸ãè¨è¿°92 * 93 * ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸ã®åºåãå¤ãå ´åã«ã¯ï¼ä»¥ä¸ã®ã»ã«ã®çµä¸ãè¨è¿°94 * ãåé¤ããã°ããï¼88 * カーネル起動メッセージ出力の組上げ記述 89 * 90 * カーネル起動メッセージの出力を外す場合には,以下のセルの組上げ記述 91 * を削除すればよい. 95 92 */ 96 93 cell tBanner Banner { 97 /* å±æ§ã®è¨å®*/94 /* 属性の設定 */ 98 95 targetName = BannerTargetName; 99 96 copyrightNotice = BannerCopyrightNotice; … … 101 98 102 99 /* 103 * ãµã³ãã«ããã°ã©ã ã®å®ç¾©100 * サンプルプログラムの定義 104 101 */ 105 102 [singleton] 106 103 celltype tSample2 { 107 require tKernel.eKernel; /* å¼ã³å£åãªãï¼ä¾ï¼delayï¼*/108 /*require cKernel = tKernel.eKernel;/* å¼ã³å£åããï¼ä¾ï¼cKernel_delayï¼*/109 require ciKernel = tKernel.eiKernel;/* å¼ã³å£åããï¼ä¾ï¼ciKernel_ï¼*/110 111 call sTask cTask[4]; /* ã¿ã¹ã¯æä½*/104 require tKernel.eKernel; /* 呼び口名なし(例:delay)*/ 105 /*require cKernel = tKernel.eKernel;/* 呼び口名あり(例:cKernel_delay)*/ 106 require ciKernel = tKernel.eiKernel;/* 呼び口名あり(例:ciKernel_)*/ 107 108 call sTask cTask[4]; /* タスク操作 */ 112 109 call sTask cExceptionTask; 113 110 call sCyclic cCyclic; 114 111 call sAlarm cAlarm; 115 112 116 [optional] call sSerialPort cSerialPort;/* ã·ãªã¢ã«ãã©ã¤ãã¨ã®æ¥ç¶*/117 call sSysLog cSysLog; /* ã·ã¹ãã ãã°æ©è½ã¨ã®æ¥ç¶*/113 [optional] call sSerialPort cSerialPort;/* シリアルドライバとの接続 */ 114 call sSysLog cSysLog; /* システムログ機能との接続 */ 118 115 119 entry sTaskBody eMainTask; /* Main ã¿ã¹ã¯*/120 entry sTaskBody eSampleTask[3]; /* 並è¡å®è¡ãããã¿ã¹ã¯*/121 entry sTaskBody eExceptionTask; /* ä¾å¤å¦çã¿ã¹ã¯*/116 entry sTaskBody eMainTask; /* Mainタスク */ 117 entry sTaskBody eSampleTask[3]; /* 並行実行されるタスク */ 118 entry sTaskBody eExceptionTask; /* 例外処理タスク */ 122 119 123 entry siHandlerBody eiCyclicHandler;/* å¨æãã³ãã©*/124 entry siHandlerBody eiAlarmHandler; /* ã¢ã©ã¼ã ãã³ãã©*/125 }; 126 127 /* 128 * çµã¿ä¸ãè¨è¿°129 */ 130 131 /* Sample2 ã®ãããã¿ã¤ã宣è¨*/120 entry siHandlerBody eiCyclicHandler;/* 周期ハンドラ*/ 121 entry siHandlerBody eiAlarmHandler; /* アラームハンドラ */ 122 }; 123 124 /* 125 * 組み上げ記述 126 */ 127 128 /* Sample2のプロトタイプ宣言 */ 132 129 cell tSample2 Sample2; 133 130 … … 136 133 137 134 cell tTask MainTask { 138 /* å¼ã³å£ã®çµå*/135 /* 呼び口の結合 */ 139 136 cTaskBody = Sample2.eMainTask; 140 /* å±æ§ã®è¨å®*/137 /* 属性の設定 */ 141 138 attribute = C_EXP("TA_ACT"); 142 139 priority = C_EXP("MAIN_PRIORITY"); … … 145 142 146 143 cell tTask Task1 { 147 /* å¼ã³å£ã®çµå*/144 /* 呼び口の結合 */ 148 145 cTaskBody = Sample2.eSampleTask[0]; 149 /* å±æ§ã®è¨å®*/146 /* 属性の設定 */ 150 147 priority = C_EXP("MID_PRIORITY"); 151 148 stackSize = C_EXP("STACK_SIZE"); … … 153 150 154 151 cell tTask Task2 { 155 /* å¼ã³å£ã®çµå*/152 /* 呼び口の結合 */ 156 153 cTaskBody = Sample2.eSampleTask[1]; 157 /* å±æ§ã®è¨å®*/154 /* 属性の設定 */ 158 155 priority = C_EXP("MID_PRIORITY"); 159 156 stackSize = C_EXP("STACK_SIZE"); … … 161 158 162 159 cell tTask Task3 { 163 /* å¼ã³å£ã®çµå*/160 /* 呼び口の結合 */ 164 161 cTaskBody = Sample2.eSampleTask[2]; 165 /* å±æ§ã®è¨å®*/162 /* 属性の設定 */ 166 163 priority = C_EXP("MID_PRIORITY"); 167 164 stackSize = C_EXP("STACK_SIZE"); … … 169 166 170 167 cell tTask ExceptionTask { 171 /* å¼ã³å£ã®çµå*/168 /* 呼び口の結合 */ 172 169 cTaskBody = Sample2.eExceptionTask; 173 /* å±æ§ã®è¨å®*/170 /* 属性の設定 */ 174 171 priority = C_EXP("EXC_PRIORITY"); 175 172 stackSize = C_EXP("STACK_SIZE"); … … 177 174 178 175 cell tCyclicHandler CyclicHandler { 179 /* å¼ã³å£ã®çµå*/176 /* 呼び口の結合 */ 180 177 ciHandlerBody = Sample2.eiCyclicHandler; 181 /* å±æ§ã®è¨å®*/178 /* 属性の設定 */ 182 179 cycleTime = 2000000; 183 180 }; … … 188 185 189 186 cell tSample2 Sample2 { 190 /* å¼ã³å£ã®çµå*/187 /* 呼び口の結合 */ 191 188 cTask[ 0 ] = MainTask.eTask; 192 189 cTask[ 1 ] = Task1.eTask;
Note:
See TracChangeset
for help on using the changeset viewer.