Files
moduleair_pro_4g/matrix/test_text.cc
Your Name 76a676925d update
2025-03-26 17:17:40 +01:00

72 lines
2.0 KiB
C++
Executable File

/*
__ __ _ _____ ____ _____ __
| \/ | / \|_ _| _ \|_ _\ \/ /
| |\/| | / _ \ | | | |_) || | \ /
| | | |/ ___ \| | | _ < | | / \
|_| |_/_/ \_\_| |_| \_\___/_/\_\
Script to display a simple text on the matrix LED
sudo /var/www/moduleair_pro_4g/matrix/test_text
Pour compiler:
g++ -Iinclude -Llib test_text.cc -o test_text -lrgbmatrix
*/
#include "led-matrix.h"
#include "graphics.h"
#include <unistd.h>
#include <string.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.pwm_bits = 1;
defaults.panel_type = "FM6126A";
defaults.disable_hardware_pulsing = false;
rgb_matrix::Color color1(255, 0, 0); // Red color for the first line
rgb_matrix::Color color2(0, 0, 255); // Blue color for the second line
rgb_matrix::Color bg_color(0, 0, 0); // Background color (black)
int letter_spacing = 0;
Canvas *canvas = RGBMatrix::CreateFromFlags(&argc, &argv, &defaults);
if (canvas == NULL)
return 1;
// Load font
rgb_matrix::Font font;
if (!font.LoadFont("fonts/8x13.bdf")) return 1;
// Define text for each line
const char *line1 = "Plouf Les amis!";
const char *line2 = "Salut a tous!";
// Display first line with color1
int x = 0;
int y1 = font.baseline(); // First line position
rgb_matrix::DrawText(canvas, font, x, y1, color1, &bg_color, line1, letter_spacing);
// Display second line with color2
int y2 = y1 + font.height(); // Second line position, just below the first line
rgb_matrix::DrawText(canvas, font, x, y2, color2, &bg_color, line2, letter_spacing);
usleep(4000000); // Display for 4 seconds
// Clean up
canvas->Clear();
delete canvas;
return 0;
}