#define NUMPIXELS 128 #define NUMROWS 8 #define NUMCOLUMNS 8 #include #include #include #include "./NPLib2x64.c" #include "./heartassets.h" // API // void initialise(); // void show(void); // void setPixel(int pixelNumber, unsigned char R, unsigned char G, unsigned char B); // void setPixelRC(int row, int column, unsigned char R, unsigned char G, unsigned char B); // void clearPixel(int pixelNumber); // void clearbuffer(); // prototypes void displayImage1(unsigned char *im); void displayImage2(unsigned char *im); void pause(unsigned int p); void clear(); int main() { // always initialise NUMPIXELS initialise(NUMPIXELS); while(1) { displayImage1(heart3); displayImage2(heart2); printf("3 - 2\n"); pause(32768); clear(); displayImage1(heart2); displayImage2(heart1); printf("2 - 2\n"); pause(32768); clear(); displayImage1(heart1); displayImage2(heart2); printf("1 - 2\n"); pause(32768); clear(); displayImage1(heart3); displayImage2(heart1); printf("3 - 1\n"); pause(32768); clear(); if(kbhit()) { char ch = getch(); // eat it break; } } return 0; } void displayImage1(unsigned char *im) { for(int i = 0; i < 64; i++) { setPixel(i, im[(i*3)], im[(i*3)+1], im[(i*3)+2]); show(); //pause(512); } } void displayImage2(unsigned char *im) { for(int i = 64; i < 128; i++) { setPixel(i, im[(i*3)], im[(i*3)+1], im[(i*3)+2]); show(); //pause(521); } } void pause(unsigned int p) { // busy loop for(int i = 0; i < p;i++) { // } } void clear() { for(int pixelNumber = 0; pixelNumber < NUMPIXELS; pixelNumber++) { clearPixel(pixelNumber); } show(); }