diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..ab63a76 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,9 @@ +{ + "permissions": { + "allow": [ + "Bash(sqlite3:*)" + ], + "deny": [] + }, + "enableAllProjectMcpServers": false +} \ No newline at end of file diff --git a/matrix/welcomeScreen/welcome_screen b/matrix/welcomeScreen/welcome_screen_FM6126 similarity index 92% rename from matrix/welcomeScreen/welcome_screen rename to matrix/welcomeScreen/welcome_screen_FM6126 index 1d0173d..7d4bc94 100644 Binary files a/matrix/welcomeScreen/welcome_screen and b/matrix/welcomeScreen/welcome_screen_FM6126 differ diff --git a/matrix/welcomeScreen/welcome_screen.cc b/matrix/welcomeScreen/welcome_screen_FM6126.cc similarity index 91% rename from matrix/welcomeScreen/welcome_screen.cc rename to matrix/welcomeScreen/welcome_screen_FM6126.cc index b3e1b22..029db92 100644 --- a/matrix/welcomeScreen/welcome_screen.cc +++ b/matrix/welcomeScreen/welcome_screen_FM6126.cc @@ -7,14 +7,16 @@ Script to launch the welcome screen +Avant de tester: +sudo systemctl stop moduleair-boot.service + Pour compiler: -g++ -Iinclude -Llib welcome_screen.cc -o welcome_screen -lrgbmatrix -g++ -I /var/www/moduleair_pro_4g/matrix/include -L /var/www/moduleair_pro_4g/matrix/lib /var/www/moduleair_pro_4g/matrix/welcome_screen.cc -o /var/www/moduleair_pro_4g/matrix/welcome_screen -lrgbmatrix +g++ -I /var/www/moduleair_pro_4g/matrix/include -L /var/www/moduleair_pro_4g/matrix/lib /var/www/moduleair_pro_4g/matrix/welcomeScreen/welcome_screen_FM6126.cc -o /var/www/moduleair_pro_4g/matrix/welcomeScreen/welcome_screen_FM6126 -lrgbmatrix Pour lancer: -sudo /var/www/moduleair_pro_4g/matrix/welcomeScreen/welcome_screen +sudo /var/www/moduleair_pro_4g/matrix/welcomeScreen/welcome_screen_FM6126 */ @@ -54,7 +56,7 @@ void draw_welcome_screen(Canvas *canvas) { int letter_spacing = 0; int x = 10, y1 = 20, y2 = 50; - rgb_matrix::DrawText(canvas, font2, x, y1, myCYAN, &bg_color, "Welcome to", letter_spacing); + rgb_matrix::DrawText(canvas, font2, x, y1, myCYAN, &bg_color, "PLOUF", letter_spacing); rgb_matrix::DrawText(canvas, font2, x, y2, myWHITE, &bg_color, "ModuleAir", letter_spacing); usleep(2000000); // Display the welcome screen for 2 seconds diff --git a/matrix/welcomeScreen/welcome_screen_ICN2037 b/matrix/welcomeScreen/welcome_screen_ICN2037 new file mode 100644 index 0000000..674ed86 Binary files /dev/null and b/matrix/welcomeScreen/welcome_screen_ICN2037 differ diff --git a/matrix/welcomeScreen/welcome_screen_ICN2037.cc b/matrix/welcomeScreen/welcome_screen_ICN2037.cc new file mode 100644 index 0000000..41b65f3 --- /dev/null +++ b/matrix/welcomeScreen/welcome_screen_ICN2037.cc @@ -0,0 +1,98 @@ +/* + __ __ _ _____ ____ _____ __ + | \/ | / \|_ _| _ \|_ _\ \/ / + | |\/| | / _ \ | | | |_) || | \ / + | | | |/ ___ \| | | _ < | | / \ + |_| |_/_/ \_\_| |_| \_\___/_/\_\ + +Script to launch the welcome screen + +Avant de tester: +sudo systemctl stop moduleair-boot.service + + +Pour compiler: +g++ -I /var/www/moduleair_pro_4g/matrix/include -L /var/www/moduleair_pro_4g/matrix/lib /var/www/moduleair_pro_4g/matrix/welcomeScreen/welcome_screen_ICN2037.cc -o /var/www/moduleair_pro_4g/matrix/welcomeScreen/welcome_screen_ICN2037 -lrgbmatrix + + +Pour lancer: +sudo /var/www/moduleair_pro_4g/matrix/welcomeScreen/welcome_screen_ICN2037 + +*/ + +#include "led-matrix.h" +#include "graphics.h" +#include +#include +#include +#include +#include +#include + +using rgb_matrix::RGBMatrix; +using rgb_matrix::Canvas; + +std::atomic running(true); + +void signal_handler(int signum) { + running = false; +} + + +//message d'accueil +void draw_welcome_screen(Canvas *canvas) { + canvas->Clear(); + + rgb_matrix::Color myCYAN(0, 255, 255); + rgb_matrix::Color myWHITE(255, 255, 255); + rgb_matrix::Color bg_color(0, 0, 0); + + rgb_matrix::Font font1; + rgb_matrix::Font font2; + + if (!font1.LoadFont("/var/www/moduleair_pro_4g/matrix/fonts/6x9.bdf")) return; + if (!font2.LoadFont("/var/www/moduleair_pro_4g/matrix/fonts/9x18B.bdf")) return; + + int letter_spacing = 0; + int x = 10, y1 = 20, y2 = 50; + + rgb_matrix::DrawText(canvas, font2, x, y1, myCYAN, &bg_color, "PLOUF", letter_spacing); + rgb_matrix::DrawText(canvas, font2, x, y2, myWHITE, &bg_color, "ModuleAir", letter_spacing); + + usleep(2000000); // Display the welcome screen for 2 seconds +} + + +int main(int argc, char *argv[]) { + // Handle signals for graceful exit + signal(SIGINT, signal_handler); + signal(SIGTERM, signal_handler); + + 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; + + Canvas *canvas = RGBMatrix::CreateFromFlags(&argc, &argv, &defaults); + if (canvas == NULL) + return 1; + + // Display welcome screen once + draw_welcome_screen(canvas); + + // Sleep briefly to allow for updates + usleep(10000000); // 10 s + + // Clean up + canvas->Clear(); + delete canvas; + return 0; +}