43 lines
968 B
C
43 lines
968 B
C
#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<61>tres */
|
||
MySPI_Send(WRITE|BW_RATE); /* Ecriture dans le BW rate */
|
||
MySPI_Send(0x0A); /* Envoi des param<61>tres */
|
||
MySPI_Send(WRITE|POWER_CTL); /* Ecriture dans le POWER_CTL */
|
||
MySPI_Send(0x08); /* Envoi des param<61>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
|
||
|