Gast
#6149113
Hallo zusammen, ich bin dabei einen bno080 (sparkfun board) mit einem STM32RE446 Nucleo Board auszulesen. Dabei nutze ich SW4STM32 als IDE und CubeMX für die initiale Config. Auf der MCU soll das Hillcrest Framework laufen, was hier schon mal für das oben genannte board portiert wurde: https://github.com/hcrest/bno080-nucleo-demo Ich portiere jetzt also die Firmware aus dem Repo von EWARM zu SW4STM32, allerdings scheint mir der Code nicht lauffähig zu sein. Die Fehlermeldung auf der Console ist "Hillcrest SH-2 Demo. Error from sh2_getProdIds. Error: -2, from sh2_setFrs() in configure(). Error: -2, from sh2_setCalConfig() in configure(). Starting Sensor Reports. Error while enabling sensor 5" Die erste Stelle an der eine Funktion mit Fehler endet ist in shtp_send() in shtp.c . Hier wird SH2_ERR_BAD_PARAM (-2) zurückgegeben, da der parameter "chan" größer ist als die maximal erlaubte Channel Anzahl. Die Anzahl der Channel wird vorher gesetzt in sh2.c
1 | |
2 | |
3 | |
4 | |
Jetzt frage ich mich - was ist eigentlich ein Channel in diesem Kontext? - was soll mir der Kommentar sagen? Wenn ich die Zeile ändere und controlChan zu 0x1 setze, dann kommt keine Fehlermeldung, ich lande allerdings in einem Lock, verursacht durch sh2_hal_block() in opStart() in sh2.c. Hat sich schon mal jemand mit dem Hillcrest Framework und STM32 beschäftigt und kann mir sagen ob der Code prinzipiell lauffähig ist? Viele Grüße!