受信受容設定を取得します。
Ret = CanGetChannelAcceptance ( Id , ChannelNo , MessageTypeMask , CanIdMask , CanIdCode )
Id
[ C: short ] [ Python: ctypes.c_short ]
CanInitで取得したデバイスIDを指定します。
ChannelNo
[ C: unsigned short ] [ Python: ctypes.c_ushort ]
チャネル番号を指定します。
MessageTypeMask
[ C: unsigned int * ] [ Python: ctypes.POINTER(ctypes.c_uint) ]
受信しないのメッセージタイプ設定を格納する変数のアドレスを指定します。
CanIdMask
[ C: unsigned int * ] [ Python: ctypes.POINTER(ctypes.c_uint) ]
受信対象とするCAN IDのフィルター値を格納する変数のアドレスを指定します。
CanIdCode
[ C: unsigned int * ] [ Python: ctypes.POINTER(ctypes.c_uint) ]
受信対象とするコード設定を格納する変数のアドレスを指定します。
CanIdMask指定で受信対象となっているCAN IDが、CanIdCodeと一致すれば受信バッファに格納します。
Ret [ C: long ] [ Python: ctypes.c_long ]
定義 |
戻り値 |
内容 |
CAN_ERR_SUCCESS |
0 |
正常終了 |
CAN_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
CAN_ERR_DLL_CALL_DRIVER |
10002 |
ドライバを呼び出せません(ioctlに失敗)。 |
CAN_ERR_DLL_BUFF_ADDRESS |
10100 |
データバッファアドレスが不正です |
CAN_ERR_SYS_CH_NO |
20101 |
チャネル番号が設定可能範囲外です |
その他のエラー(参照:エラーコード詳細)
MessageTypeMask = 0x00 (CCAN_MSG_TYPE_DISABLEL。指定なし(全メッセージタイプが受信対象とする)
)
CanIdMask = 0x00000000 (全メッセージが受信バッファへ格納されます)
CanIdCode = 0x00000000
受信対受容設定を取得します。
各引数(MessageTypeMask , CanIdMask , CanIdCode)の詳細については、CanSetChannelAcceptanceトピックの引数説明を参照ください。
ChannelNo =1に設定されているMessageTypeMask、CanIdMask、およびCanIdCodeを取得します。
C |
long Ret; unsigned int MessageTypeMask; unsigned int CanIdMask; unsigned int CanIdCode; Ret = CanGetChannelAcceptance
( Id , 1 , &MessageTypeMask , &CanIdMask, &CanIdCode
); |
Python |
Ret = ctypes.c_long() MessageTypeMask = ctypes.ctypes.c_uint() CanIdMask = ctypes.ctypes.c_uint() CanIdCode = ctypes.ctypes.c_uint() Ret.value
= ccan.CanGetChannelAcceptance ( Id , 1 , ctypes.byref(MessageTypeMask)
, ctypes.byref(CanIdMask) , ctypes.byref(CanIdCode) ) |