Hallo zusammen, ich habe hier ein dev Board mit einem ICM20948 (https://shop.pimoroni.com/products/icm20948) und möchte nun Bewegungsdaten über I2C mit einem nRF52833 DK von Nordic (https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52833-DK) auslesen. Im Vorfeld habe ich über einen I2C Scanner aus dem Nordic SDK sichergestellt, dass der ICM20948 erreichbar ist. Die I2C Verbindung steht also. Weiterhin gibt es in dem Nordic SDK Beispiele, die das lesen/schreiben über I2C (bzw TWI bei Nordic) veranschaulichen. Informationen zu den Registern des Sensors findet man im Datehnblatt: https://invensense.tdk.com/wp-content/uploads/2016/06/DS-000189-ICM-20948-v1.3.pdf Meine Frage: Welche Bibliothek würdet ihr empfehlen, um mit diesem Sensor zu arbeiten? Es gibt unzählige, verschiedene auf Github, ich blicke da nicht wirklich durch. Ich arbeite mit der Segger IDE sowie größtenteils mit den Beispielen aus dem Nordic SDK. Im Nordic Forum wurde diese Bibliothek empfohlen: https://github.com/IOsonata/IOsonata/blob/master/src/sensors/agm_invn_icm20948.cpp Meine Bibliotheken bestehen derzeit allerdings lediglich aus .c Files, weswegen ich nicht weiß ob ich die Bibliothek überhaupt nutzen kann. Weiterhin werden in dieser Datei sehr viele Header Dateien aufgerufen, die allerdings nicht in dem Verzeichnis vorhanden sind, die ich aber brauche. Wo kriege ich die her? Auf der Seite des Herstellers habe ich auch nix brauchbares gefunden. Wie würdet ihr Vorgehen? Danke und Gruß Simon
Mich würde mal interessieren, warum du nicht von C auf C++ umschwenkst. Irgendwelche Nachteile kann ich da nicht erkennen.
Arduino Fanboy D. schrieb: > Mich würde mal interessieren, warum du nicht von C auf C++ > umschwenkst. > Irgendwelche Nachteile kann ich da nicht erkennen. Ich war nicht sicher, ob der Compiler meckert, wenn ich eine C++ Bibliothek nehme. Simon K. schrieb: > Weiterhin werden in dieser Datei sehr viele Header Dateien aufgerufen, > die allerdings nicht in dem Verzeichnis vorhanden sind, die ich aber > brauche. Wo kriege ich die her? Kannst du dazu noch was sagen? Ist es normal, das in Github Bibliotheken veröffentlich werden, ohne die ganzen inkludierten (gibts das Wort?) Header Dateien?
Simon K. schrieb: > Ich war nicht sicher, ob der Compiler meckert, wenn ich eine C++ > Bibliothek nehme. Natürlich wird ein C Compiler keinen C++ Code fressen! Zumindest nicht, wenn dort die C++ Features genutzt werden. Umgekehrt sieht das schon ganz anders aus. Wenn man die C Extrawürste weg lässt, dann nimmt ein C++ Compiler auch recht gerne für C geschriebenen Code. In ein *.cpp Hauptprogramm übersetze *.c Dateien/Libraries einzubinden(linken) ist kein Problem. Ich vermute, zu deiner C Toolchain, gehört auch ein C++ Compiler. Simon K. schrieb: > Kannst du dazu noch was sagen? Ist es normal, das in Github Bibliotheken > veröffentlich werden, ohne die ganzen inkludierten (gibts das Wort?) > Header Dateien? Fremde Anteile, DARF man nicht als eigene publizieren. Dann findet sich in der Doku ein Verweis. Auf der Eingangsseite des Github Dingen, findet sich ein Hinweis, wo du dir den Kram absammeln kannst. Aber dass die entsprechenden Hinweise überlesen werden, dass ist schon eher normal. Auszug: ICM-20948 Motion_Driver : Create a user at https://invensense.tdk.com/developers/software-downloads/. In the "Development Kits" block, download "DK-20948 SmartMotion eMD 1.1.0". Unzip the downloaded file and navigate to EMD-Core/sources. Copy the folder Invn to external/Invn as indicated in the folder tree bellow.
Arduino Fanboy D. schrieb: > Auszug: > ICM-20948 Motion_Driver : Create a user at > https://invensense.tdk.com/developers/software-downloads/. In the > "Development Kits" block, download "DK-20948 SmartMotion eMD 1.1.0". > Unzip the downloaded file and navigate to EMD-Core/sources. Copy the > folder Invn to external/Invn as indicated in the folder tree bellow. Danke! Ich habe nun alle Dateien entsprechend in die Ablage kopiert. Leider bekomme ich noch einen Fehler beim Kompilieren (s. Screenshot). Im Projekt sind u.a. "nRF_atomic.c/h" Dateien vorhanden, nicht aber das was ihm da noch fehlt. Weiß jemand wodran das noch liegt? Danke und Gruß Simon
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.