dhenry:
You do have a buffer, in a[].
Ah I see, I was thinking of it as a font, i.e. something that's constant.
Anyway, I made a lot of progress, now my letter is scrolling seamlessly between 2 LED matrices and even wraps around! I think I can adapt it to any number of LED matrices in the chain...
void letter_scroll(){
 // Define "A" Character columnwise orientation
 byte a[8]={B00000000,B01111111,B10001000,B10001000,B10001000,B10001000,B01111111,B00000000};
 int matrix_rows=8; // Specify number of LEDs in a row of the matrix
 int screen_res=lc.getDeviceCount()*matrix_rows; // Define Screen resolution (lengh) by getting number of devices connected and rows in each matrix (i.e. 2x8=16)
 int row=0; // Var will only be used on first screen to do wrap around function
 for(int j=0;j<screen_res;j++){ // This will shift position of the row creating movement
  for(int i=0;i<8;i++) { // Render Character on Screen 1
   if (j>8){ //we beyond first screen
     if (j>matrix_rows){ // Time to wrap around
      row=j-screen_res; // Modify start position so it goesn't go beyond screen
      lc.setRow(0,i+row,a[i]); // Render Letter
     }
    }
    else{ // We are on the 1st screen
      lc.setRow(0,i+j,a[i]); // Render Letter
    }
  }
  for(int i=0;i<8;i++) { // Render Character on second screen
    if (j>0){ // Are we scrolling off the prev. screen?
     lc.setRow(1,i+j-8,a[i]); // Render Character on second screen
    }
  }
  delay(100); // speed of animation
  }
}
LEDScrollTest1.ino (2.32 KB)