#include <stdio.h>
#include <stdlib.h>
#include <xc.h>
#include <string.h>
#include <time.h>
#include "../headers/config.h"
#include <math.h>
#include "../headers/spi.h"
#include "../headers/sram_MCP.h"
#include "../headers/serial.h"
#include "../headers/ballon_sonde.h"
float T;
char ligne[16];
int i;
void main(void){
initPIC();
//On initialise le microcontrôleur, la conversion analogique-numérique ainsi que les liaisons SPI et séries et le PWM:
init_CAN();
initSPI(0);
initRAM();
init_serial();
initPWM();
while (1)
{
__delay_ms(100);
/*pour chaque capteur on indique quelle broche est utilisée pour la CAN (init_capteur()); puis on réalise l'acquisition et on stocke le résultat sous la forme "T=300K" par exemple, dans le tableau de char ligne; on écrit ce dernier dans la SRAM puis on lit le résultat qu'on stocke à nouveau dans ligne; enfin, on transmet ligne à l'Arduino et on efface ligne.
*/
init_accelerometre_x();
accelerometre_x_CAN(ligne);
write_tab_RAM(ligne, 16, 1, 0, 0);
read_tab_RAM(ligne, 16,1,0,0);
send_string(ligne);
for(i=0;i<16;i++)
{
ligne[i]=0;
}
__delay_ms(100);
init_accelerometre_y();
accelerometre_y_CAN(ligne);
write_tab_RAM(ligne, 16, 1, 0, 0);
read_tab_RAM(ligne, 16,1,0,0);
send_string(ligne);
for(i=0;i<16;i++)
{
ligne[i]=0;
}
__delay_ms(100);
init_accelerometre_z();
accelerometre_z_CAN(ligne);
write_tab_RAM(ligne, 16, 1, 0, 0);
read_tab_RAM(ligne, 16,1,0,0);
send_string(ligne);
for(i=0;i<16;i++)
{
ligne[i]=0;
}
__delay_ms(100);
init_thermistance();
T = thermistance_CAN(ligne);
write_tab_RAM(ligne, 16, 1, 0, 0);
read_tab_RAM(ligne, 16,1,0,0);
send_string(ligne);
for(i=0;i<16;i++)
{
ligne[i]=0;
}
__delay_ms(100);
init_hygrometre();
hygrometre_CAN(ligne,T);
write_tab_RAM(ligne, 16, 1, 0, 0);
read_tab_RAM(ligne, 16,1,0,0);
send_string(ligne);
for(i=0;i<16;i++)
{
ligne[i]=0;
}
__delay_ms(100);
init_pression();
pression_CAN(ligne);
write_tab_RAM(ligne, 16, 1, 0, 0);
read_tab_RAM(ligne, 16,1,0,0);
send_string(ligne);
for(i=0;i<16;i++)
{
ligne[i]=0;
}
init_particules();
particules_CAN(ligne);
send_string(ligne);
for(i=0;i<16;i++)
{
ligne[i]=0;
}
changeDC1(50);
write_tab_RAM(ligne, 16, 1, 0, 0);
read_tab_RAM(ligne, 16,1,0,0);
send_string(ligne);
}
}