Q: Do I need to install the library for to use the library?.A: Yes, this C code is 100% pure C code and only using C standard library and also the code does not take account of what hardware you are using.
Don't forget to update the PDF with your new functionality. Then you need to understand the SAE J1939:21 Transport Layer structure.
After you have got a basic understanding of the project, you are able to build on it. Learn the structure of the project, else you won't be able to understand SAE J1939. The first thing you need to know is to read the document Open SAE J1939.pdf inside the Documentation folder. I have build up a basic structure of the project and I hope that other users will send pull request of their C code for extra functionality to SAE J1939 standard because SAE J1939 is a huge standard. With this library, you can communicate with valves, engines, actuators, machinery, hardware and all other things that are suitable for heavy industrial mobile applications. The C language dialect I have chosen is C99 and I don't use dynamical memory allocation in this library. I have written this project in C language because C is an industry standard. To learn to build on this project, you need first to understand SAE J1939.
So therefore I’m writing a SAE J1939 protocol available for free to use on any embedded systems such as STM32, Arduino, AVR, PIC etc or PC.
SAE J1939 is a very easy protocol to use, but there is a lack of information about SAE J1939, due to the cost of the protocol document, available how to shape a CAN-bus message according to SAE J1939 protocol standard. SAE J1939 is a protocol for shaping the CAN-bus message in a specific way that suits industrial vehicles such as tractors, machinery, trucks and more.