- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/if_btusb.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 6 6 * Copyright (C) 2014-2017 by Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 44 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 30 * 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 145 130 146 131 /* 147 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããã½ããã¦ã§ã¢æ 148 å ± 132 * ネットワークインタフェースに依存するソフトウェア情報 149 133 */ 150 134 … … 156 140 157 141 /* 158 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 159 å ± 160 */ 161 162 /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããã½ããã¦ã§ã¢æ 163 å ± */ 142 * ネットワークインタフェースのソフトウェア情報 143 */ 144 145 /* ネットワークインタフェースに依存するソフトウェア情報 */ 164 146 165 147 static T_BTUSB_SOFTC btusb_softc; 166 148 167 /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããªãã½ããã¦ã§ã¢æ 168 å ± */ 149 /* ネットワークインタフェースに依存しないソフトウェア情報 */ 169 150 170 151 T_IF_SOFTC if_softc = { 171 {{0,}}, /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ */ 172 0, /* éä¿¡ã¿ã¤ã ã¢ã¦ã */ 173 &btusb_softc, /* ãã£ãã¤ã¹ä¾åã®ã½ããã¦ã§ã¢æ 174 å ± */ 175 SEM_IF_BTUSB_SBUF_READY, /* éä¿¡ã»ããã© */ 176 SEM_IF_BTUSB_RBUF_READY, /* åä¿¡ã»ããã© */ 152 {{0,}}, /* ネットワークインタフェースのアドレス */ 153 0, /* 送信タイムアウト */ 154 &btusb_softc, /* ディバイス依存のソフトウェア情報 */ 155 SEM_IF_BTUSB_SBUF_READY, /* 送信セマフォ */ 156 SEM_IF_BTUSB_RBUF_READY, /* 受信セマフォ */ 177 157 178 158 #ifdef SUPPORT_INET6 179 159 180 IF_MADDR_INIT, /* ãã«ããã£ã¹ãã¢ãã¬ã¹ãªã¹ã*/160 IF_MADDR_INIT, /* マルチキャストアドレスリスト */ 181 161 182 162 #endif /* of #ifdef SUPPORT_INET6 */ … … 184 164 185 165 /* 186 * å±æå¤æ°166 * 局所変数 187 167 */ 188 168 … … 196 176 197 177 /* 198 * ds_crc -- ã¤ã¼ãµãããã¢ãã¬ã¹ã® CRC ãè¨ç®ããã178 * ds_crc -- イーサネットアドレスの CRC を計算する。 199 179 */ 200 180 … … 224 204 225 205 /* 226 * ds_getmcaf -- ãã«ããã£ã¹ãã¢ãã¬ã¹ã®ãªã¹ããããã«ããã£ã¹ãã¢ãã¬ã¹227 * ãã£ã«ã¿ãè¨ç®ããã206 * ds_getmcaf -- マルチキャストアドレスのリストからマルチキャストアドレス 207 * フィルタを計算する。 228 208 */ 229 209 … … 243 223 244 224 /* 245 * btusb_setrcr -- åä¿¡æ§æã¬ã¸ã¹ã¿ (RCR) ãè¨å®ããã225 * btusb_setrcr -- 受信構成レジスタ (RCR) を設定する。 246 226 */ 247 227 … … 252 232 253 233 /* 254 * btusb_addmulti -- ãã«ããã£ã¹ãã¢ãã¬ã¹ã追å ããã234 * btusb_addmulti -- マルチキャストアドレスを追加する。 255 235 */ 256 236 … … 275 255 sc->bnep_cid = bnep_cid; 276 256 277 /* MAC ã¢ãã¬ã¹ãæ´æ°*/257 /* MACアドレスを更新 */ 278 258 memcpy(if_softc.ifaddr.lladdr, local_addr, sizeof(if_softc.ifaddr.lladdr)); 279 259 … … 305 285 306 286 /* 307 * btusb_stop -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ãåæ¢ããã 308 * 309 * 注æ: NIC å²ãè¾¼ã¿ç¦æ¢ç¶æ 310 ã§å¼ã³åºããã¨ã 287 * btusb_stop -- ネットワークインタフェースを停止する。 288 * 289 * 注意: NIC 割り込み禁止状態で呼び出すこと。 311 290 */ 312 291 … … 320 299 321 300 /* 322 * btusb_init_sub -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®åæå 323 * 324 * 注æ: NIC å²ãè¾¼ã¿ç¦æ¢ç¶æ 325 ã§å¼ã³åºããã¨ã 301 * btusb_init_sub -- ネットワークインタフェースの初期化 302 * 303 * 注意: NIC 割り込み禁止状態で呼び出すこと。 326 304 */ 327 305 … … 331 309 #if defined(TARGET_KERNEL_ASP) 332 310 333 /* ã¿ã¼ã²ããä¾åé¨ã®å²è¾¼ã¿åæå*/311 /* ターゲット依存部の割込み初期化 */ 334 312 btusb_inter_init(); 335 313 336 314 #endif /* of #if defined(TARGET_KERNEL_ASP) */ 337 315 338 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u /* JSP-1.4.2 以é*/339 340 /* ã¿ã¼ã²ããä¾åé¨ã®å²è¾¼ã¿åæå*/316 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u /* JSP-1.4.2 以降 */ 317 318 /* ターゲット依存部の割込み初期化 */ 341 319 btusb_inter_init(); 342 320 … … 345 323 346 324 /* 347 * btusb_reset -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããªã»ããããã325 * btusb_reset -- ネットワークインタフェースをリセットする。 348 326 */ 349 327 … … 357 335 358 336 /* 359 * get_btusb_softc -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 360 å ±ãè¿ãã 337 * get_btusb_softc -- ネットワークインタフェースのソフトウェア情報を返す。 361 338 */ 362 339 … … 368 345 369 346 /* 370 * btusb_watchdog -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¯ããããã°ã¿ã¤ã ã¢ã¦ã347 * btusb_watchdog -- ネットワークインタフェースのワッチドッグタイムアウト 371 348 */ 372 349 … … 378 355 379 356 /* 380 * btusb_probe -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®æ¤åº357 * btusb_probe -- ネットワークインタフェースの検出 381 358 */ 382 359 … … 387 364 #if defined(TARGET_KERNEL_ASP) 388 365 389 /* ã¿ã¼ã²ããä¾åé¨ã®ãã¹ã®åæå*/366 /* ターゲット依存部のバスの初期化 */ 390 367 btusb_bus_init(); 391 368 392 369 #endif /* of #if defined(TARGET_KERNEL_ASP) */ 393 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u /* JSP-1.4.2 以é*/394 395 /* ã¿ã¼ã²ããä¾åé¨ã®ãã¹ã®åæå*/370 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u /* JSP-1.4.2 以降 */ 371 372 /* ターゲット依存部のバスの初期化 */ 396 373 btusb_bus_init(); 397 374 … … 404 381 405 382 /* 406 * btusb_init -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®åæå383 * btusb_init -- ネットワークインタフェースの初期化 407 384 */ 408 385 … … 410 387 btusb_init (T_IF_SOFTC *ic) 411 388 { 412 /* btusb_init æ¬ä½ãå¼ã³åºãã*/389 /* btusb_init 本体を呼び出す。*/ 413 390 btusb_init_sub(ic); 414 391 } 415 392 416 393 /* 417 * btstack_network_process_packet -- btstack ãããã¬ã¼ã ã®åä¿¡394 * btstack_network_process_packet -- btstackからフレームの受信 418 395 */ 419 396 … … 430 407 log_info("btstack_network_process_packet(bnep_cid=%d)", bnep_cid); 431 408 432 // åä¿¡ãããã¡ããã£ã±ã409 // 受信バッファがいっぱい 433 410 if (btstack_network_input[btstack_network_input_spos] != NULL) { 434 411 sc->over_flow = true; … … 443 420 * <----------------- len ----------------> 444 421 * ^ 445 * t_net_buf 㧠4 ãªã¯ãããå¢çã«ã¢ã©ã¤ã³ããã¦ããã422 * t_net_buf で 4 オクテット境界にアラインされている。 446 423 * 447 * tcp_input 㨠udp_input ã§ã¯ãæ¬ä¼¼ããã㨠SDU ã§ãã§ãã¯ãµã ã 448 * è¨ç®ããããn ã 4 ãªã¯ãããå¢çã«ãªãããã« SDU ã®å¾ãã« 0 ã 449 * ãããã£ã³ã°ããããã®åãèæ 450 ®ã㦠net_buf ãç²å¾ããªããã°ãªããªãã 424 * tcp_input と udp_input では、擬似ヘッダと SDU でチェックサムを 425 * 計算するが、n が 4 オクテット境界になるように SDU の後ろに 0 を 426 * パッディングする。その分を考慮して net_buf を獲得しなければならない。 451 427 */ 452 428 align = ((((size - sizeof(T_IF_HDR)) + 3) >> 2) << 2) + sizeof(T_IF_HDR); … … 470 446 471 447 /* 472 * btusb_read -- ãã¬ã¼ã ã®èªã¿è¾¼ã¿448 * btusb_read -- フレームの読み込み 473 449 */ 474 450 … … 502 478 503 479 /* 504 * btusb_start -- éä¿¡ãã¬ã¼ã ããããã¡ãªã³ã°ããã480 * btusb_start -- 送信フレームをバッファリングする。 505 481 */ 506 482 … … 534 510 535 511 /* 536 * btstack_network_packet_sent -- ãããã¡ããéä¿¡ãã¬ã¼ã ã®éä¿¡ãå®äºããã512 * btstack_network_packet_sent -- バッファした送信フレームの送信が完了する。 537 513 */ 538 514
Note:
See TracChangeset
for help on using the changeset viewer.