BHI160b driver porting guide

OP #6324007
Lesenswert?
• ▲
▼
Guten Morgen Leute!

Ich habe mir das BHI160b Shuttle Board bestellt um die Lagedaten 
auszulesen. Den Treiber der von Bosch angeboten wird gibt es 
https://github.com/BoschSensortec/BHy1_driver_and_MCU_solution . Ich bin 
nun dabei den Treiber auf meinen STM32L053R8 anzupassen. Hierfür gibt es 
einen MCU driver Porting guide, der Schritt für Schritt erklärt was 
alles angepasst werden muss um den Sensor zu betreiben. Zu beginn habe 
ich  folgende Zeilen aus dem File bhy_support.c entfernt.
1
#include "FreeRTOS.h"
2
#include "task.h"
3
extern int8_t sensor_i2c_write(uint8_t addr, uint8_t reg, uint8_t *p_buf, uint16_t size);
4
extern int8_t sensor_i2c_read(uint8_t addr, uint8_t reg, uint8_t *p_buf, uint16_t size);
5
extern void trace_log(const char *fmt, ...);

Diese sind ATMEL spezifische Befehle die für mit meinem µC nicht 
kompatibel sind. Desweiteren wird im porting guide noch erwähnt im File 
bhy_support.h die Zeile
1
twi.h
 zu entfernen da diese library auch ATMEL spezifisch ist.
Nach einem Rebuild werden folgende Fehler angezeigt:
1
..\Drivers\BHI160b_driver\inc\bhy_uc_driver_types.h(252): error: #20: identifier "uint8_t" is undefined           uint8_t sensor_id;

Diese Fehlermeldung wird im porting guide erwähnt und gibt als Lösung an 
im File bhy.h die folgenden fixed-width types zu definieren:
1
s8, s16, s32, u8, u16, u32
Ich weiß nur nicht wie ich die nun definieren soll, in diesem File gibt 
es schon definierte Datentypen nur weiß ich nicht mit welchem #define 
die richtigen aktivieren kann...

Zusätzlich kommt noch die I2C Verbindung, die ich auf dem STM32 mit der 
HAL library umsetzten möchte. Verlangt wird das im File bhy_support.c 
die Funktionen sensor_i2c_write() und sensor_i2c_read() erstellt werden. 
Der porting guide empfiehlt, dass die Reihenfolge der Parameter und der 
Rückgabewert die gleichen sind, was mir auch als sinnvoll erscheint. 
Gibt es da schon eine fertige Funktion in HAL die mir diese zwei 
Funktionen ausführt? Wie gehe ich am besten Schritt für Schritt vor um 
diese Verbindung zum Sensor herzustellen?

Vielen dank schon im vorraus für eure Ratschläge!

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.