/* CAMCONV.C  Camera Tripod data file conversion routine V1.0*/

#define MAIN_BAT_CAL 	0.1735
#define LEFT_STRB_CAL   2.1556
#define RIGHT_STRB_CAL  2.2045
#define CON_BAT_CAL     0.03906

#include <stdio.h>
#include <conio.h>
#include <string.h>

/**************MAIN***************************/

main(void){
  char filein[80], fileout[80];
  char *p;
  FILE *in, *out;
  int d1,d2,d3,d4,d5,d6, l_strb_1, r_strb_1, l_strb_2, r_strb_2;
  float main_bat, con_bat;

/*************INPUT FILE*****************************/

  printf("\n\nEnter camera raw data file name: ");
  scanf("%s", filein);

  if((in=fopen(filein, "rt")) == NULL) {
    printf("Cannot open source file\n");
    return(1);
  }

/*************OUTPUT FILE********************************/

  strcpy(fileout, filein);
  p=strrchr(fileout, '.');
  if(p) strset(p, '\0');
  strcat(fileout, ".prn");

  if((out=fopen(fileout, "wt")) == NULL) {
    printf("Cannot open destination file\n");
    return(1);
  }

/***************DATA CONVERSION LOOP******************************/

  printf("\n\nConverting raw data file to engineering units...");

  fprintf(out, "   9V    28V     L-STROBE      R-STROBE\n");

  while(fscanf(in, "%d %d %d %d %d %d", &d1,&d2,&d3,&d4,&d5,&d6) != EOF){

    main_bat = MAIN_BAT_CAL * d1;
    l_strb_1 = LEFT_STRB_CAL * d2;
    r_strb_1 = RIGHT_STRB_CAL * d3;
    l_strb_2 = LEFT_STRB_CAL * d4;
    r_strb_2 = RIGHT_STRB_CAL * d5;
    con_bat = CON_BAT_CAL * d6;
    

      fprintf(out, "%6.2f %6.2f %6d %6d %6d %6d\n",
	  con_bat, main_bat, l_strb_1, l_strb_2, r_strb_1, r_strb_2);
  }

  if(fclose(in)) printf("\nfile close error");
  if(fclose(out)) printf("\nfile close error");
  return 0;
}

/**************************************************/
