extern "C" uint8_t u8x8_byte_arduino_2nd_hw_i2c(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)
{
#ifdef U8X8_HAVE_2ND_HW_I2C
switch(msg)
{
case U8X8_MSG_BYTE_SEND:
Wire1.write((uint8_t *)arg_ptr, (int)arg_int); <<<<<< ERROR <<<<<<<<<<<
break;
case U8X8_MSG_BYTE_INIT:
if ( u8x8->bus_clock == 0 ) /* issue 769 */
u8x8->bus_clock = u8x8->display_info->i2c_bus_clock_100kHz * 100000UL;
Wire1.begin();
break;
case U8X8_MSG_BYTE_SET_DC:
break;
case U8X8_MSG_BYTE_START_TRANSFER:
#if ARDUINO >= 10600
/* not sure when the setClock function was introduced, but it is there since 1.6.0 */
/* if there is any error with Wire.setClock() just remove this function call by */
/* defining U8X8_DO_NOT_SET_WIRE_CLOCK */
#ifndef U8X8_DO_NOT_SET_WIRE_CLOCK
Wire1.setClock(u8x8->bus_clock);
#endif
#endif
I marked the line with "<<<<<< ERROR <<<<<<<<<<<".