Forum: Mikrocontroller und Digitale Elektronik bno080 mit STM32 Nucleo (Hillcrest)


von GinTonic (Gast)


Lesenswert?

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
// sh2_init
2
int sh2_initialize(sh2_EventCallback_t *eventCallback, void *resetCookie)
3
{
4
    sh2.controlChan = 0xFF;  // An invalid value since we don't know yet.

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!

von GinTonic (Gast)


Lesenswert?

Problem gelöst! "controlChan" wird parallel in einem anderen Thread 
gesetzt und das Problem wurde ausgelöst durch ein defektes Jumper-Kabel 
am RST Pin.

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
Noch kein Account? Hier anmelden.