Class: MsgAckStartComm

Inherits:
Object
  • Object
show all
Defined in:
lib/haruzira_sdk/MsgAckStartComm.rb

Overview

<summary> 通信開始応答メッセージ(0x10) </summary>

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMsgAckStartComm

Returns a new instance of MsgAckStartComm.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 10

def initialize()
    #region 変数・定数定義
    #メンバーIndex offset定義
    @INDEX_ID = 0              #メッセージID
    @INDEX_ACK_CODE = 1        #応答コード
    @INDEX_ERR_CODE = 2        #エラーコード(異常時)
    @INDEX_PADDING = 3         #アライメント

    # <summary>
    # 送信メンバデータ値定義
    # </summary>
    #応答コード
    @ACK_CODE_OK = 0x00      #正常
    @ACK_CODE_NG = 0x01      #異常
    #エラーコード(異常時)
    @ERR_CODE_NONE = 0x00                 #エラーなし
    @ERR_CODE_RCV_DATA = 0x01             #受信データエラー
    @ERR_CODE_CREATE_ACK_DATA = 0x02      #応答データ生成エラー
    @ERR_CODE_DECODE_ENC = 0x03           #暗号化データ復号エラー
    @ERR_CODE_CER_USER = 0x04             #認証エラー(ユーザー不正)
    @ERR_CODE_CER_PASSWD = 0x05           #認証エラー(パスワード不正)
    @ERR_CODE_UNKNOWN_IP = 0x06           #IPアドレスが不正
    @ERR_CODE_OTHER_REASONS = 0x10        #その他原因によるエラー

    @id = MSG_ACK_START_COMM              #メッセージID
    @ack_code = 0x00                      #応答コード
    @err_code = 0x00                      #エラーコード(異常時)
    @padding = Array.new(5, 0x00)         #アライメント
    @total_len = 8                        #送信フィールド合計サイズ
    #endregion
end

Instance Attribute Details

#ack_codeObject

アクセサ定義



50
51
52
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 50

def ack_code
  @ack_code
end

#ACK_CODE_NGObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ACK_CODE_NG
  @ACK_CODE_NG
end

#ACK_CODE_OKObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ACK_CODE_OK
  @ACK_CODE_OK
end

#err_codeObject

アクセサ定義



50
51
52
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 50

def err_code
  @err_code
end

#ERR_CODE_CER_PASSWDObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ERR_CODE_CER_PASSWD
  @ERR_CODE_CER_PASSWD
end

#ERR_CODE_CER_USERObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ERR_CODE_CER_USER
  @ERR_CODE_CER_USER
end

#ERR_CODE_CREATE_ACK_DATAObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ERR_CODE_CREATE_ACK_DATA
  @ERR_CODE_CREATE_ACK_DATA
end

#ERR_CODE_DECODE_ENCObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ERR_CODE_DECODE_ENC
  @ERR_CODE_DECODE_ENC
end

#ERR_CODE_NONEObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ERR_CODE_NONE
  @ERR_CODE_NONE
end

#ERR_CODE_OTHER_REASONSObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ERR_CODE_OTHER_REASONS
  @ERR_CODE_OTHER_REASONS
end

#ERR_CODE_RCV_DATAObject (readonly)

アクセサ定義(送信メンバデータ値)



46
47
48
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 46

def ERR_CODE_RCV_DATA
  @ERR_CODE_RCV_DATA
end

#idObject (readonly)

Returns the value of attribute id.



51
52
53
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 51

def id
  @id
end

#INDEX_ACK_CODEObject (readonly)

アクセサ定義(メンバーIndex offset)



43
44
45
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 43

def INDEX_ACK_CODE
  @INDEX_ACK_CODE
end

#INDEX_ERR_CODEObject (readonly)

アクセサ定義(メンバーIndex offset)



43
44
45
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 43

def INDEX_ERR_CODE
  @INDEX_ERR_CODE
end

#INDEX_IDObject (readonly)

アクセサ定義(メンバーIndex offset)



43
44
45
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 43

def INDEX_ID
  @INDEX_ID
end

#INDEX_PADDINGObject (readonly)

アクセサ定義(メンバーIndex offset)



43
44
45
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 43

def INDEX_PADDING
  @INDEX_PADDING
end

#paddingObject

アクセサ定義



50
51
52
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 50

def padding
  @padding
end

#total_lenObject (readonly)

Returns the value of attribute total_len.



51
52
53
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 51

def total_len
  @total_len
end

Instance Method Details

#makeSendDataObject

<summary> 送信データ生成</summary> <returns>生成データサイズ, 生成データ</returns>



58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/haruzira_sdk/MsgAckStartComm.rb', line 58

def makeSendData()
    len = total_len
    data = nil

    begin
        data = [@id] + [@ack_code] + [@err_code] + @padding

    rescue Exception => ex
        p ex
        len = 0
    ensure
        return len, data
    end
end