Thank you for that link. I think it does answer my questions and I think the problem my be my device. I connected an oscilloscope to the clock and data line and I can clearly see the start the slave address and the write bit being sent but I think the device is not acknowledging the command as the just after the "write" bit the data line is pulled high then followed by a couple of other bits that I think are the stop command.
So my data ins not being transmitted because the slave is not acknowledging.
I'll change the device and see if I get a different response.
Thank you again,