Information on the module guide itself and the associated resources and known issues are available here.
The I2C Slave on RIIC Slave HAL Module provides a high-level API for I²C slave applications and is implemented on r_riic_slave. The I2C slave on RIIC Slave Module uses the RIIC peripheral on the Synergy MCU. Callbacks are provided for transmit complete and receive complete notification.
The I2C Slave HAL module supports the following features:
- Support for I2C Slave operations
- Support transactions with a I2C Master device
- Callback support
- Transmit complete (number of bytes transmitted provided)
- Receive complete (number of bytes received provided)
The I2C Slave HAL module guide is targeted for SSP 1.2.0 and the SK-S7G2 Kit.
The most recent versions of the I2C Slave HAL module guide application note, application project and import guide are available here.
Module Guide Errata
Sections 3.1.1, 3.1.2- Changes to the Operational Notes and Limitations
3.1.1 I2C RIIC Slave HAL Module Operational Notes
- The RIIC Error (EEI), Receive Buffer Full (RXI), Transmit Buffer Empty (TXI) and Transmit End (TEI) interrupts for the selected channel used must be enabled in the BSP irrespective of whether the user wants to use callbacks.
- Set equal priority levels for all the interrupts mentioned above. Setting the interrupts to different priority levels could result in improper operation.
- If using RIIC and RIIC_Slave modules on same board, it is suggested to set equal interrupt priority for TXI, TEI and EI and set RXI interrupt priority higher than these.
3.1.2 I2C RIIC Slave HAL Module Limitations
This is the initial version of I2C RIIC Slave Driver with only basic functionality implemented. The following limitations are known:
1. The Driver will lock up the I2C bus when any of the following operations occur:
- When Master is Reading ‘M’ bytes and Slave has ‘N’ Bytes available to write. In this case (M < N) or (M > N).
- When Master and Slave are both writing to the bus at same time.
- When Master and Slave are both reading from the bus at same time.
Note: To come out of bus lock-up situation, it is suggested to use callback during configuration. Application can decide time-out for callback wait and after timeout application can close the slave module instance and re-open for further operations.
2. Any of the supported IIC channel can be configured for either Master or Slave mode operation but not for both.
3. Refer to the most recent SSP Release Notes for any additional operational limitations for this module.
Module Guide Resources
The following application projects are available from the Renesas web site at the referenced url:
- PE-HMI1 GUIX "Hello World" - Application Project here.
- SK-S7G2 GUIX "Hello World" - Application Project here.
- Renesas Synergy™ Project DK-S124 Simple Record/Playback here.
- SSP Project Template DK-S124 Out-of-Box Programming Guide here.
- Renesas Synergy™ Project DK-S124 Simple Tone Generator here.
- Touch Panel Framework Module Guide - Application Project here.
The I2C Slave HAL module is used in the Developer Examples available for the SK-S7G2. You can find a Knowledge Base article that describes the Developer Examples and how to use them here.
- Refer to the SSP release notes for known issues, available here.