Example #1
0
/*******************************************************************************
 Function Name : main
 Description :
*******************************************************************************/
void   main(void){
	u16 i, x, y;
	u16 pict_y;

	Display_Info("main", 0);
	/*--------------initialize the hardware-----------*/
	NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0xC000);
	NVIC_Configuration();
	/*----------display APP version ----------*/
	// (0,0) lower left
	__Display_Str(0, 112, TXT_COLOR, BKGND_COLOR, msg_app_ver);
	__Display_Str(0, 96, TXT_COLOR, BKGND_COLOR, msg_chans);
	__Display_Str(0, 80, RED, BKGND_COLOR, msg_free);
	__Display_Str(0, 64, RED, BKGND_COLOR, msg_warr);
	/*--------initialization --------*/
	Read_Config();
	if(confp->initialized != INIT_FLAG){	// check for first time run
		Reset_Config();
	}
	// initialize based on saved parameters
	Set_Base(0);	// fastest sample speed
	Set_Range(confp->sig_range);
	Set_Orientation(confp->orient);
	Delay_MS(4000);
	Clear_Screen( BKGND_COLOR );
	confp->mode = confp->rtn_mode;
	switch(confp->mode){
		case PHA:
			Init_Spectrum();
			Display_Spectrum ();
			break;
		case RATE:
			Init_Rate();
			Display_Rate();
			break;
		case MENU:
			Display_Menu(confp->menu_index);
			break;
	}
	if (SD_Card_On() == 0){
		if (FAT_Info()){
			if (FAT_Info()){
				__Display_Str(0, 0, RED, BKGND_COLOR, SD_Msgs[SDErr]);
			}
		}
	}
	Beep(BEEP_500Hz, 500);
	/*--------application main loop --------*/
	ctr_key = KEY_SAMPLE;
	ctr_refresh = confp->refresh_time * 1000;	// in mS
	Scan_Samples();	// never returns from this call
}
Example #2
0
void LoadConfig(void)
{
  if (Item_Index[LOAD_PROFILE]) {
    Update[LOAD_PROFILE] = 0;
    if (SD_Card_ON())
    {
      if (FAT_Info() == 0)
      {
         Char_to_Str(FileNum, Item_Index[LOAD_PROFILE]);
         if (Open_File("FILE",FileNum,"CFG") == 0)
         {
            if (Read_File() == 0)
              RestoreConfig();
            else
               DisplayField(InfoF, WHITE, SD_Msgs[ReadErr]);
         } else
            DisplayField(InfoF, WHITE, SD_Msgs[NoFile]);
      } else
         DisplayField(InfoF, WHITE, SD_Msgs[SDErr]);
    } else
       DisplayField(InfoF, WHITE, SD_Msgs[NoCard]);
  } else {
    Read_Parameter();
    RestoreConfig();
  }
}
Example #3
0
void SaveConfig(void)
{
  Update[SAVE_PROFILE] = 0;
  if (Item_Index[SAVE_PROFILE]) {
    if (SD_Card_ON())
    {
        if (FAT_Info() == 0)
        {
           Char_to_Str(FileNum, Item_Index[SAVE_PROFILE]);
           if (Open_File("FILE",FileNum,"CFG") == 0)
           {
              PutConfig();
              if (Write_File() != 0)
                 DisplayField(InfoF, WHITE, SD_Msgs[WriteErr]);
           } else
              DisplayField(InfoF, WHITE, SD_Msgs[NoFile]);
        } else
           DisplayField(InfoF, WHITE, SD_Msgs[SDErr]);
    } else
       DisplayField(InfoF, WHITE, SD_Msgs[NoCard]);
  } else {
    PutConfig();
    if (Write_Parameter() == FLASH_COMPLETE)
       DisplayField(InfoF, WHITE, SD_Msgs[SaveOk]);
    else
       DisplayField(InfoF, WHITE, SD_Msgs[Failed]);
  }
}
Example #4
0
void SaveWave(void)
{
  Update[SAVE_WAVE_CURVE] = 0;
  if (SD_Card_ON())
  {
      if (FAT_Info() == 0)
      {
         Char_to_Str(FileNum, Item_Index[SAVE_WAVE_CURVE]);
         if (Open_File("FILE",FileNum,"DAT") == 0)
         {
            F_Buff[0] = 0;
            F_Buff[1] = 0;
            memcpy(F_Buff + 2, View_Buffer, 300);
            if (Write_File() == 0)
            {
               if (Item_Index[SAVE_WAVE_CURVE] < 255)
                  Item_Index[SAVE_WAVE_CURVE]++;
               Update[SAVE_WAVE_CURVE] = 1;
            } else
               DisplayField(InfoF, WHITE, SD_Msgs[WriteErr]);
         } else
            DisplayField(InfoF, WHITE, SD_Msgs[NoFile]);
      } else
         DisplayField(InfoF, WHITE, SD_Msgs[SDErr]);
  } else
     DisplayField(InfoF, WHITE, SD_Msgs[NoCard]);
}
Example #5
0
void LoadWave(void)
{
  Update[LOAD_WAVE_CURVE] = 0;
  if (SD_Card_ON())
  {
    Hide_Index[REF] = 1; // hide reference waveform
    Erase_Reference();
    if (FAT_Info() == 0)
    {
       Char_to_Str(FileNum, Item_Index[LOAD_WAVE_CURVE]);
       if (Open_File("FILE",FileNum,"DAT") == 0)
       {
          if (Read_File() == 0)
          {
             memcpy(Ref_Buffer, F_Buff + 2, 300);
             Hide_Index[REF] = 0; // show new reference waveform
             Draw_Reference();
             Update[LOAD_WAVE_CURVE] = 1;
          } else
             DisplayField(InfoF, WHITE, SD_Msgs[ReadErr]);
       } else
          DisplayField(InfoF, WHITE, SD_Msgs[NoFile]);
    } else
       DisplayField(InfoF, WHITE, SD_Msgs[SDErr]);
  } else
     DisplayField(InfoF, WHITE, SD_Msgs[NoCard]);
}
Example #6
0
void SaveWaveImage(void)
{
  Update[SAVE_WAVE_IMAGE] = 0;
  if (SD_Card_ON())
  {
      if (FAT_Info() == 0)
      {
         Char_to_Str(FileNum, Item_Index[SAVE_WAVE_IMAGE]);
         if (Open_File("IMAGE",FileNum,"BMP") == 0)
         {
            if (Writ_BMP_File() == 0)
            {
               if (Item_Index[SAVE_WAVE_IMAGE] < 255)
                  Item_Index[SAVE_WAVE_IMAGE]++;
               Update[SAVE_WAVE_IMAGE] = 1;
            } else
               DisplayField(InfoF, WHITE, SD_Msgs[WriteErr]);
         } else
            DisplayField(InfoF, WHITE, SD_Msgs[NoFile]);
      } else
         DisplayField(InfoF, WHITE, SD_Msgs[SDErr]);
  } else
     DisplayField(InfoF, WHITE, SD_Msgs[NoCard]);
}