I2C Protocol in C language

Within complex systems consisting of multiple interconnected devices, a connection is required, both physically and logically, with a Master device (which is very often a microcontroller board). To allow all Slave devices to work correctly and in parallel, a communication protocol must be implemented, being careful to write it ad-hoc for each device to avoid interference in data transmission when the system is operating. My job was to adapt from C ++ language to C language a communication interface via I2C protocol for a distance sensor to be installed on an intubated propeller drone equipped with a Renesas RX63N microcontroller board.