/*********************************************************************************************************//**
 * @file    BMD26M088_HT32/BMD26M088_porting_guide.txt
 * @version V1.0.1
 * @date    2024-08-01
 * @brief   Description of BestModules BMD26M088 porting guide.
 *************************************************************************************************************
 * @attention
 *
 * Firmware Disclaimer Information
 *
 * 1. The customer hereby acknowledges and agrees that the program technical documentation, including the
 *    code, which is supplied by Holtek Semiconductor Inc., (hereinafter referred to as "HOLTEK") is the
 *    proprietary and confidential intellectual property of HOLTEK, and is protected by copyright law and
 *    other intellectual property laws.
 *
 * 2. The customer hereby acknowledges and agrees that the program technical documentation, including the
 *    code, is confidential information belonging to HOLTEK, and must not be disclosed to any third parties
 *    other than HOLTEK and the customer.
 *
 * 3. The program technical documentation, including the code, is provided "as is" and for customer reference
 *    only. After delivery by HOLTEK, the customer shall use the program technical documentation, including
 *    the code, at their own risk. HOLTEK disclaims any expressed, implied or statutory warranties, including
 *    the warranties of merchantability, satisfactory quality and fitness for a particular purpose.
 *
 * <h2><center>Copyright (C) Holtek Semiconductor Inc. All rights reserved</center></h2>
 ************************************************************************************************************/

 !!!NOTICE!!!
 The BMD26M088 Module does not have external pull-up resistors.
 - Please be aware that external pull-up resistors need to be added to the I2C Bus when using this module.

 ===========================Steps for porting BMD26M088 Module to HT32 Starter Kit.===========================
 Step 1. Modify example_xxxxx\_ProjectConfig.ini.
         - Add DEVICE_NAME
         Example [take HT32F52352 as an example]:
           REM DEVICE_NAME
           REM ============================================================================
           52352

 Step 2. Modify example_xxxxx\ht32_board_config.h.
         - Add module communication interface pin setting
         Example [take HT32F52352 as an example]:
            #if defined(USE_HT32F52352_SK)
            /*----------------------------------------------------------------------------------------------------------*/
            /* I2C Master Setting                                                                                       */
            /*----------------------------------------------------------------------------------------------------------*/
              #undef  BMD26M088_WIRE                               // Starter Kit Demo Using WIRE, so NEED TO #undef first.
              #define BMD26M088_WIRE                          (0)  // Default Using WIRE for Starter Kit.

              #define HTCFG_I2CM_CH0                          I2C1
              #define HTCFG_M0_SCL_GPIO_PORT                  A
              #define HTCFG_M0_SCL_GPIO_PIN                   0
              #define HTCFG_M0_SDA_GPIO_PORT                  A
              #define HTCFG_M0_SDA_GPIO_PIN                   1
            #endif

 ===========================Steps for porting BMD26M088 Module to Another Vendor's MCU.=======================
 Step 1. Unzip File:
         - Start by unzipping "BMD26M088_HT32_Vm.n.r.zip".

 Step 2. Port Source Code:
         - Migrate the src directory to your target project.
         Example: D:\<Another Vendor's MCU Target Project>\src

 Step 3. Include in Compilation:
         - Open the Keil project and make modifications as below.
         (Ensure "BMD26M088.c" and header files are included in your project's build list.)
         1. Add the module "Include Paths" to the project.
            Example: D:\<Another Vendor's MCU Target Project>\src
         2. Add the module "C language files" to the project.
            Example: BMD26M088.c

 Step 4. Modify Includes and APIs:
         - Use global search to identify and modify include files and APIs for porting.
         /*
           !!! PORTING !!!
           Description...
         */
         Note : Porting BMD26M088 Module need to implement required APIs as below:
         -       API        :           Description         -
         ====================================================
         - _initI2CMaster() : Implement I2C Master Initial.
         - _writeRegister() : Implement I2C write operation.
         - _readRegister()  : Implement I2C read operation.
