(EN) Architecture of the library - Thomas-Broussard/hackberry-enableFrance GitHub Wiki

The Hackberry library seems huge, but in fact it is structured to make each feature independent. The lib is divided in 2 parts :

  • Drivers : Contains all independent features
  • Routines : Contains function to link features between them

Upsides

  • Each feature can be expanded or enhanced without damaging others
  • Much easier to maintain
  • easier to understand than a spaghetti code
  • Programs simpler to develop

Downsides

  • Requires some time to master the library in detail
  • Requires more CPU load to run on a microcontroller
  • You need to know object-oriented programming

Diagram of the library

Hackberry_Lib_Architecture