@UKTamo,
As far as I can tell, the Carloop library should be able to help you out.
Reading on Wikipedia, it looks like J1939 is built on top of CANbus.
If you are using a select few messages to communicate with the TCM, you could probably assemble your own 29-bit extended CANbus message with your J1939 messages built into it.
Then again, if you want to do a number of things, you might be better off to build a J1939 library that depends on the Carloop library. That way your library could translate between your J1939 messages and the 29-bit extended CANbus message. The Carloop library would then handle the lower-level for you.
NOTE: The Carloop hardware is meant for 12V automotive systems. It is not hardware compatible with 24V systems often found in trucks and heavy machinery. If this is the case, all you would need to do is re-design the power (voltage) regulator and the electrical protection.