56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
/*
|
|
Script to display a simple square on the matrix LED
|
|
sudo /var/www/moduleair_pro_4g/matrix/test_forms --led-no-hardware-pulse
|
|
|
|
Pour compiler:
|
|
g++ -Iinclude -Llib test_forms.cc -o test_forms -lrgbmatrix
|
|
*/
|
|
|
|
#include "led-matrix.h"
|
|
#include "graphics.h"
|
|
|
|
#include <unistd.h>
|
|
|
|
using rgb_matrix::RGBMatrix;
|
|
using rgb_matrix::Canvas;
|
|
|
|
int main(int argc, char *argv[]) {
|
|
RGBMatrix::Options defaults;
|
|
|
|
defaults.hardware_mapping = "moduleair_pinout";
|
|
defaults.rows = 64;
|
|
defaults.cols = 128;
|
|
defaults.chain_length = 1;
|
|
defaults.parallel = 1;
|
|
defaults.row_address_type = 3;
|
|
defaults.show_refresh_rate = true;
|
|
defaults.brightness = 100;
|
|
defaults.panel_type = "FM6126A";
|
|
|
|
rgb_matrix::Color red(255, 0, 0); // Red color
|
|
rgb_matrix::Color bg_color(0, 0, 0); // Background color (black)
|
|
|
|
Canvas *canvas = RGBMatrix::CreateFromFlags(&argc, &argv, &defaults);
|
|
if (canvas == NULL)
|
|
return 1;
|
|
|
|
// Define the top-left corner of the square
|
|
int start_x = 10; // X coordinate
|
|
int start_y = 10; // Y coordinate
|
|
int square_size = 8; // Size of the square (8x8)
|
|
|
|
// Draw a filled square
|
|
for (int x = start_x; x < start_x + square_size; ++x) {
|
|
for (int y = start_y; y < start_y + square_size; ++y) {
|
|
canvas->SetPixel(x, y, red.r, red.g, red.b);
|
|
}
|
|
}
|
|
|
|
usleep(10000000); // Display for 10 seconds
|
|
|
|
// Clean up
|
|
canvas->Clear();
|
|
delete canvas;
|
|
return 0;
|
|
}
|