Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 #include "mbed.h" 00002 00003 Serial pc(USBTX, USBRX); 00004 const int frequ = 50; //unit kHz 00005 const char dev_addr = 0x00; //fixed 00006 const char version[4] = "0.3"; 00007 00008 void testmode(void); 00009 void i2c_read(void); 00010 void i2c_write(void); 00011 void EasyFuse_prog(void); 00012 void hot_read(void); 00013 void adc_test(void); 00014 00015 void clear_screen() { 00016 int i=0; 00017 pc.printf("\033[%dm", 36);//change text color to cyan 00018 pc.printf("\033[2J");//clears screen 00019 pc.printf("\033[%d;%dH%c", 1, 1);//locate cursor to the 0,0 00020 pc.printf("\n\r"); 00021 //Print CSI059 00022 pc.printf("\n\r \332\304"); 00023 for ( i = 0; i<46; i++) pc.printf("\304"); 00024 pc.printf("\304\302"); 00025 pc.printf("\n\r \263\t\t\t\t\t\t \263"); 00026 pc.printf("\n\r \263 \334\334\334\t \334\334\334\t\334\334\334\t \334\334 \t \334\334 \t \334\334 \263"); 00027 pc.printf("\n\r \263 \333 \t\333 \t \333 \t\333 \333\t\333 \t\333 \263"); 00028 pc.printf("\n\r \263 \333 \t\337\337\334\334\t \333 \t\333 \333\t\333\337\337\334\t\333\337\337\334 \263"); 00029 pc.printf("\n\r \263 \333 \t \333\t \333 \t\333 \333\t\333 \333\t\333 \333 \263"); 00030 pc.printf("\n\r \263 \337\337\337\t\337\337\337 \t\337\337\337\t \337\337 \t \337\337 \t \337\337 \263"); 00031 pc.printf("\n\r \263\t\t\t\t\t\t \263\n\r \300\304"); 00032 for ( i = 0; i<46; i++) pc.printf("\304"); 00033 pc.printf("\304\331"); 00034 pc.printf("\n\n\n\r\tPROTYPE EVALUATION S/W"); 00035 pc.printf("\n\n\r\tVersion : %s",version); 00036 pc.printf("\n\n\r \315"); 00037 for ( i = 0; i<80; i++) pc.printf("\315"); 00038 pc.printf("\n\n\n\r"); 00039 pc.printf("\033[%dm", 32);//change text color to green 00040 } 00041 00042 void print_menu() { 00043 int i=0; 00044 pc.printf("\n\n\r\tWhat do you want to do next ?"); 00045 pc.printf("\033[%dm ", 31);//change text color to red 00046 pc.printf("\n\n\n\r\t\332\304"); 00047 for ( i = 0; i<45; i++) pc.printf("\304"); 00048 pc.printf("\304\302"); 00049 pc.printf("\n\r\t\263\t\t\t\t\t\t\263"); 00050 pc.printf("\n\r\t\263 Press 't' : to generate Test-Mode Sequence\t\263"); 00051 pc.printf("\n\r\t\263\t\t\t\t\t\t\263"); 00052 pc.printf("\n\r\t\263 Press 'r' : to perform Register Read \t\263"); 00053 pc.printf("\n\r\t\263\t\t\t\t\t\t\263"); 00054 pc.printf("\n\r\t\263 Press 'w' : to perform Register Write \t\263"); 00055 pc.printf("\n\r\t\263\t\t\t\t\t\t\263"); 00056 pc.printf("\n\r\t\263 Press 'p' : to program Easy Fuse \t\263"); 00057 pc.printf("\n\r\t\263\t\t\t\t\t\t\263"); 00058 pc.printf("\n\r\t\263 Press 'h' : to Perform Hot Register Read \t\263"); 00059 pc.printf("\n\r\t\263\t\t\t\t\t\t\263"); 00060 pc.printf("\n\r\t\263 Press 'a' : to Perform ADC tests \t\263"); 00061 pc.printf("\n\r\t\263\t\t\t\t\t\t\263"); 00062 pc.printf("\n\r\t\263 Press 'c' : to clear screen \t\263"); 00063 pc.printf("\n\r\t\263\t\t\t\t\t\t\263"); 00064 pc.printf("\n\r\t\300\304"); 00065 for ( i = 0; i<45; i++) pc.printf("\304"); 00066 pc.printf("\304\331"); 00067 pc.printf("\033[%dm", 32);//change text color to green 00068 pc.printf("\n\n\n\r\tYour Selection : "); 00069 } 00070 00071 void draw_line() { 00072 pc.printf("\033[%dm ", 33);//change text color to yellow 00073 pc.printf("\n\n\n\n\r \315"); 00074 for ( int i = 0; i<80; i++) pc.printf("\315"); 00075 pc.printf("\033[%dm ", 32);//change text color to green 00076 pc.printf("\n\n\r"); 00077 } 00078 00079 void draw_bar() { 00080 pc.printf("\033[%dm ", 33);//change text color to yellow 00081 pc.printf("\n\n\n\n\r \334"); 00082 for ( int i = 0; i<80; i++) pc.printf("\334"); 00083 pc.printf("\033[%dm ", 32);//change text color to green 00084 pc.printf("\n\n\r"); 00085 } 00086 00087 void clear_screen_ques() { 00088 int temp; 00089 pc.printf("\n\n\r\tClear Screen (y/n) : "); 00090 temp = 0; 00091 while ( temp!='y' && temp!='n') { 00092 temp = pc.getc(); 00093 } 00094 if (temp == 'y') clear_screen(); 00095 else draw_bar(); 00096 } 00097 00098 char get_selection() { 00099 char current_char; 00100 int flag = 0; 00101 while (flag == 0) { 00102 current_char = pc.getc(); 00103 if ( current_char == 't' || current_char == 'r' || current_char == 'w' || current_char == 'p' || current_char == 'c' || current_char == 'h' || current_char == 'a' ) flag = 1; 00104 else { 00105 pc.printf(" \033[%dm Invalid Chracter!! No worries, let us try again \033[%dm",41,40); 00106 pc.printf("\n\n\r\tYour Selection : "); 00107 } 00108 } 00109 return current_char; 00110 } 00111 00112 void print_note() { 00113 pc.printf("\033[%dm", 34);//change text color to blue 00114 pc.printf("\n\n\r\tNote : "); 00115 pc.printf("\n\r\t\304\304\304\304\304\304"); 00116 pc.printf("\n\n\r\t1. In Tera Term, enable 'Local echo' in Setup -> Terminal"); 00117 pc.printf("\n\n\r\t2. When not specified, please do not press 'enter' key after typing any entry "); 00118 pc.printf("\033[%dm", 32);//change text color to green 00119 draw_line(); 00120 } 00121 00122 int main() { 00123 char current_char=0; 00124 clear_screen(); 00125 print_note(); 00126 while(1) { 00127 print_menu(); 00128 current_char = get_selection(); 00129 draw_line(); 00130 00131 switch (current_char) { 00132 00133 case 't': 00134 testmode(); 00135 clear_screen_ques(); 00136 break; 00137 00138 case 'r': 00139 i2c_read(); 00140 clear_screen_ques(); 00141 break; 00142 00143 case 'w': 00144 i2c_write(); 00145 clear_screen_ques(); 00146 break; 00147 00148 case 'p': 00149 EasyFuse_prog(); 00150 clear_screen_ques(); 00151 break; 00152 00153 case 'h': 00154 hot_read(); 00155 clear_screen_ques(); 00156 break; 00157 00158 case 'a': 00159 adc_test(); 00160 clear_screen_ques(); 00161 break; 00162 00163 case 'c': 00164 clear_screen(); 00165 break; 00166 } 00167 }//end of while 00168 }
Generated on Wed Jul 13 2022 07:54:48 by
