# WMStateCode

## 定義

  `#include <nitro/wm.h>`

      typedef enum WMStateCode
      {
          WM_STATECODE_PARENT_START             = 0 ,
          WM_STATECODE_BEACON_SENT              = 2 ,

          WM_STATECODE_SCAN_START               = 3 ,
          WM_STATECODE_PARENT_NOT_FOUND         = 4 ,
          WM_STATECODE_PARENT_FOUND             = 5 ,

          WM_STATECODE_CONNECT_START            = 6 ,
          WM_STATECODE_BEACON_LOST              = 8 ,

          WM_STATECODE_CONNECTED                = 7 ,
          WM_STATECODE_CHILD_CONNECTED          = 7 ,
          WM_STATECODE_DISCONNECTED             = 9 ,
          WM_STATECODE_DISCONNECTED_FROM_MYSELF = 26 ,

          WM_STATECODE_MP_START                 = 10 ,
          WM_STATECODE_MPEND_IND                = 11 ,
          WM_STATECODE_MP_IND                   = 12 ,
          WM_STATECODE_MPACK_IND                = 13 ,

          WM_STATECODE_DCF_START                = 14 ,
          WM_STATECODE_DCF_IND                  = 15 ,

          WM_STATECODE_BEACON_RECV              = 16 ,
          WM_STATECODE_DISASSOCIATE             = 17 ,
          WM_STATECODE_REASSOCIATE              = 18 ,
          WM_STATECODE_AUTHENTICATE             = 19 ,

          WM_STATECODE_PORT_INIT                = 25 ,
          WM_STATECODE_PORT_SEND                = 20 ,
          WM_STATECODE_PORT_RECV                = 21 ,

          WM_STATECODE_FIFO_ERROR               = 22 ,
          WM_STATECODE_INFORMATION              = 23 ,
          WM_STATECODE_UNKNOWN                  = 24 ,

      } WMStateCode;

## 要素

WM_STATECODE_PARENT_START | WM_StartParent( )に対するコールバックとして発生します。 親機として通信処理を開始した時に発生します。
WM_STATECODE_BEACON_SENT | WM_StartParent( )に対するコールバックとして発生します。 子機に対するビーコンを送信完了する度に発生します。 ビーコンを用いた特殊な処理を行わない場合は、この通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_SCAN_START | WM_StartScan( )の仕様変更に伴い、発生することはなくなりました。
WM_STATECODE_PARENT_NOT_FOUND | WM_StartScan( )に対するコールバックとして発生します。 親機を探索した結果、指定時間内では親機が見つからなかったことを示します。
WM_STATECODE_PARENT_FOUND | WM_StartScan( )に対するコールバックとして発生します。 親機を探索した結果、一台以上の親機を発見したことを示します。
WM_STATECODE_CONNECT_START | WM_StartConnect( )に対するコールバックとして発生します。 子機として接続処理を開始した時に発生します。
WM_STATECODE_BEACON_LOST | WM_StartConnect( )に対するコールバックとして発生します。 通信の同期を取るために親機が定期的に発信するビーコンを一定時間受信できなかった場合に発生します。 通常はこの通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_CONNECTED | WM_StartParent( )、もしくはWM_StartConnect( )に対するコールバックとして発生します。 通信相手との接続が確立された場合に発生します。親機の場合、複数の子機が接続してくる度に発生します。
WM_STATECODE_CHILD_CONNECTED | WM_STATECODE_CONNECTED に統合されました。
WM_STATECODE_DISCONNECTED | WM_StartParent( )、もしくはWM_StartConnect( )に対するコールバックとして発生します。 通信相手との接続が相手から切断された場合に発生します。
WM_STATECODE_DISCONNECTED_FROM_MYSELF | WM_StartParent( )、もしくはWM_StartConnect( )に対するコールバックとして発生します。 通信相手との接続を自分から切断した場合に発生します。
WM_STATECODE_MP_START | WM_StartMP( )に対するコールバックとして発生します。 MP通信を開始した時に発生します。
WM_STATECODE_MPEND_IND | WM_StartMP( )に対するコールバックとして発生します。 MPシーケンスが一回完了する度に発生します。 親機として通信している場合にのみ発生します。 通常はこの通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_MP_IND | WM_StartMP( )に対するコールバックとして発生します。 MPシーケンスの前半のステップで発生します。 子機として通信している場合にのみ発生します。 通常はこの通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_MPACK_IND | WM_StartMP( )に対するコールバックとして発生します。 MPシーケンスが一回完了する度に発生します。 通常はこの通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_DCF_START | WM_StartDCF( )に対するコールバックとして発生します。 DCF通信を開始した時に発生します。
WM_STATECODE_DCF_IND | WM_StartDCF( )に対するコールバックとして発生します。 DCF通信によりデータを受信する度に発生します。
WM_STATECODE_BEACON_RECV | WM_SetIndCallback( )で指定したコールバックとして発生します。 子機としてビーコンを受信する度に発生します。 ビーコンを用いた特殊な処理を行わない場合は、この通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_DISASSOCIATE | WM_SetIndCallback( )で指定したコールバックとして発生します。 切断処理の途中経過として発生します。 通常はこの通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_REASSOCIATE | WM_SetIndCallback( )で指定したコールバックとして発生します。 一旦切断されていた子機が再接続された時に発生します。 通常はこの通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_AUTHENTICATE | WM_SetIndCallback( )で指定したコールバックとして発生します。 接続処理の途中経過として発生します。 通常はこの通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_PORT_INIT | ポートの初期化が完了した際に発生します。
WM_STATECODE_PORT_SEND | ポートへのデータ送信が完了した際に発生します。
WM_STATECODE_PORT_RECV | WM_SetPortCallback( )で指定したコールバックとして発生します。 ポートへのデータ受信時、及び子機の接続、切断を感知した時に発生します。
WM_STATECODE_FIFO_ERROR | ARM7側で発生した自動処理をキューに登録することができなかった際に発生します。
WM_STATECODE_INFORMATION | 内部で何かの事象が発生した際の情報提供として発生します。 通常はこの通知に対してアプリケーション側で処理を行う必要はありません。
WM_STATECODE_UNKNOWN | 内部で何かの不特定事象が発生した際に発生します。

## 説明

WM非同期処理関数のコールバック関数に渡される各構造体の`state`メンバに共通に使用される、 コールバックの種別を示す列挙型です。

## 履歴

2007/11/13 通常はアプリケーション側で処理を行う必要のない通知についての記述を追記
2005/10/31 WM_STATECODE_DISCONNECTED_FROM_MYSELF, WM_STATECODE_PORT_INIT, WM_STATECODE_UNKNOWN の追加
2005/07/29 WM_STATECODE_INFORMATION を追加
2004/11/02 下記統合に伴う変更漏れを修正
2004/09/13 WM_STATECODE_CHILD_CONNECTED を WM_STATECODE_CONNECTED に統合
2004/08/20 スキャン関数の仕様変更に伴う修正
2004/08/11 WM仕様追加に伴う追記
2004/07/29 初版