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.
rain.h
00001 /* Rain Table */ 00002 int rain_time; 00003 int rain_drop_time; 00004 int rain_drop_prev_time; 00005 char ledtable_rain [16] [32]; 00006 00007 00008 /************************************************************************* 00009 Function Headers 00010 **************************************************************************/ 00011 void rain_init(void); 00012 void rain_update(void); 00013 void rain_drop(void); 00014 00015 00016 void rain_init(void){ 00017 rain_drop_time = tabletimer.read_ms(); 00018 rain_drop_prev_time = rain_drop_time; 00019 rain_time = tabletimer.read_ms(); 00020 } 00021 00022 00023 00024 void rain_update(void){ 00025 00026 if((tabletimer.read_ms() - rain_time)>rain_update_time){ 00027 // Update the rain mapping 00028 00029 // Shift values down 00030 for(int row = 15; row >0; row--){ 00031 ledtable_rain[row][0] = ledtable[row-1][0]; 00032 ledtable_rain[row][1] = ledtable[row-1][1]; 00033 ledtable_rain[row][2] = ledtable[row-1][2]; 00034 ledtable_rain[row][3] = ledtable[row-1][3]; 00035 ledtable_rain[row][4] = ledtable[row-1][4]; 00036 ledtable_rain[row][5] = ledtable[row-1][5]; 00037 ledtable_rain[row][6] = ledtable[row-1][6]; 00038 ledtable_rain[row][7] = ledtable[row-1][7]; 00039 ledtable_rain[row][8] = ledtable[row-1][8]; 00040 ledtable_rain[row][9] = ledtable[row-1][9]; 00041 ledtable_rain[row][10] = ledtable[row-1][10]; 00042 ledtable_rain[row][11] = ledtable[row-1][11]; 00043 ledtable_rain[row][12] = ledtable[row-1][12]; 00044 ledtable_rain[row][13] = ledtable[row-1][13]; 00045 ledtable_rain[row][14] = ledtable[row-1][14]; 00046 ledtable_rain[row][15] = ledtable[row-1][15]; 00047 ledtable_rain[row][16] = ledtable[row-1][16]; 00048 ledtable_rain[row][17] = ledtable[row-1][17]; 00049 ledtable_rain[row][18] = ledtable[row-1][18]; 00050 ledtable_rain[row][19] = ledtable[row-1][19]; 00051 ledtable_rain[row][20] = ledtable[row-1][20]; 00052 ledtable_rain[row][21] = ledtable[row-1][21]; 00053 ledtable_rain[row][22] = ledtable[row-1][22]; 00054 ledtable_rain[row][23] = ledtable[row-1][23]; 00055 ledtable_rain[row][24] = ledtable[row-1][24]; 00056 ledtable_rain[row][25] = ledtable[row-1][25]; 00057 ledtable_rain[row][26] = ledtable[row-1][26]; 00058 ledtable_rain[row][27] = ledtable[row-1][27]; 00059 ledtable_rain[row][28] = ledtable[row-1][28]; 00060 ledtable_rain[row][29] = ledtable[row-1][29]; 00061 ledtable_rain[row][30] = ledtable[row-1][30]; 00062 ledtable_rain[row][31] = ledtable[row-1][31]; 00063 } 00064 // Clear first row 00065 for(int col = 0; col <32; col++){ 00066 ledtable_rain[0][col] = 0; 00067 } 00068 00069 // Update table 00070 for(int i = 0; i <16; i++){ 00071 for(int j = 0; j <32; j++){ 00072 ledtable[i][j] = ledtable_rain[i][j]; 00073 } 00074 } 00075 00076 // Add new Drop 00077 rain_drop_time = tabletimer.read_ms(); 00078 if((rain_drop_time - rain_drop_prev_time) > drop_time_diff){ 00079 rain_drop(); 00080 rain_drop_prev_time = tabletimer.read_ms(); 00081 } // Add new Drop 00082 rain_drop_time = tabletimer.read_ms(); 00083 if((rain_drop_time - rain_drop_prev_time) > drop_time_diff){ 00084 rain_drop(); 00085 rain_drop_prev_time = tabletimer.read_ms(); 00086 } 00087 00088 rain_time = tabletimer.read_ms(); 00089 00090 } 00091 } 00092 00093 00094 void rain_drop(void){ 00095 int leader_num; 00096 int drop_num = rand()%32; 00097 for(int x = 0; x < drop_num; x ++){ 00098 if((rand()%10)>drop_probabilty){ 00099 leader_num = rand()%32; 00100 if(ledtable[0][leader_num] == 0){ 00101 ledtable[0][leader_num] = 60; 00102 } 00103 } 00104 } 00105 }
Generated on Tue Jul 19 2022 21:07:29 by
1.7.2