Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Expected Behavior or Design
As a software architect I expect a hardware abstraction layer for many reasons. To name a few:
Current Behavior or Design
Hardware interaction code is currently implemented in dedicated classes, e.g. one for the proximity sensor, haptic motor, display etc.
Detailed Description and Additional Information
Affected code in remote-software/sources/hardware:
Well there are a few Qt signals which I see required or at least convenient to have. So that would lead to low-level C / C++ device interaction code and probably a higher level Qt integration providing the signals for the other components.
The wifi code has been rewritten and merged into the develop branch. It will serve as the foundation for refactoring the hardware specific classes with factories and platform specific includes.
In my opinion this is not over engineered but clearly separated code following well established software design patterns. Probably not yet C/C++ perfect since I'm still having some language issues coming from Java. But I'm confident that it provides us the much needed flexibility and an easy start for new developers or platforms we'd like to support.
I'm starting a feature branch now for refactoring the affected code.