/**
 * @brief           I2C Manager Local Header
 * @author          AXELL CORPORATION
 * @description     I2C Manager内部ヘッダ
 * @note            none
 * @history         2017_02_22  初版
 * @history         2017_10_26  Ver2.0
*/
/* DOM-IGNORE-BEGIN */
/*
 * This program was created by AXELL CORPORATION.
 * Copyright (C) 2017 AXELL CORPORATION, all rights reserved.
 */
#ifndef _I2C_H_
#define _I2C_H_
/* DOM-IGNORE-END */

#ifdef __cplusplus
extern "C" {
#endif

/** 10ビットアドレス判定<p>
	10ビットアドレス時はビット15〜11が"11110"になる。 */
#define AG903_I2C_10BITADDR_SIG	(0x1E)

/** ハンドル状態 */
enum _AG903_I2cHandleStatus{
	AG903_I2C_HANDLE_IDLE = 0,
	AG903_I2C_HANDLE_QUEUING,
	AG903_I2C_HANDLE_EXECUTE,
};

/** チャネル状態 */
enum _AG903_I2cChannelStatus{
	AG903_I2C_CH_IDLE = 0,
	AG903_I2C_CH_MASTER_WRITE,
	AG903_I2C_CH_MASTER_READ,
	AG903_I2C_CH_SLAVE_WRITE,
	AG903_I2C_CH_SLAVE_READ,
};

/** シーケンス番号 */
enum _AG903_I2cSequenceNum{
	AG903_I2C_SEQ_NONE = 0,
	AG903_I2C_SEQ_SND_SADDR_H,
	AG903_I2C_SEQ_SND_SADDR_L,
	AG903_I2C_SEQ_RCV_SADDR,
	AG903_I2C_SEQ_SND,
	AG903_I2C_SEQ_RCV,
	AG903_I2C_SEQ_RCV_LAST,
};

/** 処理番号 */
enum _AG903_I2cProcessNum{
	AG903_I2C_PROC_MASTER_WRITE = 0,
	AG903_I2C_PROC_MASTER_READ,
	AG903_I2C_PROC_SLAVE_WRITE,
	AG903_I2C_PROC_SLAVE_READ,
};


#ifdef __cplusplus
}
#endif
#endif /* _I2C_H_ */
