Rob Tillaart hat auf Grundlage der bisherigen kanonischen HX711 Arduino Bibliothek von Bogdan Necula und @Andreas[1] eine neue HX711 lib geschrieben:
This HX711 library has an interface which is a superset of a library made by bogde. Some missing functions were added to get more info from the lib.
Another important difference is that this library uses floats. The 23 bits mantisse of the IEE754 float matches the 24 bit ADC very well. Furthermore it gave a smaller footprint.
Der Reichhaltigkeit und Plattformkompatibilität der Bibliotheken muss man aber doch noch ein wenig auf den Zahn fühlen, wenn man [1] vs. [2] vergleicht. Falls der Arduino HAL die Interrupt-Maskierung nun auf allen Plattformen ordnungsgemäß via noInterrupts() bzw. interrupts() realisiert, könnte dieser Aspekt vielleicht so in Ordnung gehen.
Unabhängig davon, auch wenn vielleicht nicht lebensbedrohlich, hat mindestens ein Funktionsname einen Schreibfehler. Es muss “calibrate” mit einem “L” statt Doppel-L (“callibrate”) heißen.
The library seems to have made it to through teething issues well, as outlined above, so we consider it more ready for production use than before.
Software Testing
We just discovered how Rob Tillaart is testing his HX711 library on CI/GHA. He is using ArduinoCI, and it looks like it works pretty well enabling running unit tests without hardware present?
Die Bibliothek ist aktuell über die PlatformIO Registry verfügbar, und scheinbar auch die designierte HX711 Bibliothek im Arduino Library Manager geworden.
Das sieht recht gut aus! Nach aktueller Sachlage, ohne die Bibliothek bisher selbst verwendet zu haben, würde ich empfehlen, unsere Firmwares darauf umzusatteln, mindestens bei Folgeprojekten im Bereich der Bienenstockwiegung [1], da die bisher verwendete Bibliothek von Bogdan Necula nicht mehr gepflegt wird.
Besser wäre aber natürlich, dafür auch gleich bessere Hardware in Form des NAU7802 zu verwenden, stimmts? ↩︎