#include "Radiotelescopio.h"

#include <utility.h>

#include <Dataacq.h>

#include <formatio.h>

#include <ansi_c.h>

#include <cvirte.h> /* Needed if linking in external compiler; harmless otherwise */

#include <userint.h>

#include "d:\WORKS\Radiotelescopio\Radiotelescopio.h"

#include <NIDAQEx.h>

#include <time.h>

 

//LAB-PC Variables:

 

i16 iStatus = 0;

i16 iRetVal = 0;

i16 iDevice = 1;

i16 iChan = 1;

i16 iGain = 1;

f64 dVoltage = 0.0;

i16 iIgnoreWarning = 0;

 

static int panelHandle;

int controllo, stop, stop2;

time_t CurrentTime;

int tempo, prov;

 

 

int main (int argc, char *argv[])

{

if (InitCVIRTE (0, argv, 0) == 0) //Needed if linking in external compiler; harmless otherwise

return -1; /* out of memory */

if ((panelHandle = LoadPanel (0, "Radiotelescopio.uir", PANEL)) < 0)

return -1;

DisplayPanel (panelHandle);

RunUserInterface ();

return 0;

}

 

 

int CVICALLBACK Start (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

int i;

FILE *filep;

char path[280];

switch (event)

{

case EVENT_COMMIT:

DeleteGraphPlot (PANEL, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW);

FileSelectPopup ("", "*.dat", "*.dat", //mi viene fuori la finestra

"Salvataggio dati acquisiti in...", VAL_SAVE_BUTTON,

0, 1, 0, 1, path);

while (controllo==0 && stop2==0) {

//stop2 = KeyHit ();

time (&CurrentTime); //leggo l'ora( secondi trascorsi dal 1-1-1900)

CurrentTime = (CurrentTime%86400);

tempo = CurrentTime - 79200 ; //pongo le 23 come punto zero iniziale

// per le 17000 misure che 79200

SetCtrlVal (PANEL, PANEL_SECOND, tempo); //fa il conto alla rovescia

//per la partenza

if ((tempo < 3) && (tempo > 0)) controllo=1;

if (controllo==1) {

 

filep = fopen (path, "a"); //mi apre il file

i=0;

while (i<17000 && stop==0) {

stop = KeyHit ();

iStatus = AI_VRead(iDevice, iChan, iGain, &dVoltage);

iRetVal = NIDAQErrorHandler(iStatus, "AI_VRead",

iIgnoreWarning);

fprintf(filep, "%lf\n", dVoltage); //ordino di scrivere nel file

 

i++;

PlotPoint (PANEL, PANEL_GRAPH, (double)i, (double)dVoltage,

VAL_SOLID_SQUARE, VAL_BLUE);

Delay ( 1 );

}

if (i=16999) controllo=0;

fprintf(filep,"\n\n\n ********************** FINE ACQUISIZIONE

******************** \n\n\n");

 

fclose (filep); //chiudo il file

 

}

 

}

break;

}

return 0;

 

}

 

 

 

int CVICALLBACK Quit (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

switch (event)

{

case EVENT_COMMIT:

QuitUserInterface (0);

break;

}

return 0;

}

 

int CVICALLBACK Tasto (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

 

f64 radio[17000];

char path1[280];

int Status;

switch (event)

{

case EVENT_COMMIT:

FileSelectPopup ("", "*.dat", "*.dat", "Carica File ...",VAL_LOAD_BUTTON, 0, 1, 0, 1,

path1);

Status = FileToArray (path1, radio, VAL_DOUBLE, 17000, 1,

VAL_GROUPS_TOGETHER, VAL_GROUPS_AS_ROWS, VAL_ASCII);

 

PlotY (PANEL, PANEL_GRAPH, radio, 17000, VAL_DOUBLE, VAL_SCATTER,

VAL_SOLID_SQUARE, VAL_SOLID, 1, VAL_DK_BLUE);

break;

}

return 0;

 

}