Write a hardware communication library

We have to write a hight level library in order to communicate to the hardware from the component, in order to simplify the component code, its maintenance and its readability, and also the tests (we have to mock the library, not the protocol).