#include "Rouli.h" /* Dans cette partie nous allons traiter le roulis du voiluier */ void rouli_InitAccel(void) { MySPI_Clear_NSS(); /* Init de l'accelerometre avec SPI */ MySPI_Send(WRITE|DATA_FORMAT); /* Ecriture dans le data Format */ MySPI_Send(0x0B); /* Envoi des param�tres */ MySPI_Send(WRITE|BW_RATE); /* Ecriture dans le BW rate */ MySPI_Send(0x0A); /* Envoi des param�tres */ MySPI_Send(WRITE|POWER_CTL); /* Ecriture dans le POWER_CTL */ MySPI_Send(0x08); /* Envoi des param�tre */ MySPI_Set_NSS(); } void rouli_GetAccel (XYZ * axe) { char X0,X1,Y0,Y1,Z0,Z1; MySPI_Clear_NSS(); MySPI_Send(READ_MB|DATAX0); X0 = MySPI_Read () ; X1 = MySPI_Read () ; Y0 = MySPI_Read () ; Y1 = MySPI_Read () ; Z0 = MySPI_Read () ; Z1 = MySPI_Read () ; MySPI_Set_NSS(); axe->gX = ((short int)((X1<<8)|X0))*0.004; axe->gY = ((short int)((Y1<<8)|Y0))*0.004; axe->gZ = ((short int)((Z1<<8)|Z0))*0.004; } // axe y entre -0.7 et 0.7