Line #603 reads: if ( I2C_Write_USB_PD(FTP_CTRL_0,Buffer,1) != 0 )return -1; However shouldn't this be writing two byes, not just one?