Constructor definitions of OutputPin and InputPin classes are not marked as inline.
Definition of write method in OutputPin class is not marked inline.
This causes problems if you want to include this library in some other header file (needed if InputPin or OutputPin objects are composed into another class). Compiler complains about multiple definition errors of these symbols.
In order to fix this, please mark OutputPin class constructor definition, InputPin class constructor definition and OutputPin::write method as inline.
Specifically add "inline" keyword to lines: 185, 196 and 210 of DirectIO.h
Constructor definitions of OutputPin and InputPin classes are not marked as inline. Definition of write method in OutputPin class is not marked inline.
This causes problems if you want to include this library in some other header file (needed if InputPin or OutputPin objects are composed into another class). Compiler complains about multiple definition errors of these symbols.
In order to fix this, please mark OutputPin class constructor definition, InputPin class constructor definition and OutputPin::write method as inline. Specifically add "inline" keyword to lines: 185, 196 and 210 of DirectIO.h