I wrote a big long treatise about what I was seeing and what I tried, but then looked AGAIN at what guix had written. He is correct. For some reason (maybe my 72 year old eyes) MISSED the declaration on the first line! I like it, so simple. This is exactly what I wanted and needed. (I hadn't tried the line, I "looked at it", thought I knew what I was looking at. One should never assume...).
Below is my code that worked with the Defines. However, I think I'll go with the guix's suggestion because the code is self explanatory whereas the Defines are not.
// FullFunctionLEDTest
// to test 16x32 FE matrix, all LEDs all colors
#include <RGBmatrixPanel.h>
#define CLK 8 //these are UNO "logic" pin numbers,not physical Atmega
#define OE 9
#define LAT 10
#define A A0
#define B A1
#define C A2
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);
#define black 0x0000
#define blue 0x001F
#define red 0xF800
#define green 0x07E0
#define cyan 0x07FF
#define magenta 0xF81F
#define yellow 0xFFE0
#define white 0xFFFF
int d = 1000;
void setup() {
matrix.begin();
}
/****************************Function Loop**************************/
void loop()
{ //LineTest();
quad1(red);
delay(d);
quad2(green);
delay(d);
quad3(blue);
delay(d);
quad4(white);
delay(d);
}
void quad1(int colour)
{ matrix.fillRect(16, 0, 16, 8, colour);}
void quad2(int colour)
{ matrix.fillRect(0, 0, 16, 8, colour);}
void quad3(int colour)
{ matrix.fillRect(16, 8, 16, 8, colour);}
void quad4(int colour)
{ matrix.fillRect(0, 8, 16, 8, colour);}
/*********************Function QuadrantColorTest*****************/
void QuadrantColorTest( int colour)
{ matrix.fillRect(0, 0, 16, 8, colour); //Col,Row,Width,Height=rows Quadrant 2
//matrix.fillRect(16,0,16,8,matrix.Color333(7,0,0));//Quadrant 1
//matrix.fillRect(16,8,16,8,matrix.Color333(7,0,0));//Quadrant 3
//matrix.fillRect(0, 8, 16, 8, magenta); //Quadrant 4
}