ButterflyMP3
|
00001 00033 //#define LCDG_C 00034 00035 #include <avr/io.h> 00036 #include <avr/pgmspace.h> 00037 #include <avr/interrupt.h> 00038 #include "types.h" 00039 #include "lcdgraphics.h" 00040 #include "main.h" 00041 #include "timer0.h" 00042 //#include "BCD.h" 00043 //#include "avrfat16.h" // Included for long filename / ID3 stuff. 00044 00045 extern uint8 gCurrentSongNum; 00046 extern uint8 gMode; 00047 00057 void LEDMatrix_timer(void) 00058 { 00059 char rowtemp; 00060 char coltemp; 00061 00062 if ((gMode == MODE_PLAY) && (gCurrentSongNum > 0) ){ 00063 00064 rowtemp = LEDMATRIXROWPORT & ~LEDROWMASK ; // save status of port 00065 coltemp = LEDMATRIXCOLPORT & ~LEDCOLMASK ; // save status of port 00066 00067 LEDMATRIXCOLPORT = ( ~( (1<<((gCurrentSongNum-1) / LEDMATRIXROWS) ) & LEDCOLMASK ) | coltemp); // clear columns that are active 00068 LEDMATRIXROWPORT = ( 1<<((gCurrentSongNum-1) % LEDMATRIXROWS) ) | rowtemp; 00069 00070 }else{ 00071 LEDMATRIXCOLPORT |= (1<<(LEDMATRIXCOLS-1))-1; // disable all columns 00072 LEDMATRIXROWPORT &= ~((1<<(LEDMATRIXROWS-1))-1); // disable all rows 00073 } 00074 } 00075 00076 00084 void LCD_Initialize(void) 00085 { 00086 LEDMATRIXCOLPORT |= LEDCOLMASK ; // disable all columns 00087 LEDMATRIXROWPORT &= ~LEDROWMASK; // disable all rows 00088 LEDMATRIXCOLDDR |= LEDCOLMASK ; // set cols to output 00089 LEDMATRIXROWDDR |= LEDROWMASK ; // set rows to output 00090 00091 Timer0_RegisterCallbackFunction(LEDMatrix_timer); // setup timer to scan matrix 00092 return; 00093 } 00094 00095 00099 void LCD_Blank(void) 00100 { 00101 return; 00102 } 00103 00104 00108 void LCD_Sleep(void) 00109 { 00110 return; 00111 } 00112 00113 00117 void LCD_Wake(void) 00118 { 00119 //extern uint8 gLCD_Refresh; 00120 00121 //gLCD_Refresh=TRUE; 00122 return; 00123 } 00124 00125 00131 void LCD_PrintfU4(uint8 Data) 00132 { 00133 /* Send 4-bit hex value */ 00134 // uint8 Character[2]; 00135 // Character[0] = Data&0x0f; 00136 // if (Character[0]>9) 00137 // { 00138 // Character[0]+='A'-10; 00139 // } 00140 // else 00141 // { 00142 // Character[0]+='0'; 00143 // } 00144 00145 00146 return; 00147 } 00148 00153 void LCD_PrintfU8(uint8 Data) 00154 { 00155 // /* Send 8-bit hex value */ 00156 // LCD_PrintfU4(Data>>4); 00157 // LCD_PrintfU4(Data); 00158 return; 00159 } 00160 00161 00162 00163 00164 00165 00170 uint8 LCD_Time(uint16 data) 00171 { 00172 return 0; 00173 } 00174 00180 uint8 LCD_FileName(uint8 resetScroll) 00181 { 00182 return 0; 00183 } 00184 00188 void LCD_Play(void) 00189 { 00190 return; 00191 } 00192 00193 00197 void LCD_Stop(void) 00198 { 00199 return; 00200 } 00201 00202 00206 void LCD_Pause(void) 00207 { 00208 return; 00209 } 00210 00215 void LCD_Vol(uint8 volume, uint8 boostOn) 00216 { 00217 return; 00218 } 00219 00224 uint8 LCD_Tester(void) 00225 { 00226 return 0; 00227 } 00228 00229 00230 00234 void LCD_Scanning(void) 00235 { 00236 return; 00237 } 00238 00242 void LCD_Battery(uint8 percentage) 00243 { 00244 return; 00245 } 00246