/******************************************************************************* 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 }
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(); } }
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]); } }
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]); }
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]); }
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]); }