Updated generic functions
Add arg checks to generic functions and remove dead code.
Correct *arg check, move SCPI include to header
Changed OCP usage to generics. Commented old OCP code out
Documented generics, changed some args order, small logic adjustment
Adjusted OCP generics usage to allow for reordered args