ButterflyMP3

ledgraphics.c

Go to the documentation of this file.
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 
 All Files Functions Variables Typedefs Enumerations Enumerator Defines