I2C driver for a PCA9685 servo controller board for s90 servos

Id start with Original program that drove LED make sure it’s working. You may have code that’s not a valid starting point. Then wire up the Output to the new LED. Once that works use the register setting and existing code to move to the new I2C. You might have inherited broken code. Start simple as in getting a proper I2C clock and Data. Good news you have a JTAG to inspect mux and I2C register values it’s not good you don’t have a scope or Salae logic analyzer. Too me that seems a bit difficult for someone pre CSEE with no debugging experience.
Put a loop around the transmission code with a delay. You want to start with the minimal working example. You also need to be able to read the board schematic for correct I2C header pins. Did you find a starterware I2C example for your board I’d trust it more than this code. Again break it down to simplest working subset as in I2C clock and Data working I think using just a Led is to debug is a bit too much to ask for a beginner I’d nicely request a cheap serial protocol analyzer it’s essential for debugging the commands and cheaper than a scope. If you’re serious about becoming a low level embedded Engineer beg borrow or steal the $$$ if whomever assigned you this won’t supply a scope or analyzer. Look at as an investment in your future. Also a simpler example will be easier to ask for help. Stay positive and keep digging and learning and asking questions.