From b6231669cc212ad6fe765049d019c902c9b1071f Mon Sep 17 00:00:00 2001 From: lukas Date: Sat, 26 Dec 2020 13:23:47 +0100 Subject: [PATCH] Initial commit --- Makefile | 42 ++ canvas.h | 52 ++ canvaspixel.c | 408 ++++++++++++ canvaspixel.h | 27 + canvaspixel.o | Bin 0 -> 42004 bytes content-streamer.h | 108 ++++ graphics.h | 144 +++++ include/canvas.h | 52 ++ include/content-streamer.h | 108 ++++ include/graphics.h | 144 +++++ include/led-matrix-c.h | 394 ++++++++++++ include/pixel-mapper.h | 110 ++++ include/thread.h | 86 +++ include/threaded-canvas-manipulator.h | 103 +++ led-matrix-c.h | 394 ++++++++++++ led-matrix.h | 504 +++++++++++++++ lib/.gitignore | 3 + lib/Makefile | 196 ++++++ lib/bdf-font.cc | 188 ++++++ lib/bdf-font.o | Bin 0 -> 136212 bytes lib/content-streamer.cc | 203 ++++++ lib/content-streamer.o | Bin 0 -> 116468 bytes lib/framebuffer-internal.h | 175 +++++ lib/framebuffer.cc | 878 ++++++++++++++++++++++++++ lib/framebuffer.o | Bin 0 -> 209032 bytes lib/gpio-bits.h | 28 + lib/gpio.cc | 787 +++++++++++++++++++++++ lib/gpio.h | 153 +++++ lib/gpio.o | Bin 0 -> 171568 bytes lib/graphics.cc | 172 +++++ lib/graphics.o | Bin 0 -> 80224 bytes lib/hardware-mapping.c | 287 +++++++++ lib/hardware-mapping.h | 60 ++ lib/hardware-mapping.o | Bin 0 -> 5204 bytes lib/led-matrix-c.cc | 304 +++++++++ lib/led-matrix-c.o | Bin 0 -> 117504 bytes lib/led-matrix.cc | 763 ++++++++++++++++++++++ lib/led-matrix.o | Bin 0 -> 267268 bytes lib/multiplex-mappers-internal.h | 38 ++ lib/multiplex-mappers.cc | 476 ++++++++++++++ lib/multiplex-mappers.o | Bin 0 -> 247440 bytes lib/options-initialize.cc | 461 ++++++++++++++ lib/options-initialize.o | Bin 0 -> 209024 bytes lib/pixel-mapper.cc | 338 ++++++++++ lib/pixel-mapper.o | Bin 0 -> 388180 bytes lib/thread.cc | 100 +++ lib/thread.o | Bin 0 -> 20140 bytes lib/utf8-internal.h | 57 ++ librgbmatrix.a | Bin 0 -> 1987554 bytes net.c | 253 ++++++++ net.h | 38 ++ net.o | Bin 0 -> 25868 bytes pixel-mapper.h | 110 ++++ pixelnuke | Bin 0 -> 1143708 bytes pixelnuke.c | 235 +++++++ pixelnuke.o | Bin 0 -> 22988 bytes thread.h | 86 +++ threaded-canvas-manipulator.h | 103 +++ 58 files changed, 9168 insertions(+) create mode 100644 Makefile create mode 100644 canvas.h create mode 100644 canvaspixel.c create mode 100644 canvaspixel.h create mode 100644 canvaspixel.o create mode 100644 content-streamer.h create mode 100644 graphics.h create mode 100644 include/canvas.h create mode 100644 include/content-streamer.h create mode 100644 include/graphics.h create mode 100644 include/led-matrix-c.h create mode 100644 include/pixel-mapper.h create mode 100644 include/thread.h create mode 100644 include/threaded-canvas-manipulator.h create mode 100644 led-matrix-c.h create mode 100644 led-matrix.h create mode 100644 lib/.gitignore create mode 100644 lib/Makefile create mode 100644 lib/bdf-font.cc create mode 100644 lib/bdf-font.o create mode 100644 lib/content-streamer.cc create mode 100644 lib/content-streamer.o create mode 100644 lib/framebuffer-internal.h create mode 100644 lib/framebuffer.cc create mode 100644 lib/framebuffer.o create mode 100644 lib/gpio-bits.h create mode 100644 lib/gpio.cc create mode 100644 lib/gpio.h create mode 100644 lib/gpio.o create mode 100644 lib/graphics.cc create mode 100644 lib/graphics.o create mode 100644 lib/hardware-mapping.c create mode 100644 lib/hardware-mapping.h create mode 100644 lib/hardware-mapping.o create mode 100644 lib/led-matrix-c.cc create mode 100644 lib/led-matrix-c.o create mode 100644 lib/led-matrix.cc create mode 100644 lib/led-matrix.o create mode 100644 lib/multiplex-mappers-internal.h create mode 100644 lib/multiplex-mappers.cc create mode 100644 lib/multiplex-mappers.o create mode 100644 lib/options-initialize.cc create mode 100644 lib/options-initialize.o create mode 100644 lib/pixel-mapper.cc create mode 100644 lib/pixel-mapper.o create mode 100644 lib/thread.cc create mode 100644 lib/thread.o create mode 100644 lib/utf8-internal.h create mode 100644 librgbmatrix.a create mode 100644 net.c create mode 100644 net.h create mode 100644 net.o create mode 100644 pixel-mapper.h create mode 100755 pixelnuke create mode 100644 pixelnuke.c create mode 100644 pixelnuke.o create mode 100644 thread.h create mode 100644 threaded-canvas-manipulator.h diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0348de1 --- /dev/null +++ b/Makefile @@ -0,0 +1,42 @@ +.PHONY: default all clean + +RGB_LIB_DISTRIBUTION=../../rpi-rgb-led-matrix +RGB_INCDIR=$(RGB_LIB_DISTRIBUTION)/include +RGB_LIBDIR=$(RGB_LIB_DISTRIBUTION)/lib +RGB_LIBRARY_NAME=librgbmatrix +RGB_LIBRARY=$(RGB_LIBDIR)/lib$(RGB_LIBRARY_NAME).a +LDFLAGS+=-L$(RGB_LIBDIR) -l$(RGB_LIBRARY_NAME) -lrt -lm -lpthread + +CC = gcc +CFLAGS = -Wall -pthread +LIBS = -levent -levent_pthreads -lrt -lGL -lGLEW -lglfw $(RGB_LIBRARY_NAME).a -lrt -lm -lpthread -lstdc++ +TARGET = pixelnuke + + + +default: CFLAGS += -O2 -flto +default: $(TARGET) +all: default + +debug: CFLAGS += -DDEBUG -g +debug: $(TARGET) + +OBJECTS = $(patsubst %.c, %.o, $(wildcard *.c)) +HEADERS = $(wildcard *.h) + +%.o: %.c $(HEADERS) + $(CC) $(CFLAGS) -c $< -o $@ + +% : %.o $(RGB_LIBRARY) + $(CXX) $< -o $@ $(LDFLAGS) + +%.o : %.c + $(CC) -I$(RGB_INCDIR) $(CFLAGS) -c -o $@ $< + +.PRECIOUS: $(TARGET) $(OBJECTS) + +$(TARGET): $(OBJECTS) + $(CC) $(CFLAGS) $(OBJECTS) -Wall $(LIBS) -o $@ + +clean: + -rm -f *.o $(TARGET) diff --git a/canvas.h b/canvas.h new file mode 100644 index 0000000..bbb8922 --- /dev/null +++ b/canvas.h @@ -0,0 +1,52 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2014 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#ifndef RPI_CANVAS_H +#define RPI_CANVAS_H +#include + +namespace rgb_matrix { +// An interface for things a Canvas can do. The RGBMatrix implements this +// interface, so you can use it directly wherever a canvas is needed. +// +// This abstraction also allows you to e.g. create delegating +// implementations that do a particular transformation, e.g. re-map +// pixels (as you might lay out the physical RGB matrix in a different way), +// compose images (OR, XOR, transparecy), scale, rotate, anti-alias or +// translate coordinates in a funky way. +// +// It is a good idea to have your applications use the concept of +// a Canvas to write the content to instead of directly using the RGBMatrix. +class Canvas { +public: + virtual ~Canvas() {} + virtual int width() const = 0; // Pixels available in x direction. + virtual int height() const = 0; // Pixels available in y direction. + + // Set pixel at coordinate (x,y) with given color. Pixel (0,0) is the + // top left corner. + // Each color is 8 bit (24bpp), 0 black, 255 brightest. + virtual void SetPixel(int x, int y, + uint8_t red, uint8_t green, uint8_t blue) = 0; + + // Clear screen to be all black. + virtual void Clear() = 0; + + // Fill screen with given 24bpp color. + virtual void Fill(uint8_t red, uint8_t green, uint8_t blue) = 0; +}; + +} // namespace rgb_matrix +#endif // RPI_CANVAS_H diff --git a/canvaspixel.c b/canvaspixel.c new file mode 100644 index 0000000..526b41f --- /dev/null +++ b/canvaspixel.c @@ -0,0 +1,408 @@ +#include +#include +#include // usleep +#include +#include +#include +#include //memcpy + +#include "canvaspixel.h" + +typedef struct CanvasLayer { + GLuint size; + GLenum format; + GLuint tex; + GLuint pbo1; + GLuint pbo2; + GLubyte *data; + size_t mem; +} CanvasLayer; + +// Global state + +static int canvaspixel_display = -1; +static unsigned int canvaspixel_tex_size = 1024; +static int canvaspixel_width=0; +static int canvaspixel_height=0; +static GLFWwindow* canvaspixel_win; +static CanvasLayer *canvaspixel_base; +static CanvasLayer *canvaspixel_overlay; + +pthread_t canvaspixel_thread; + +void glfw_error_callback(int error, const char* description) { + printf("GLFW Error: %d %s", error, description); +} + +static inline int min(int a, int b) { + return a < b ? a : b; +} + +static inline int max(int a, int b) { + return a > b ? a : b; +} + +// User callbacks + +void (*canvaspixel_on_close_cb)(); +void (*canvaspixel_on_resize_cb)(); +void (*canvaspixel_on_key_cb)(int, int, int); + +static int canvaspixel_do_layout = 0; + +static CanvasLayer* canvaspixel_layer_alloc(int size, int alpha) { + CanvasLayer * layer = malloc(sizeof(CanvasLayer)); + layer->size = size; + layer->format = alpha ? GL_RGBA : GL_RGB; + layer->mem = size * size * (alpha ? 4 : 3); + layer->data = malloc(sizeof(GLubyte) * layer->mem); + memset(layer->data, 0, layer->mem); + return layer; +} + +static void canvaspixel_layer_bind(CanvasLayer* layer) { + + // Create texture object + glGenTextures(1, &(layer->tex)); + glBindTexture( GL_TEXTURE_2D, layer->tex); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glBindTexture( GL_TEXTURE_2D, 0); + + // Create two PBOs + glGenBuffers(1, &(layer->pbo1)); + glBindBuffer( GL_PIXEL_UNPACK_BUFFER, layer->pbo1); + glBufferData( GL_PIXEL_UNPACK_BUFFER, layer->mem, NULL, GL_STREAM_DRAW); + glGenBuffers(1, &(layer->pbo2)); + glBindBuffer( GL_PIXEL_UNPACK_BUFFER, layer->pbo2); + glBufferData( GL_PIXEL_UNPACK_BUFFER, layer->mem, NULL, GL_STREAM_DRAW); + glBindBuffer( GL_PIXEL_UNPACK_BUFFER, 0); +} + + +static void canvaspixel_layer_unbind(CanvasLayer * layer) { + if (layer->tex) { + glDeleteTextures(1, &(layer->tex)); + glDeleteBuffers(1, &(layer->pbo1)); + glDeleteBuffers(1, &(layer->pbo2)); + } +} + +static void canvaspixel_layer_free(CanvasLayer * layer) { + canvaspixel_layer_unbind(layer); + free(layer->data); + free(layer); +} + +static void canvaspixel_on_resize(GLFWwindow* window, int w, int h); +static void canvaspixel_on_key(GLFWwindow* window, int key, int scancode, int action, + int mods); + +static void canvaspixel_on_key(GLFWwindow* window, int key, int scancode, int action, + int mods) { + if (action == GLFW_PRESS && canvaspixel_on_key_cb) + (*canvaspixel_on_key_cb)(key, scancode, mods); +} + +static void canvaspixel_on_resize(GLFWwindow* window, int w, int h) { + canvaspixel_width = w; + canvaspixel_height = h; + + if(canvaspixel_on_resize_cb) + (*canvaspixel_on_resize_cb)(); +} + +static void canvaspixel_window_setup() { + + if(canvaspixel_win) { + glfwDestroyWindow(canvaspixel_win); + } + + glfwWindowHint(GLFW_DOUBLEBUFFER, 1); + if (canvaspixel_display >= 0) { + int mcount; + GLFWmonitor** monitors = glfwGetMonitors(&mcount); + canvaspixel_display %= mcount; + GLFWmonitor* monitor = monitors[canvaspixel_display]; + const GLFWvidmode* mode = glfwGetVideoMode(monitor); + glfwWindowHint(GLFW_RED_BITS, mode->redBits); + glfwWindowHint(GLFW_GREEN_BITS, mode->greenBits); + glfwWindowHint(GLFW_BLUE_BITS, mode->blueBits); + glfwWindowHint(GLFW_REFRESH_RATE, mode->refreshRate); + canvaspixel_win = glfwCreateWindow(mode->width, mode->height, "Pixelflut", monitor, NULL); + } else { + canvaspixel_win = glfwCreateWindow(800, 600, "Pixelflut", NULL, NULL); + } + + if (!canvaspixel_win) { + printf("Could not create OpenGL context and/or window"); + return; + } + + glfwMakeContextCurrent(canvaspixel_win); + + // TODO: Move GL stuff to better place + //glShadeModel(GL_FLAT); // shading mathod: GL_SMOOTH or GL_FLAT + glPixelStorei(GL_UNPACK_ALIGNMENT, 4); // 4-byte pixel alignment + //glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); + //glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); + //glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); + glDisable(GL_DEPTH_TEST); + glDisable(GL_LIGHTING); + glDisable(GL_CULL_FACE); + glEnable(GL_TEXTURE_2D); + + //glfwSetWindowUserPointer(canvaspixel_win, (void*) this); + glfwSwapInterval(1); + glfwSetKeyCallback(canvaspixel_win, &canvaspixel_on_key); + glfwSetFramebufferSizeCallback(canvaspixel_win, &canvaspixel_on_resize); + + glfwGetFramebufferSize(canvaspixel_win, &canvaspixel_width, &canvaspixel_height); + canvaspixel_on_resize(canvaspixel_win, canvaspixel_width, canvaspixel_height); + + canvaspixel_do_layout = 0; +} + +static void canvaspixel_draw_layer(CanvasLayer * layer) { + if (!layer || !layer->data) + return; + + GLuint pboNext = layer->pbo1; + GLuint pboIndex = layer->pbo2; + layer->pbo1 = pboIndex; + layer->pbo2 = pboNext; + + // Switch PBOs on each call. One is updated, one is drawn. + // Update texture from first PBO + glBindBuffer( GL_PIXEL_UNPACK_BUFFER, pboIndex); + glBindTexture( GL_TEXTURE_2D, layer->tex); + glTexImage2D( GL_TEXTURE_2D, 0, layer->format, layer->size, layer->size, 0, + layer->format, GL_UNSIGNED_BYTE, 0); + glBindTexture( GL_TEXTURE_2D, 0); + + // Update second PBO with new pixel data + glBindBuffer( GL_PIXEL_UNPACK_BUFFER, pboNext); + GLubyte *ptr = (GLubyte*) glMapBuffer( GL_PIXEL_UNPACK_BUFFER, + GL_WRITE_ONLY); + memcpy(ptr, layer->data, layer->mem); + glUnmapBuffer( GL_PIXEL_UNPACK_BUFFER); + glBindBuffer( GL_PIXEL_UNPACK_BUFFER, 0); + + //// Actually draw stuff. The texture should be updated in the meantime. + + if (layer->format == GL_RGBA) { + glEnable( GL_BLEND); + glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } else { + glDisable( GL_BLEND); + } + + glPushMatrix(); + glBindTexture( GL_TEXTURE_2D, layer->tex); + glBegin( GL_QUADS); + glTexCoord2f(0, 0); + glVertex3f(0.0f, 0.0f, 0.0f); + glTexCoord2f(0, 1); + glVertex3f(0.0f, layer->size, 0.0f); + glTexCoord2f(1, 1); + glVertex3f(layer->size, layer->size, 0.0f); + glTexCoord2f(1, 0); + glVertex3f(layer->size, 0.0f, 0.0f); + glEnd(); + glBindTexture( GL_TEXTURE_2D, 0); + glPopMatrix(); +} + +static void* canvaspixel_render_loop(void * arg) { + + glfwSetErrorCallback(glfw_error_callback); + if (!glfwInit()) { + puts("GLFW initialization failed"); + if(canvaspixel_on_close_cb) + (*canvaspixel_on_close_cb)(); + glfwTerminate(); + return NULL; + } + + canvaspixel_window_setup(); + + int err = glewInit(); + if (err != GLEW_OK) { + puts("GLEW initialization failed"); + printf("Error: %s\n", glewGetErrorString(err)); + if(canvaspixel_on_close_cb) + (*canvaspixel_on_close_cb)(); + return NULL; + } + + canvaspixel_layer_bind(canvaspixel_base); + canvaspixel_layer_bind(canvaspixel_overlay); + + double last_frame = glfwGetTime(); + + while ("pixels are coming") { + + if (canvaspixel_do_layout) { + canvaspixel_layer_unbind(canvaspixel_base); + canvaspixel_layer_unbind(canvaspixel_overlay); + canvaspixel_window_setup(); + canvaspixel_layer_bind(canvaspixel_base); + canvaspixel_layer_bind(canvaspixel_overlay); + } + + if (glfwWindowShouldClose(canvaspixel_win)) + break; + + glfwGetFramebufferSize(canvaspixel_win, &canvaspixel_width, &canvaspixel_height); + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glOrtho(0, canvaspixel_width, canvaspixel_height, 0, -1, 1); + glViewport(0, 0, (GLsizei) canvaspixel_width, (GLsizei) canvaspixel_height); + glClearColor(0, 0, 0, 1); + glClear(GL_COLOR_BUFFER_BIT); + glPushMatrix(); + + GLuint texSize = canvaspixel_base->size; + if(canvaspixel_width > texSize || canvaspixel_height > texSize) { + float scale = ((float) max(canvaspixel_width, canvaspixel_height)) / (float) texSize; + glScalef(scale, scale, 1); + } + + canvaspixel_draw_layer(canvaspixel_base); + // TODO: Overlay is not used yet + //canvaspixel_draw_layer(canvaspixel_overlay); + + glPopMatrix(); + glfwPollEvents(); + glfwSwapBuffers(canvaspixel_win); + + double now = glfwGetTime(); + double dt = now - last_frame; + last_frame = now; + double sleep = 1.0 / 30 - dt; + if (sleep > 0) { + usleep(sleep * 1000000); + } + } + + if(canvaspixel_on_close_cb) + (*canvaspixel_on_close_cb)(); + + glfwTerminate(); + canvaspixel_layer_free(canvaspixel_base); + canvaspixel_layer_free(canvaspixel_overlay); + + return NULL; +} + +// Public functions + + + +void canvaspixel_start(unsigned int texSize, void (*on_close)()) { + + canvaspixel_on_close_cb = on_close; + canvaspixel_tex_size = texSize; + canvaspixel_base = canvaspixel_layer_alloc(canvaspixel_tex_size, 0); + canvaspixel_overlay = canvaspixel_layer_alloc(canvaspixel_tex_size, 1); + + if (pthread_create(&canvaspixel_thread, NULL, canvaspixel_render_loop, NULL)) { + puts("Failed to start render thread"); + exit(1); + } +} + +void canvaspixel_setcb_key(void (*on_key)(int key, int scancode, int mods)) { + canvaspixel_on_key_cb = on_key; +} + +void canvaspixel_setcb_resize(void (*on_resize)()) { + canvaspixel_on_resize_cb = on_resize; +} + +void canvaspixel_close() { + glfwSetWindowShouldClose(canvaspixel_win, 1); +} + +void canvaspixel_fullscreen(int display) { + canvaspixel_display = display; + canvaspixel_do_layout = 1; +} + +int canvaspixel_get_display() { + return canvaspixel_display; +} + +// Return a pointer to the GLubyte for a given pixel, or NULL for out of bound coordinates. +static inline GLubyte* canvaspixel_offset(CanvasLayer * layer, unsigned int x, + unsigned int y) { + if (x < 0 || y < 0 || x >= layer->size || y >= layer->size || layer->data == NULL) + return NULL; + return layer->data + + ((y * layer->size) + x) * (layer->format == GL_RGBA ? 4 : 3); +} + +void canvaspixel_set_px(unsigned int x, unsigned int y, uint32_t rgba) { + CanvasLayer * layer = canvaspixel_base; + GLubyte* ptr = canvaspixel_offset(layer, x, y); + + if (ptr == NULL) { + return; + } + + GLubyte r = (rgba & 0xff000000) >> 24; + GLubyte g = (rgba & 0x00ff0000) >> 16; + GLubyte b = (rgba & 0x0000ff00) >> 8; + GLubyte a = (rgba & 0x000000ff) >> 0; + + if (layer->format == GL_RGBA) { + ptr[0] = r; + ptr[1] = g; + ptr[2] = b; + ptr[3] = a; + return; + } + if (a == 0) { + return; + } + if (a < 0xff) { + GLuint na = 0xff - a; + r = (a * r + na * (ptr[0])) / 0xff; + g = (a * g + na * (ptr[1])) / 0xff; + b = (a * b + na * (ptr[2])) / 0xff; + } + ptr[0] = r; + ptr[1] = g; + ptr[2] = b; +} + +void canvaspixel_fill(uint32_t rgba) { + CanvasLayer * layer = canvaspixel_base; + for(int x=0; xsize; x++) + for(int y=0; ysize; y++) + canvaspixel_set_px(x, y, rgba); +} + + +void canvaspixel_get_px(unsigned int x, unsigned int y, uint32_t *rgba) { + CanvasLayer * layer = canvaspixel_base; + GLubyte* ptr = canvaspixel_offset(layer, x, y); + if (ptr == NULL) { + *rgba = 0x000000; + } else { + *rgba = (ptr[0] << 24) + (ptr[1] << 16) + (ptr[2] << 8) + 0xff; + } +} + +void canvaspixel_get_size(unsigned int *w, unsigned int *h) { + int texSize = canvaspixel_base->size; + if(canvaspixel_width > texSize || canvaspixel_height > texSize) { + float scale = ((float) max(canvaspixel_width, canvaspixel_height)) / texSize; + *w = min(texSize, canvaspixel_width/scale); + *h = min(texSize, canvaspixel_height/scale); + } else { + *w = canvaspixel_width; + *h = canvaspixel_height; + } +} + diff --git a/canvaspixel.h b/canvaspixel.h new file mode 100644 index 0000000..e961bf2 --- /dev/null +++ b/canvaspixel.h @@ -0,0 +1,27 @@ +#ifndef CANVAS_H_ +#define CANVAS_H_ + +#include + +// Open the canvaspixel window and start the gui loop (in a separate thread) +void canvaspixel_start(unsigned int texSize, void (*on_close)()); + +void canvaspixel_setcb_key(void (*on_key)(int key, int scancode, int mods)); +void canvaspixel_setcb_resize(void (*on_resize)()); + +// Close the canvaspixel window and free any resources and contexts +void canvaspixel_close(); + +void canvaspixel_fullscreen(int display); +int canvaspixel_get_display(); + +void canvaspixel_fill(uint32_t rgba); +void canvaspixel_set_px(unsigned int x, unsigned int y, uint32_t rgba); +void canvaspixel_get_px(unsigned int x, unsigned int y, uint32_t *rgba); + +// get the current visible canvaspixel size in pixel. +// The actual window might be bigger if scaling is enabled. +void canvaspixel_get_size(unsigned int *width, unsigned int *height); + + +#endif /* CANVAS_H_ */ diff --git a/canvaspixel.o b/canvaspixel.o new file mode 100644 index 0000000000000000000000000000000000000000..bb0a16e20cb9d3c6ff0a50da44ac5e62bae83b82 GIT binary patch literal 42004 zcmV)cK&ZceMNCEk0RaF2000000000104M+f000000000000017od5s;000Fv00000 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 z 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 wM*;69Xjlo_kq +#include +#include +#include + +#include + +namespace rgb_matrix { +class FrameCanvas; + +// An abstraction of a data stream. +class StreamIO { +public: + virtual ~StreamIO() {} + + // Rewind stream. + virtual void Rewind() = 0; + + // Read bytes into buffer. Similar to Posix behavior that allows short reads. + virtual ssize_t Read(void *buf, size_t count) = 0; + + // Write bytes from buffer. Similar to Posix behavior that allows short + // writes. + virtual ssize_t Append(const void *buf, size_t count) = 0; +}; + +class FileStreamIO : public StreamIO { +public: + explicit FileStreamIO(int fd); + ~FileStreamIO(); + + virtual void Rewind(); + virtual ssize_t Read(void *buf, size_t count); + virtual ssize_t Append(const void *buf, size_t count); + +private: + const int fd_; +}; + +class MemStreamIO : public StreamIO { +public: + virtual void Rewind(); + virtual ssize_t Read(void *buf, size_t count); + virtual ssize_t Append(const void *buf, size_t count); + +private: + std::string buffer_; // super simplistic. + size_t pos_; +}; + +class StreamWriter { +public: + // Does not take ownership of StreamIO + StreamWriter(StreamIO *io); + + // Stream out given canvas at the given time. "hold_time_us" indicates + // for how long this frame is to be shown in microseconds. + bool Stream(const FrameCanvas &frame, uint32_t hold_time_us); + +private: + void WriteFileHeader(const FrameCanvas &frame, size_t len); + + StreamIO *const io_; + bool header_written_; +}; + +class StreamReader { +public: + // Does not take ownership of StreamIO + StreamReader(StreamIO *io); + ~StreamReader(); + + // Go back to the beginning. + void Rewind(); + + // Get next frame and its timestamp. Returns 'false' if there is an error + // or end of stream reached.. + bool GetNext(FrameCanvas *frame, uint32_t* hold_time_us); + +private: + enum State { + STREAM_AT_BEGIN, + STREAM_READING, + STREAM_ERROR, + }; + bool ReadFileHeader(const FrameCanvas &frame); + + StreamIO *io_; + size_t frame_buf_size_; + State state_; + + char *header_frame_buffer_; +}; +} diff --git a/graphics.h b/graphics.h new file mode 100644 index 0000000..2feb633 --- /dev/null +++ b/graphics.h @@ -0,0 +1,144 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Very simple graphics library to do simple things. +// +// Might be useful to consider using Cairo instead and just have an interface +// between that and the Canvas. Well, this is a quick set of things to get +// started (and nicely self-contained). +#ifndef RPI_GRAPHICS_H +#define RPI_GRAPHICS_H + +#include "canvas.h" + +#include +#include + +#include + +namespace rgb_matrix { +struct Color { + Color() : r(0), g(0), b(0) {} + Color(uint8_t rr, uint8_t gg, uint8_t bb) : r(rr), g(gg), b(bb) {} + uint8_t r; + uint8_t g; + uint8_t b; +}; + +// Font loading bdf files. If this ever becomes more types, just make virtual +// base class. +class Font { +public: + // Initialize font, but it is only usable after LoadFont() has been called. + Font(); + ~Font(); + + bool LoadFont(const char *path); + + // Return height of font in pixels. Returns -1 if font has not been loaded. + int height() const { return font_height_; } + + // Return baseline. Pixels from the topline to the baseline. + int baseline() const { return base_line_; } + + // Return width of given character, or -1 if font is not loaded or character + // does not exist. + int CharacterWidth(uint32_t unicode_codepoint) const; + + // Draws the unicode character at position "x","y" + // with "color" on "background_color" (background_color can be NULL for + // transparency. + // The "y" position is the baseline of the font. + // If we don't have it in the font, draws the replacement character "�" if + // available. + // Returns how much we advance on the screen, which is the width of the + // character or 0 if we didn't draw any chracter. + int DrawGlyph(Canvas *c, int x, int y, + const Color &color, const Color *background_color, + uint32_t unicode_codepoint) const; + + // Same without background. Deprecated, use the one above instead. + int DrawGlyph(Canvas *c, int x, int y, const Color &color, + uint32_t unicode_codepoint) const; + + // Create a new font derived from this font, which represents an outline + // of the original font, essentially pixels tracing around the original + // letter. + // This can be used in situations in which it is desirable to frame a letter + // in a different color to increase contrast. + // The ownership of the returned pointer is passed to the caller. + Font *CreateOutlineFont() const; + +private: + Font(const Font& x); // No copy constructor. Use references or pointer instead. + + struct Glyph; + typedef std::map CodepointGlyphMap; + + const Glyph *FindGlyph(uint32_t codepoint) const; + + int font_height_; + int base_line_; + CodepointGlyphMap glyphs_; +}; + +// -- Some utility functions. + +// Utility function: set an image from the given buffer containting pixels. +// +// Draw image of size "image_width" and "image_height" from pixel at +// canvas-offset "canvas_offset_x", "canvas_offset_y". Image will be shown +// cropped on the edges if needed. +// +// The canvas offset can be negative, i.e. the image start can be shifted +// outside the image frame on the left/top edge. +// +// The buffer needs to be organized as rows with columns of three bytes +// organized as rgb or bgr. Thus the size of the buffer needs to be exactly +// (3 * image_width * image_height) bytes. +// +// The "image_buffer" parameters contains the data, "buffer_size_bytes" the +// size in bytes. +// +// If "is_bgr" is true, the buffer is treated as BGR pixel arrangement instead +// of RGB. +// Returns 'true' if image was shown within canvas. +bool SetImage(Canvas *c, int canvas_offset_x, int canvas_offset_y, + const uint8_t *image_buffer, size_t buffer_size_bytes, + int image_width, int image_height, + bool is_bgr); + +// Draw text, a standard NUL terminated C-string encoded in UTF-8, +// with given "font" at "x","y" with "color". +// "color" always needs to be set (hence it is a reference), +// "background_color" is a pointer to optionally be NULL for transparency. +// "kerning_offset" allows for additional spacing between characters (can be +// negative) +// Returns how many pixels we advanced on the screen. +int DrawText(Canvas *c, const Font &font, int x, int y, + const Color &color, const Color *background_color, + const char *utf8_text, int kerning_offset = 0); + +// Same without background. Deprecated, use the one above instead. +int DrawText(Canvas *c, const Font &font, int x, int y, const Color &color, + const char *utf8_text); + +// Draw text, a standard NUL terminated C-string encoded in UTF-8, +// with given "font" at "x","y" with "color". +// Draw text as above, but vertically (top down). +// The text is a standard NUL terminated C-string encoded in UTF-8. +// "font, "x", "y", "color" and "background_color" are same as DrawText(). +// "kerning_offset" allows for additional spacing between characters (can be +// negative). +// Returns font height to advance up on the screen. +int VerticalDrawText(Canvas *c, const Font &font, int x, int y, + const Color &color, const Color *background_color, + const char *utf8_text, int kerning_offset = 0); + +// Draw a circle centered at "x", "y", with a radius of "radius" and with "color" +void DrawCircle(Canvas *c, int x, int y, int radius, const Color &color); + +// Draw a line from "x0", "y0" to "x1", "y1" and with "color" +void DrawLine(Canvas *c, int x0, int y0, int x1, int y1, const Color &color); + +} // namespace rgb_matrix + +#endif // RPI_GRAPHICS_H diff --git a/include/canvas.h b/include/canvas.h new file mode 100644 index 0000000..bbb8922 --- /dev/null +++ b/include/canvas.h @@ -0,0 +1,52 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2014 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#ifndef RPI_CANVAS_H +#define RPI_CANVAS_H +#include + +namespace rgb_matrix { +// An interface for things a Canvas can do. The RGBMatrix implements this +// interface, so you can use it directly wherever a canvas is needed. +// +// This abstraction also allows you to e.g. create delegating +// implementations that do a particular transformation, e.g. re-map +// pixels (as you might lay out the physical RGB matrix in a different way), +// compose images (OR, XOR, transparecy), scale, rotate, anti-alias or +// translate coordinates in a funky way. +// +// It is a good idea to have your applications use the concept of +// a Canvas to write the content to instead of directly using the RGBMatrix. +class Canvas { +public: + virtual ~Canvas() {} + virtual int width() const = 0; // Pixels available in x direction. + virtual int height() const = 0; // Pixels available in y direction. + + // Set pixel at coordinate (x,y) with given color. Pixel (0,0) is the + // top left corner. + // Each color is 8 bit (24bpp), 0 black, 255 brightest. + virtual void SetPixel(int x, int y, + uint8_t red, uint8_t green, uint8_t blue) = 0; + + // Clear screen to be all black. + virtual void Clear() = 0; + + // Fill screen with given 24bpp color. + virtual void Fill(uint8_t red, uint8_t green, uint8_t blue) = 0; +}; + +} // namespace rgb_matrix +#endif // RPI_CANVAS_H diff --git a/include/content-streamer.h b/include/content-streamer.h new file mode 100644 index 0000000..c95c63a --- /dev/null +++ b/include/content-streamer.h @@ -0,0 +1,108 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// +// Abstractions to read and write FrameCanvas objects to streams. This allows +// you to create canned streams of content with minimal overhead at runtime +// to play with extreme pixel-throughput which also minimizes overheads in +// the Pi to avoid stuttering or brightness glitches. +// +// The disadvantage is, that this represents the full expanded internal +// representation of a frame, so is very large memory wise. +// +// These abstractions are used in util/led-image-viewer.cc to read and +// write such animations to disk. It is also used in util/video-viewer.cc +// to write a version to disk that then can be played with the led-image-viewer. + +#include +#include +#include +#include + +#include + +namespace rgb_matrix { +class FrameCanvas; + +// An abstraction of a data stream. +class StreamIO { +public: + virtual ~StreamIO() {} + + // Rewind stream. + virtual void Rewind() = 0; + + // Read bytes into buffer. Similar to Posix behavior that allows short reads. + virtual ssize_t Read(void *buf, size_t count) = 0; + + // Write bytes from buffer. Similar to Posix behavior that allows short + // writes. + virtual ssize_t Append(const void *buf, size_t count) = 0; +}; + +class FileStreamIO : public StreamIO { +public: + explicit FileStreamIO(int fd); + ~FileStreamIO(); + + virtual void Rewind(); + virtual ssize_t Read(void *buf, size_t count); + virtual ssize_t Append(const void *buf, size_t count); + +private: + const int fd_; +}; + +class MemStreamIO : public StreamIO { +public: + virtual void Rewind(); + virtual ssize_t Read(void *buf, size_t count); + virtual ssize_t Append(const void *buf, size_t count); + +private: + std::string buffer_; // super simplistic. + size_t pos_; +}; + +class StreamWriter { +public: + // Does not take ownership of StreamIO + StreamWriter(StreamIO *io); + + // Stream out given canvas at the given time. "hold_time_us" indicates + // for how long this frame is to be shown in microseconds. + bool Stream(const FrameCanvas &frame, uint32_t hold_time_us); + +private: + void WriteFileHeader(const FrameCanvas &frame, size_t len); + + StreamIO *const io_; + bool header_written_; +}; + +class StreamReader { +public: + // Does not take ownership of StreamIO + StreamReader(StreamIO *io); + ~StreamReader(); + + // Go back to the beginning. + void Rewind(); + + // Get next frame and its timestamp. Returns 'false' if there is an error + // or end of stream reached.. + bool GetNext(FrameCanvas *frame, uint32_t* hold_time_us); + +private: + enum State { + STREAM_AT_BEGIN, + STREAM_READING, + STREAM_ERROR, + }; + bool ReadFileHeader(const FrameCanvas &frame); + + StreamIO *io_; + size_t frame_buf_size_; + State state_; + + char *header_frame_buffer_; +}; +} diff --git a/include/graphics.h b/include/graphics.h new file mode 100644 index 0000000..2feb633 --- /dev/null +++ b/include/graphics.h @@ -0,0 +1,144 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Very simple graphics library to do simple things. +// +// Might be useful to consider using Cairo instead and just have an interface +// between that and the Canvas. Well, this is a quick set of things to get +// started (and nicely self-contained). +#ifndef RPI_GRAPHICS_H +#define RPI_GRAPHICS_H + +#include "canvas.h" + +#include +#include + +#include + +namespace rgb_matrix { +struct Color { + Color() : r(0), g(0), b(0) {} + Color(uint8_t rr, uint8_t gg, uint8_t bb) : r(rr), g(gg), b(bb) {} + uint8_t r; + uint8_t g; + uint8_t b; +}; + +// Font loading bdf files. If this ever becomes more types, just make virtual +// base class. +class Font { +public: + // Initialize font, but it is only usable after LoadFont() has been called. + Font(); + ~Font(); + + bool LoadFont(const char *path); + + // Return height of font in pixels. Returns -1 if font has not been loaded. + int height() const { return font_height_; } + + // Return baseline. Pixels from the topline to the baseline. + int baseline() const { return base_line_; } + + // Return width of given character, or -1 if font is not loaded or character + // does not exist. + int CharacterWidth(uint32_t unicode_codepoint) const; + + // Draws the unicode character at position "x","y" + // with "color" on "background_color" (background_color can be NULL for + // transparency. + // The "y" position is the baseline of the font. + // If we don't have it in the font, draws the replacement character "�" if + // available. + // Returns how much we advance on the screen, which is the width of the + // character or 0 if we didn't draw any chracter. + int DrawGlyph(Canvas *c, int x, int y, + const Color &color, const Color *background_color, + uint32_t unicode_codepoint) const; + + // Same without background. Deprecated, use the one above instead. + int DrawGlyph(Canvas *c, int x, int y, const Color &color, + uint32_t unicode_codepoint) const; + + // Create a new font derived from this font, which represents an outline + // of the original font, essentially pixels tracing around the original + // letter. + // This can be used in situations in which it is desirable to frame a letter + // in a different color to increase contrast. + // The ownership of the returned pointer is passed to the caller. + Font *CreateOutlineFont() const; + +private: + Font(const Font& x); // No copy constructor. Use references or pointer instead. + + struct Glyph; + typedef std::map CodepointGlyphMap; + + const Glyph *FindGlyph(uint32_t codepoint) const; + + int font_height_; + int base_line_; + CodepointGlyphMap glyphs_; +}; + +// -- Some utility functions. + +// Utility function: set an image from the given buffer containting pixels. +// +// Draw image of size "image_width" and "image_height" from pixel at +// canvas-offset "canvas_offset_x", "canvas_offset_y". Image will be shown +// cropped on the edges if needed. +// +// The canvas offset can be negative, i.e. the image start can be shifted +// outside the image frame on the left/top edge. +// +// The buffer needs to be organized as rows with columns of three bytes +// organized as rgb or bgr. Thus the size of the buffer needs to be exactly +// (3 * image_width * image_height) bytes. +// +// The "image_buffer" parameters contains the data, "buffer_size_bytes" the +// size in bytes. +// +// If "is_bgr" is true, the buffer is treated as BGR pixel arrangement instead +// of RGB. +// Returns 'true' if image was shown within canvas. +bool SetImage(Canvas *c, int canvas_offset_x, int canvas_offset_y, + const uint8_t *image_buffer, size_t buffer_size_bytes, + int image_width, int image_height, + bool is_bgr); + +// Draw text, a standard NUL terminated C-string encoded in UTF-8, +// with given "font" at "x","y" with "color". +// "color" always needs to be set (hence it is a reference), +// "background_color" is a pointer to optionally be NULL for transparency. +// "kerning_offset" allows for additional spacing between characters (can be +// negative) +// Returns how many pixels we advanced on the screen. +int DrawText(Canvas *c, const Font &font, int x, int y, + const Color &color, const Color *background_color, + const char *utf8_text, int kerning_offset = 0); + +// Same without background. Deprecated, use the one above instead. +int DrawText(Canvas *c, const Font &font, int x, int y, const Color &color, + const char *utf8_text); + +// Draw text, a standard NUL terminated C-string encoded in UTF-8, +// with given "font" at "x","y" with "color". +// Draw text as above, but vertically (top down). +// The text is a standard NUL terminated C-string encoded in UTF-8. +// "font, "x", "y", "color" and "background_color" are same as DrawText(). +// "kerning_offset" allows for additional spacing between characters (can be +// negative). +// Returns font height to advance up on the screen. +int VerticalDrawText(Canvas *c, const Font &font, int x, int y, + const Color &color, const Color *background_color, + const char *utf8_text, int kerning_offset = 0); + +// Draw a circle centered at "x", "y", with a radius of "radius" and with "color" +void DrawCircle(Canvas *c, int x, int y, int radius, const Color &color); + +// Draw a line from "x0", "y0" to "x1", "y1" and with "color" +void DrawLine(Canvas *c, int x0, int y0, int x1, int y1, const Color &color); + +} // namespace rgb_matrix + +#endif // RPI_GRAPHICS_H diff --git a/include/led-matrix-c.h b/include/led-matrix-c.h new file mode 100644 index 0000000..d5989bb --- /dev/null +++ b/include/led-matrix-c.h @@ -0,0 +1,394 @@ +/* -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*- + * Copyright (C) 2013 Henner Zeller + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + * + * Controlling 16x32 or 32x32 RGB matrixes via GPIO. It allows daisy chaining + * of a string of these, and also connecting a parallel string on newer + * Raspberry Pis with more GPIO pins available. + * + * This is a C-binding (for the C++ library) to allow easy binding and + * integration with other languages. The symbols are exported in librgbmatrix.a + * and librgbmatrix.so. You still need to call the final link with + * + * See examples-api-use/c-example.c for a usage example. + * + */ +#ifndef RPI_RGBMATRIX_C_H +#define RPI_RGBMATRIX_C_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct RGBLedMatrix; +struct LedCanvas; +struct LedFont; + +/** + * Parameters to create a new matrix. + * + * To get the defaults, non-set values have to be initialized to zero, so you + * should zero out this struct before setting anything. + */ +struct RGBLedMatrixOptions { + /* + * Name of the hardware mapping used. If passed NULL here, the default + * is used. + */ + const char *hardware_mapping; + + /* The "rows" are the number of rows supported by the display, so 32 or 16. + * Default: 32. + * Corresponding flag: --led-rows + */ + int rows; + + /* The "cols" are the number of columns per panel. Typically something + * like 32, but also 64 is possible. Sometimes even 40. + * cols * chain_length is the total length of the display, so you can + * represent a 64 wide display as cols=32, chain=2 or cols=64, chain=1; + * same thing. + * Flag: --led-cols + */ + int cols; + + /* The chain_length is the number of displays daisy-chained together + * (output of one connected to input of next). Default: 1 + * Corresponding flag: --led-chain + */ + int chain_length; + + /* The number of parallel chains connected to the Pi; in old Pis with 26 + * GPIO pins, that is 1, in newer Pis with 40 interfaces pins, that can + * also be 2 or 3. The effective number of pixels in vertical direction is + * then thus rows * parallel. Default: 1 + * Corresponding flag: --led-parallel + */ + int parallel; + + /* Set PWM bits used for output. Default is 11, but if you only deal with + * limited comic-colors, 1 might be sufficient. Lower require less CPU and + * increases refresh-rate. + * Corresponding flag: --led-pwm-bits + */ + int pwm_bits; + + /* Change the base time-unit for the on-time in the lowest + * significant bit in nanoseconds. + * Higher numbers provide better quality (more accurate color, less + * ghosting), but have a negative impact on the frame rate. + * Corresponding flag: --led-pwm-lsb-nanoseconds + */ + int pwm_lsb_nanoseconds; + + /* The lower bits can be time-dithered for higher refresh rate. + * Corresponding flag: --led-pwm-dither-bits + */ + int pwm_dither_bits; + + /* The initial brightness of the panel in percent. Valid range is 1..100 + * Corresponding flag: --led-brightness + */ + int brightness; + + /* Scan mode: 0=progressive, 1=interlaced + * Corresponding flag: --led-scan-mode + */ + int scan_mode; + + /* Default row address type is 0, corresponding to direct setting of the + * row, while row address type 1 is used for panels that only have A/B, + * typically some 64x64 panels + */ + int row_address_type; /* Corresponding flag: --led-row-addr-type */ + + /* Type of multiplexing. 0 = direct, 1 = stripe, 2 = checker (typical 1:8) + */ + int multiplexing; + + /* In case the internal sequence of mapping is not "RGB", this contains the + * real mapping. Some panels mix up these colors. + */ + const char *led_rgb_sequence; /* Corresponding flag: --led-rgb-sequence */ + + /* A string describing a sequence of pixel mappers that should be applied + * to this matrix. A semicolon-separated list of pixel-mappers with optional + * parameter. + */ + const char *pixel_mapper_config; /* Corresponding flag: --led-pixel-mapper */ + + /* + * Panel type. Typically just NULL, but certain panels (FM6126) require + * an initialization sequence + */ + const char *panel_type; /* Corresponding flag: --led-panel-type */ + + /** The following are boolean flags, all off by default **/ + + /* Allow to use the hardware subsystem to create pulses. This won't do + * anything if output enable is not connected to GPIO 18. + * Corresponding flag: --led-hardware-pulse + */ + char disable_hardware_pulsing; + char show_refresh_rate; /* Corresponding flag: --led-show-refresh */ + char inverse_colors; /* Corresponding flag: --led-inverse */ + + /* Limit refresh rate of LED panel. This will help on a loaded system + * to keep a constant refresh rate. <= 0 for no limit. + */ + int limit_refresh_rate_hz; /* Corresponding flag: --led-limit-refresh */ +}; + +/** + * Runtime options to simplify doing common things for many programs such as + * dropping privileges and becoming a daemon. + */ +struct RGBLedRuntimeOptions { + int gpio_slowdown; // 0 = no slowdown. Flag: --led-slowdown-gpio + + // ---------- + // If the following options are set to disabled with -1, they are not + // even offered via the command line flags. + // ---------- + + // Thre are three possible values here + // -1 : don't leave choise of becoming daemon to the command line parsing. + // If set to -1, the --led-daemon option is not offered. + // 0 : do not becoma a daemon, run in forgreound (default value) + // 1 : become a daemon, run in background. + // + // If daemon is disabled (= -1), the user has to call + // RGBMatrix::StartRefresh() manually once the matrix is created, to leave + // the decision to become a daemon + // after the call (which requires that no threads have been started yet). + // In the other cases (off or on), the choice is already made, so the thread + // is conveniently already started for you. + int daemon; // -1 disabled. 0=off, 1=on. Flag: --led-daemon + + // Drop privileges from 'root' to 'daemon' once the hardware is initialized. + // This is usually a good idea unless you need to stay on elevated privs. + int drop_privileges; // -1 disabled. 0=off, 1=on. flag: --led-drop-privs + + // By default, the gpio is initialized for you, but if you run on a platform + // not the Raspberry Pi, this will fail. If you don't need to access GPIO + // e.g. you want to just create a stream output (see content-streamer.h), + // set this to false. + bool do_gpio_init; +}; + +/** + * Universal way to create and initialize a matrix. + * The "options" struct (if not NULL) contains all default configuration values + * chosen by the programmer to create the matrix. + * + * If "argc" and "argv" are provided, this function also reads command line + * flags provided, that then can override any of the defaults given. + * The arguments that have been used from the command line are removed from + * the argv list (and argc is adjusted) - that way these don't mess with your + * own command line handling. + * + * The actual options used are filled back into the "options" struct if not + * NULL. + * + * Usage: + * ---------------- + * int main(int argc, char **argv) { + * struct RGBLedMatrixOptions options; + * memset(&options, 0, sizeof(options)); + * options.rows = 32; // You can set defaults if you want. + * options.chain_length = 1; + * struct RGBLedMatrix *matrix = led_matrix_create_from_options(&options, + * &argc, &argv); + * if (matrix == NULL) { + * led_matrix_print_flags(stderr); + * return 1; + * } + * // do additional commandline handling; then use matrix... + * } + * ---------------- + */ +struct RGBLedMatrix *led_matrix_create_from_options( + struct RGBLedMatrixOptions *options, int *argc, char ***argv); + +/* Same, but does not modify the argv array. */ +struct RGBLedMatrix *led_matrix_create_from_options_const_argv( + struct RGBLedMatrixOptions *options, int argc, char **argv); + +/** + * The way to completely initialize your matrix without using command line + * flags to initialize some things. + * + * The actual options used are filled back into the "options" and "rt_options" + * struct if not NULL. If they are null, the default value is used. + * + * Usage: + * ---------------- + * int main(int argc, char **argv) { + * struct RGBLedMatrixOptions options; + * struct RGBLedRuntimeOptions rt_options; + * memset(&options, 0, sizeof(options)); + * memset(&rt_options, 0, sizeof(rt_options)); + * options.rows = 32; // You can set defaults if you want. + * options.chain_length = 1; + * rt_options.gpio_slowdown = 4; + * struct RGBLedMatrix *matrix = led_matrix_create_from_options_and_rt_options(&options, &rt_options); + * if (matrix == NULL) { + * return 1; + * } + * // do additional commandline handling; then use matrix... + * } + * ---------------- + */ +struct RGBLedMatrix *led_matrix_create_from_options_and_rt_options( + struct RGBLedMatrixOptions *opts, struct RGBLedRuntimeOptions * rt_opts); + +/** + * Print available LED matrix options. + */ +void led_matrix_print_flags(FILE *out); + +/** + * Simple form of led_matrix_create_from_options() with just the few + * main options. Returns NULL if that was not possible. + * The "rows" are the number of rows supported by the display, so 32, 16 or 8. + * + * Number of "chained_display"s tells many of these are daisy-chained together + * (output of one connected to input of next). + * + * The "parallel_display" number determines if there is one or two displays + * connected in parallel to the GPIO port - this only works with newer + * Raspberry Pi that have 40 interface pins. + * + * This creates a realtime thread and requires root access to access the GPIO + * pins. + * So if you run this in a daemon, this should be called after becoming a + * daemon (as fork/exec stops threads) and before dropping privileges. + */ +struct RGBLedMatrix *led_matrix_create(int rows, int chained, int parallel); + + +/** + * Stop matrix and free memory. + * Always call before the end of the program to properly reset the hardware + */ +void led_matrix_delete(struct RGBLedMatrix *matrix); + + +/** + * Get active canvas from LED matrix for you to draw on. + * Ownership of returned pointer stays with the matrix, don't free(). + */ +struct LedCanvas *led_matrix_get_canvas(struct RGBLedMatrix *matrix); + +/** Return size of canvas. */ +void led_canvas_get_size(const struct LedCanvas *canvas, + int *width, int *height); + +/** Set pixel at (x, y) with color (r,g,b). */ +void led_canvas_set_pixel(struct LedCanvas *canvas, int x, int y, + uint8_t r, uint8_t g, uint8_t b); + +/** Clear screen (black). */ +void led_canvas_clear(struct LedCanvas *canvas); + +/** Fill matrix with given color. */ +void led_canvas_fill(struct LedCanvas *canvas, uint8_t r, uint8_t g, uint8_t b); + +/*** API to provide double-buffering. ***/ + +/** + * Create a new canvas to be used with led_matrix_swap_on_vsync() + * Ownership of returned pointer stays with the matrix, don't free(). + */ +struct LedCanvas *led_matrix_create_offscreen_canvas(struct RGBLedMatrix *matrix); + +/** + * Swap the given canvas (created with create_offscreen_canvas) with the + * currently active canvas on vsync (blocks until vsync is reached). + * Returns the previously active canvas. So with that, you can create double + * buffering: + * + * struct LedCanvas *offscreen = led_matrix_create_offscreen_canvas(...); + * led_canvas_set_pixel(offscreen, ...); // not shown until swap-on-vsync + * offscreen = led_matrix_swap_on_vsync(matrix, offscreen); + * // The returned buffer, assigned to offscreen, is now the inactive buffer + * // fill, then swap again. + */ +struct LedCanvas *led_matrix_swap_on_vsync(struct RGBLedMatrix *matrix, + struct LedCanvas *canvas); + +uint8_t led_matrix_get_brightness(struct RGBLedMatrix *matrix); +void led_matrix_set_brightness(struct RGBLedMatrix *matrix, uint8_t brightness); + +// Utility function: set an image from the given buffer containting pixels. +// +// Draw image of size "image_width" and "image_height" from pixel at +// canvas-offset "canvas_offset_x", "canvas_offset_y". Image will be shown +// cropped on the edges if needed. +// +// The canvas offset can be negative, i.e. the image start can be shifted +// outside the image frame on the left/top edge. +// +// The buffer needs to be organized as rows with columns of three bytes +// organized as rgb or bgr. Thus the size of the buffer needs to be exactly +// (3 * image_width * image_height) bytes. +// +// The "image_buffer" parameters contains the data, "buffer_size_bytes" the +// size in bytes. +// +// If "is_bgr" is 1, the buffer is treated as BGR pixel arrangement instead +// of RGB with is_bgr = 0. +void set_image(struct LedCanvas *c, int canvas_offset_x, int canvas_offset_y, + const uint8_t *image_buffer, size_t buffer_size_bytes, + int image_width, int image_height, + char is_bgr); + +// Load a font given a path to a font file containing a bdf font. +struct LedFont *load_font(const char *bdf_font_file); + +// Read the baseline of a font +int baseline_font(struct LedFont *font); + +// Read the height of a font +int height_font(struct LedFont *font); + +// Creates an outline font based on an existing font instance +struct LedFont *create_outline_font(struct LedFont *font); + +// Delete a font originally created from load_font. +void delete_font(struct LedFont *font); + +int draw_text(struct LedCanvas *c, struct LedFont *font, int x, int y, + uint8_t r, uint8_t g, uint8_t b, + const char *utf8_text, int kerning_offset); + +int vertical_draw_text(struct LedCanvas *c, struct LedFont *font, int x, int y, + uint8_t r, uint8_t g, uint8_t b, + const char *utf8_text, int kerning_offset); + +void draw_circle(struct LedCanvas *c, int x, int y, int radius, + uint8_t r, uint8_t g, uint8_t b); + +void draw_line(struct LedCanvas *c, int x0, int y0, int x1, int y1, + uint8_t r, uint8_t g, uint8_t b); + +#ifdef __cplusplus +} // extern C +#endif + +#endif diff --git a/include/pixel-mapper.h b/include/pixel-mapper.h new file mode 100644 index 0000000..6963d00 --- /dev/null +++ b/include/pixel-mapper.h @@ -0,0 +1,110 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2018 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see +#ifndef RGBMATRIX_PIXEL_MAPPER +#define RGBMATRIX_PIXEL_MAPPER + +#include +#include + +namespace rgb_matrix { + +// A pixel mapper is a way for you to map pixels of LED matrixes to a different +// layout. If you have an implementation of a PixelMapper, you can give it +// to the RGBMatrix::ApplyPixelMapper(), which then presents you a canvas +// that has the new "visible_width", "visible_height". +class PixelMapper { +public: + virtual ~PixelMapper() {} + + // Get the name of this PixelMapper. Each PixelMapper needs to have a name + // so that it can be referred to with command line flags. + virtual const char *GetName() const = 0; + + // Pixel mappers receive the chain and parallel information and + // might receive optional user-parameters, e.g. from command line flags. + // + // This is a single string containing the parameters. + // You can be used from simple scalar parameters, such as the angle for + // the rotate transformer, or more complex parameters that describe a mapping + // of panels for instance. + // Keep it concise (as people will give parameters on the command line) and + // don't use semicolons in your string (as they are + // used to separate pixel mappers on the command line). + // + // For instance, the rotate transformer is invoked like this + // --led-pixel-mapper=rotate:90 + // And the parameter that is passed to SetParameter() is "90". + // + // Returns 'true' if parameter was parsed successfully. + virtual bool SetParameters(int chain, int parallel, + const char *parameter_string) { + return true; + } + + // Given a underlying matrix (width, height), returns the + // visible (width, height) after the mapping. + // E.g. a 90 degree rotation might map matrix=(64, 32) -> visible=(32, 64) + // Some multiplexing matrices will double the height and half the width. + // + // While not technically necessary, one would expect that the number of + // pixels stay the same, so + // matrix_width * matrix_height == (*visible_width) * (*visible_height); + // + // Returns boolean "true" if the mapping can be successfully done with this + // mapper. + virtual bool GetSizeMapping(int matrix_width, int matrix_height, + int *visible_width, int *visible_height) + const = 0; + + // Map where a visible pixel (x,y) is mapped to the underlying matrix (x,y). + // + // To be convienently stateless, the first parameters are the full + // matrix width and height. + // + // So for many multiplexing methods this means to map a panel to a double + // length and half height panel (32x16 -> 64x8). + // The logic_x, logic_y are output parameters and guaranteed not to be + // nullptr. + virtual void MapVisibleToMatrix(int matrix_width, int matrix_height, + int visible_x, int visible_y, + int *matrix_x, int *matrix_y) const = 0; +}; + +// This is a place to register PixelMappers globally. If you register your +// PixelMapper before calling RGBMatrix::CreateFromFlags(), the named +// PixelMapper is available in the --led-pixel-mapper options. +// +// Note, you don't _have_ to register your mapper, you can always call +// RGBMatrix::ApplyPixelMapper() directly. Registering is for convenience and +// commandline-flag support. +// +// There are a few standard mappers registered by default. +void RegisterPixelMapper(PixelMapper *mapper); + +// Get a list of the names of available pixel mappers. +std::vector GetAvailablePixelMappers(); + +// Given a name (e.g. "rotate") and a parameter (e.g. "90"), return the +// parametrized PixelMapper with that name. Returns NULL if mapper +// can not be found or parameter is invalid. +// Ownership of the returned object is _NOT_ transferred to the caller. +// Current available mappers are "U-mapper" and "Rotate". The "Rotate" +// gets a parameter denoting the angle. +const PixelMapper *FindPixelMapper(const char *name, + int chain, int parallel, + const char *parameter = NULL); +} // namespace rgb_matrix + +#endif // RGBMATRIX_PIXEL_MAPPER diff --git a/include/thread.h b/include/thread.h new file mode 100644 index 0000000..1f16795 --- /dev/null +++ b/include/thread.h @@ -0,0 +1,86 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#ifndef RPI_THREAD_H +#define RPI_THREAD_H + +#include +#include + +namespace rgb_matrix { +// Simple thread abstraction. +class Thread { +public: + Thread(); + + // The destructor waits for Run() to return so make sure it does. + virtual ~Thread(); + + // Wait for the Run() method to return. + void WaitStopped(); + + // Start thread. If realtime_priority is > 0, then this will be a + // thread with SCHED_FIFO and the given priority. + // If cpu_affinity is set !=, chooses the given bitmask of CPUs + // this thread should have an affinity to. + // On a Raspberry Pi 1, this doesn't matter, as there is only one core, + // Raspberry Pi 2 can has 4 cores, so any combination of (1<<0) .. (1<<3) is + // valid. + virtual void Start(int realtime_priority = 0, uint32_t cpu_affinity_mask = 0); + + // Override this to do the work. + // + // This will be called in a thread once Start() has been called. You typically + // will have an endless loop doing stuff. + // + // It is a good idea to provide a way to communicate to the thread that + // it should stop (see ThreadedCanvasManipulator for an example) + virtual void Run() = 0; + +private: + static void *PthreadCallRun(void *tobject); + bool started_; + pthread_t thread_; +}; + +// Non-recursive Mutex. +class Mutex { +public: + Mutex() { pthread_mutex_init(&mutex_, NULL); } + ~Mutex() { pthread_mutex_destroy(&mutex_); } + void Lock() { pthread_mutex_lock(&mutex_); } + void Unlock() { pthread_mutex_unlock(&mutex_); } + + // Wait on condition. If "timeout_ms" is < 0, it waits forever, otherwise + // until timeout is reached. + // Returns 'true' if condition is met, 'false', if wait timed out. + bool WaitOn(pthread_cond_t *cond, long timeout_ms = -1); + +private: + pthread_mutex_t mutex_; +}; + +// Useful RAII wrapper around mutex. +class MutexLock { +public: + MutexLock(Mutex *m) : mutex_(m) { mutex_->Lock(); } + ~MutexLock() { mutex_->Unlock(); } +private: + Mutex *const mutex_; +}; + +} // end namespace rgb_matrix + +#endif // RPI_THREAD_H diff --git a/include/threaded-canvas-manipulator.h b/include/threaded-canvas-manipulator.h new file mode 100644 index 0000000..a7ca678 --- /dev/null +++ b/include/threaded-canvas-manipulator.h @@ -0,0 +1,103 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2014 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +// Utility base class for continuously updating the canvas. + +// Note: considering removing this, as real applications likely have something +// similar, but this might not be quite usable. +// Since it is just a few lines of code, it is probably better +// implemented in the application for readability. +// +// So for simplicity of the API, consider ThreadedCanvasManipulator deprecated. + +#ifndef RPI_THREADED_CANVAS_MANIPULATOR_H +#define RPI_THREADED_CANVAS_MANIPULATOR_H + +#include "thread.h" +#include "canvas.h" + +namespace rgb_matrix { +// +// Typically, your programs will crate a canvas and then updating the image +// in a loop. If you want to do stuff in parallel, then this utility class +// helps you doing that. Also a demo for how to use the Thread class. +// +// Extend it, then just implement Run(). Example: +/* + class MyCrazyDemo : public ThreadedCanvasManipulator { + public: + MyCrazyDemo(Canvas *canvas) : ThreadedCanvasManipulator(canvas) {} + virtual void Run() { + unsigned char c; + while (running()) { + // Calculate the next frame. + c++; + for (int x = 0; x < canvas()->width(); ++x) { + for (int y = 0; y < canvas()->height(); ++y) { + canvas()->SetPixel(x, y, c, c, c); + } + } + usleep(15 * 1000); + } + } + }; + + // Later, in your main method. + RGBMatrix *matrix = RGBMatrix::CreateFromOptions(...); + MyCrazyDemo *demo = new MyCrazyDemo(matrix); + demo->Start(); // Start doing things. + // This now runs in the background, you can do other things here, + // e.g. aquiring new data or simply wait. But for waiting, you wouldn't + // need a thread in the first place. + demo->Stop(); + delete demo; +*/ +class ThreadedCanvasManipulator : public Thread { +public: + ThreadedCanvasManipulator(Canvas *m) : running_(false), canvas_(m) {} + virtual ~ThreadedCanvasManipulator() { Stop(); } + + virtual void Start(int realtime_priority=0, uint32_t affinity_mask=0) { + { + MutexLock l(&mutex_); + running_ = true; + } + Thread::Start(realtime_priority, affinity_mask); + } + + // Stop the thread at the next possible time Run() checks the running_ flag. + void Stop() { + MutexLock l(&mutex_); + running_ = false; + } + + // Implement this and run while running() returns true. + virtual void Run() = 0; + +protected: + inline Canvas *canvas() { return canvas_; } + inline bool running() { + MutexLock l(&mutex_); + return running_; + } + +private: + Mutex mutex_; + bool running_; + Canvas *const canvas_; +}; +} // namespace rgb_matrix + +#endif // RPI_THREADED_CANVAS_MANIPULATOR_H diff --git a/led-matrix-c.h b/led-matrix-c.h new file mode 100644 index 0000000..d5989bb --- /dev/null +++ b/led-matrix-c.h @@ -0,0 +1,394 @@ +/* -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*- + * Copyright (C) 2013 Henner Zeller + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + * + * Controlling 16x32 or 32x32 RGB matrixes via GPIO. It allows daisy chaining + * of a string of these, and also connecting a parallel string on newer + * Raspberry Pis with more GPIO pins available. + * + * This is a C-binding (for the C++ library) to allow easy binding and + * integration with other languages. The symbols are exported in librgbmatrix.a + * and librgbmatrix.so. You still need to call the final link with + * + * See examples-api-use/c-example.c for a usage example. + * + */ +#ifndef RPI_RGBMATRIX_C_H +#define RPI_RGBMATRIX_C_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct RGBLedMatrix; +struct LedCanvas; +struct LedFont; + +/** + * Parameters to create a new matrix. + * + * To get the defaults, non-set values have to be initialized to zero, so you + * should zero out this struct before setting anything. + */ +struct RGBLedMatrixOptions { + /* + * Name of the hardware mapping used. If passed NULL here, the default + * is used. + */ + const char *hardware_mapping; + + /* The "rows" are the number of rows supported by the display, so 32 or 16. + * Default: 32. + * Corresponding flag: --led-rows + */ + int rows; + + /* The "cols" are the number of columns per panel. Typically something + * like 32, but also 64 is possible. Sometimes even 40. + * cols * chain_length is the total length of the display, so you can + * represent a 64 wide display as cols=32, chain=2 or cols=64, chain=1; + * same thing. + * Flag: --led-cols + */ + int cols; + + /* The chain_length is the number of displays daisy-chained together + * (output of one connected to input of next). Default: 1 + * Corresponding flag: --led-chain + */ + int chain_length; + + /* The number of parallel chains connected to the Pi; in old Pis with 26 + * GPIO pins, that is 1, in newer Pis with 40 interfaces pins, that can + * also be 2 or 3. The effective number of pixels in vertical direction is + * then thus rows * parallel. Default: 1 + * Corresponding flag: --led-parallel + */ + int parallel; + + /* Set PWM bits used for output. Default is 11, but if you only deal with + * limited comic-colors, 1 might be sufficient. Lower require less CPU and + * increases refresh-rate. + * Corresponding flag: --led-pwm-bits + */ + int pwm_bits; + + /* Change the base time-unit for the on-time in the lowest + * significant bit in nanoseconds. + * Higher numbers provide better quality (more accurate color, less + * ghosting), but have a negative impact on the frame rate. + * Corresponding flag: --led-pwm-lsb-nanoseconds + */ + int pwm_lsb_nanoseconds; + + /* The lower bits can be time-dithered for higher refresh rate. + * Corresponding flag: --led-pwm-dither-bits + */ + int pwm_dither_bits; + + /* The initial brightness of the panel in percent. Valid range is 1..100 + * Corresponding flag: --led-brightness + */ + int brightness; + + /* Scan mode: 0=progressive, 1=interlaced + * Corresponding flag: --led-scan-mode + */ + int scan_mode; + + /* Default row address type is 0, corresponding to direct setting of the + * row, while row address type 1 is used for panels that only have A/B, + * typically some 64x64 panels + */ + int row_address_type; /* Corresponding flag: --led-row-addr-type */ + + /* Type of multiplexing. 0 = direct, 1 = stripe, 2 = checker (typical 1:8) + */ + int multiplexing; + + /* In case the internal sequence of mapping is not "RGB", this contains the + * real mapping. Some panels mix up these colors. + */ + const char *led_rgb_sequence; /* Corresponding flag: --led-rgb-sequence */ + + /* A string describing a sequence of pixel mappers that should be applied + * to this matrix. A semicolon-separated list of pixel-mappers with optional + * parameter. + */ + const char *pixel_mapper_config; /* Corresponding flag: --led-pixel-mapper */ + + /* + * Panel type. Typically just NULL, but certain panels (FM6126) require + * an initialization sequence + */ + const char *panel_type; /* Corresponding flag: --led-panel-type */ + + /** The following are boolean flags, all off by default **/ + + /* Allow to use the hardware subsystem to create pulses. This won't do + * anything if output enable is not connected to GPIO 18. + * Corresponding flag: --led-hardware-pulse + */ + char disable_hardware_pulsing; + char show_refresh_rate; /* Corresponding flag: --led-show-refresh */ + char inverse_colors; /* Corresponding flag: --led-inverse */ + + /* Limit refresh rate of LED panel. This will help on a loaded system + * to keep a constant refresh rate. <= 0 for no limit. + */ + int limit_refresh_rate_hz; /* Corresponding flag: --led-limit-refresh */ +}; + +/** + * Runtime options to simplify doing common things for many programs such as + * dropping privileges and becoming a daemon. + */ +struct RGBLedRuntimeOptions { + int gpio_slowdown; // 0 = no slowdown. Flag: --led-slowdown-gpio + + // ---------- + // If the following options are set to disabled with -1, they are not + // even offered via the command line flags. + // ---------- + + // Thre are three possible values here + // -1 : don't leave choise of becoming daemon to the command line parsing. + // If set to -1, the --led-daemon option is not offered. + // 0 : do not becoma a daemon, run in forgreound (default value) + // 1 : become a daemon, run in background. + // + // If daemon is disabled (= -1), the user has to call + // RGBMatrix::StartRefresh() manually once the matrix is created, to leave + // the decision to become a daemon + // after the call (which requires that no threads have been started yet). + // In the other cases (off or on), the choice is already made, so the thread + // is conveniently already started for you. + int daemon; // -1 disabled. 0=off, 1=on. Flag: --led-daemon + + // Drop privileges from 'root' to 'daemon' once the hardware is initialized. + // This is usually a good idea unless you need to stay on elevated privs. + int drop_privileges; // -1 disabled. 0=off, 1=on. flag: --led-drop-privs + + // By default, the gpio is initialized for you, but if you run on a platform + // not the Raspberry Pi, this will fail. If you don't need to access GPIO + // e.g. you want to just create a stream output (see content-streamer.h), + // set this to false. + bool do_gpio_init; +}; + +/** + * Universal way to create and initialize a matrix. + * The "options" struct (if not NULL) contains all default configuration values + * chosen by the programmer to create the matrix. + * + * If "argc" and "argv" are provided, this function also reads command line + * flags provided, that then can override any of the defaults given. + * The arguments that have been used from the command line are removed from + * the argv list (and argc is adjusted) - that way these don't mess with your + * own command line handling. + * + * The actual options used are filled back into the "options" struct if not + * NULL. + * + * Usage: + * ---------------- + * int main(int argc, char **argv) { + * struct RGBLedMatrixOptions options; + * memset(&options, 0, sizeof(options)); + * options.rows = 32; // You can set defaults if you want. + * options.chain_length = 1; + * struct RGBLedMatrix *matrix = led_matrix_create_from_options(&options, + * &argc, &argv); + * if (matrix == NULL) { + * led_matrix_print_flags(stderr); + * return 1; + * } + * // do additional commandline handling; then use matrix... + * } + * ---------------- + */ +struct RGBLedMatrix *led_matrix_create_from_options( + struct RGBLedMatrixOptions *options, int *argc, char ***argv); + +/* Same, but does not modify the argv array. */ +struct RGBLedMatrix *led_matrix_create_from_options_const_argv( + struct RGBLedMatrixOptions *options, int argc, char **argv); + +/** + * The way to completely initialize your matrix without using command line + * flags to initialize some things. + * + * The actual options used are filled back into the "options" and "rt_options" + * struct if not NULL. If they are null, the default value is used. + * + * Usage: + * ---------------- + * int main(int argc, char **argv) { + * struct RGBLedMatrixOptions options; + * struct RGBLedRuntimeOptions rt_options; + * memset(&options, 0, sizeof(options)); + * memset(&rt_options, 0, sizeof(rt_options)); + * options.rows = 32; // You can set defaults if you want. + * options.chain_length = 1; + * rt_options.gpio_slowdown = 4; + * struct RGBLedMatrix *matrix = led_matrix_create_from_options_and_rt_options(&options, &rt_options); + * if (matrix == NULL) { + * return 1; + * } + * // do additional commandline handling; then use matrix... + * } + * ---------------- + */ +struct RGBLedMatrix *led_matrix_create_from_options_and_rt_options( + struct RGBLedMatrixOptions *opts, struct RGBLedRuntimeOptions * rt_opts); + +/** + * Print available LED matrix options. + */ +void led_matrix_print_flags(FILE *out); + +/** + * Simple form of led_matrix_create_from_options() with just the few + * main options. Returns NULL if that was not possible. + * The "rows" are the number of rows supported by the display, so 32, 16 or 8. + * + * Number of "chained_display"s tells many of these are daisy-chained together + * (output of one connected to input of next). + * + * The "parallel_display" number determines if there is one or two displays + * connected in parallel to the GPIO port - this only works with newer + * Raspberry Pi that have 40 interface pins. + * + * This creates a realtime thread and requires root access to access the GPIO + * pins. + * So if you run this in a daemon, this should be called after becoming a + * daemon (as fork/exec stops threads) and before dropping privileges. + */ +struct RGBLedMatrix *led_matrix_create(int rows, int chained, int parallel); + + +/** + * Stop matrix and free memory. + * Always call before the end of the program to properly reset the hardware + */ +void led_matrix_delete(struct RGBLedMatrix *matrix); + + +/** + * Get active canvas from LED matrix for you to draw on. + * Ownership of returned pointer stays with the matrix, don't free(). + */ +struct LedCanvas *led_matrix_get_canvas(struct RGBLedMatrix *matrix); + +/** Return size of canvas. */ +void led_canvas_get_size(const struct LedCanvas *canvas, + int *width, int *height); + +/** Set pixel at (x, y) with color (r,g,b). */ +void led_canvas_set_pixel(struct LedCanvas *canvas, int x, int y, + uint8_t r, uint8_t g, uint8_t b); + +/** Clear screen (black). */ +void led_canvas_clear(struct LedCanvas *canvas); + +/** Fill matrix with given color. */ +void led_canvas_fill(struct LedCanvas *canvas, uint8_t r, uint8_t g, uint8_t b); + +/*** API to provide double-buffering. ***/ + +/** + * Create a new canvas to be used with led_matrix_swap_on_vsync() + * Ownership of returned pointer stays with the matrix, don't free(). + */ +struct LedCanvas *led_matrix_create_offscreen_canvas(struct RGBLedMatrix *matrix); + +/** + * Swap the given canvas (created with create_offscreen_canvas) with the + * currently active canvas on vsync (blocks until vsync is reached). + * Returns the previously active canvas. So with that, you can create double + * buffering: + * + * struct LedCanvas *offscreen = led_matrix_create_offscreen_canvas(...); + * led_canvas_set_pixel(offscreen, ...); // not shown until swap-on-vsync + * offscreen = led_matrix_swap_on_vsync(matrix, offscreen); + * // The returned buffer, assigned to offscreen, is now the inactive buffer + * // fill, then swap again. + */ +struct LedCanvas *led_matrix_swap_on_vsync(struct RGBLedMatrix *matrix, + struct LedCanvas *canvas); + +uint8_t led_matrix_get_brightness(struct RGBLedMatrix *matrix); +void led_matrix_set_brightness(struct RGBLedMatrix *matrix, uint8_t brightness); + +// Utility function: set an image from the given buffer containting pixels. +// +// Draw image of size "image_width" and "image_height" from pixel at +// canvas-offset "canvas_offset_x", "canvas_offset_y". Image will be shown +// cropped on the edges if needed. +// +// The canvas offset can be negative, i.e. the image start can be shifted +// outside the image frame on the left/top edge. +// +// The buffer needs to be organized as rows with columns of three bytes +// organized as rgb or bgr. Thus the size of the buffer needs to be exactly +// (3 * image_width * image_height) bytes. +// +// The "image_buffer" parameters contains the data, "buffer_size_bytes" the +// size in bytes. +// +// If "is_bgr" is 1, the buffer is treated as BGR pixel arrangement instead +// of RGB with is_bgr = 0. +void set_image(struct LedCanvas *c, int canvas_offset_x, int canvas_offset_y, + const uint8_t *image_buffer, size_t buffer_size_bytes, + int image_width, int image_height, + char is_bgr); + +// Load a font given a path to a font file containing a bdf font. +struct LedFont *load_font(const char *bdf_font_file); + +// Read the baseline of a font +int baseline_font(struct LedFont *font); + +// Read the height of a font +int height_font(struct LedFont *font); + +// Creates an outline font based on an existing font instance +struct LedFont *create_outline_font(struct LedFont *font); + +// Delete a font originally created from load_font. +void delete_font(struct LedFont *font); + +int draw_text(struct LedCanvas *c, struct LedFont *font, int x, int y, + uint8_t r, uint8_t g, uint8_t b, + const char *utf8_text, int kerning_offset); + +int vertical_draw_text(struct LedCanvas *c, struct LedFont *font, int x, int y, + uint8_t r, uint8_t g, uint8_t b, + const char *utf8_text, int kerning_offset); + +void draw_circle(struct LedCanvas *c, int x, int y, int radius, + uint8_t r, uint8_t g, uint8_t b); + +void draw_line(struct LedCanvas *c, int x0, int y0, int x1, int y1, + uint8_t r, uint8_t g, uint8_t b); + +#ifdef __cplusplus +} // extern C +#endif + +#endif diff --git a/led-matrix.h b/led-matrix.h new file mode 100644 index 0000000..086fadd --- /dev/null +++ b/led-matrix.h @@ -0,0 +1,504 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +// Controlling 16x32 or 32x32 RGB matrixes via GPIO. It allows daisy chaining +// of a string of these, and also connecting a parallel string on newer +// Raspberry Pis with more GPIO pins available. + +#ifndef RPI_RGBMATRIX_H +#define RPI_RGBMATRIX_H + +#include +#include + +#include +#include + +#include "canvas.h" +#include "thread.h" +#include "pixel-mapper.h" + +namespace rgb_matrix { +class RGBMatrix; +class FrameCanvas; // Canvas for Double- and Multibuffering +struct RuntimeOptions; + +// The RGB matrix provides the framebuffer and the facilities to constantly +// update the LED matrix. +// +// This implement the Canvas interface that represents the display with +// (led_cols * chained_displays)x(rows * parallel_displays) pixels. +// +// If can do multi-buffering using the CreateFrameCanvas() and SwapOnVSync() +// methods. This is useful for animations and to prevent tearing. +// +// If you arrange the panels in a different way in the physical space, write +// a CanvasTransformer that does coordinate remapping and which should be added +// to the transformers, like with UArrangementTransformer in demo-main.cc. +class RGBMatrix : public Canvas { +public: + // Options to initialize the RGBMatrix. Also see the main README.md for + // detailed descriptions of the command line flags. + struct Options { + Options(); // Creates a default option set. + + // Validate the options and possibly output a message to string. If + // "err" is NULL, outputs validation problems to stderr. + // Returns 'true' if all options look good. + bool Validate(std::string *err) const; + + // Name of the hardware mapping. Something like "regular" or "adafruit-hat" + const char *hardware_mapping; + + // The "rows" are the number + // of rows supported by the display, so 32 or 16. Default: 32. + // Flag: --led-rows + int rows; + + // The "cols" are the number of columns per panel. Typically something + // like 32, but also 64 is possible. Sometimes even 40. + // cols * chain_length is the total length of the display, so you can + // represent a 64 wide display as cols=32, chain=2 or cols=64, chain=1; + // same thing, but more convenient to think of. + // Flag: --led-cols + int cols; + + // The chain_length is the number of displays daisy-chained together + // (output of one connected to input of next). Default: 1 + // Flag: --led-chain + int chain_length; + + // The number of parallel chains connected to the Pi; in old Pis with 26 + // GPIO pins, that is 1, in newer Pis with 40 interfaces pins, that can + // also be 2 or 3. The effective number of pixels in vertical direction is + // then thus rows * parallel. Default: 1 + // Flag: --led-parallel + int parallel; + + // Set PWM bits used for output. Default is 11, but if you only deal with + // limited comic-colors, 1 might be sufficient. Lower require less CPU and + // increases refresh-rate. + // Flag: --led-pwm-bits + int pwm_bits; + + // Change the base time-unit for the on-time in the lowest + // significant bit in nanoseconds. + // Higher numbers provide better quality (more accurate color, less + // ghosting), but have a negative impact on the frame rate. + // Flag: --led-pwm-lsb-nanoseconds + int pwm_lsb_nanoseconds; + + // The lower bits can be time-dithered for higher refresh rate. + // Flag: --led-pwm-dither-bits + int pwm_dither_bits; + + // The initial brightness of the panel in percent. Valid range is 1..100 + // Default: 100 + // Flag: --led-brightness + int brightness; + + // Scan mode: 0=progressive, 1=interlaced. + // Flag: --led-scan-mode + int scan_mode; + + // Default row address type is 0, corresponding to direct setting of the + // row, while row address type 1 is used for panels that only have A/B, + // typically some 64x64 panels + int row_address_type; // Flag --led-row-addr-type + + // Type of multiplexing. 0 = direct, 1 = stripe, 2 = checker,... + // Flag: --led-multiplexing + int multiplexing; + + // Disable the PWM hardware subsystem to create pulses. + // Typically, you don't want to disable hardware pulsing, this is mostly + // for debugging and figuring out if there is interference with the + // sound system. + // This won't do anything if output enable is not connected to GPIO 18 in + // non-standard wirings. + bool disable_hardware_pulsing; // Flag: --led-hardware-pulse + + // Show refresh rate on the terminal for debugging and tweaking purposes. + bool show_refresh_rate; // Flag: --led-show-refresh + + // Some panels have inversed colors. + bool inverse_colors; // Flag: --led-inverse + + // In case the internal sequence of mapping is not "RGB", this contains the + // real mapping. Some panels mix up these colors. String of length three + // which has to contain all characters R, G and B. + const char *led_rgb_sequence; // Flag: --led-rgb-sequence + + // A string describing a sequence of pixel mappers that should be applied + // to this matrix. A semicolon-separated list of pixel-mappers with optional + // parameter. + const char *pixel_mapper_config; // Flag: --led-pixel-mapper + + // Panel type. Typically an empty string or NULL, but some panels need + // a particular initialization sequence, so this is used for that. + // This can be e.g. "FM6126A" for that particular panel type. + const char *panel_type; // Flag: --led-panel-type + + // Limit refresh rate of LED panel. This will help on a loaded system + // to keep a constant refresh rate. <= 0 for no limit. + int limit_refresh_rate_hz; // Flag: --led-limit-refresh + }; + + // Factory to create a matrix. Additional functionality includes dropping + // privileges and becoming a daemon. + // Returns NULL, if there was a problem (a message then is written to stderr). + static RGBMatrix *CreateFromOptions(const Options &options, + const RuntimeOptions &runtime_options); + + // A factory that parses your main() commandline flags to read options + // meant to configure the the matrix and returns a freshly allocated matrix. + // + // Optionally, you can pass in option structs with a couple of defaults + // which are used unless overwritten on the command line. + // A matrix is created and returned; also the options structs are + // updated to reflect the values that were used and set on the command line. + // + // If you allow the user to start a daemon with --led-daemon, make sure to + // call this function before you have started any threads, so early on in + // main() (see RuntimeOptions documentation). + // + // Note, the permissions are dropped by default from 'root' to 'daemon', so + // if you are required to stay root after this, disable this option in + // the default RuntimeOptions (set drop_privileges = -1). + // Returns NULL, if there was a problem (a message then is written to stderr). + static RGBMatrix *CreateFromFlags(int *argc, char ***argv, + RGBMatrix::Options *default_options = NULL, + RuntimeOptions *default_runtime_opts = NULL, + bool remove_consumed_flags = true); + + // Stop matrix, delete all resources. + virtual ~RGBMatrix(); + + // -- Canvas interface. These write to the active FrameCanvas + // (see documentation in canvas.h) + // + // Since this is updating the canvas that is currently displayed, this + // might result in tearing. + // Prefer using a FrameCanvas and do double-buffering, see section below. + virtual int width() const; + virtual int height() const; + virtual void SetPixel(int x, int y, + uint8_t red, uint8_t green, uint8_t blue); + virtual void Clear(); + virtual void Fill(uint8_t red, uint8_t green, uint8_t blue); + + // -- Double- and Multibuffering. + + // Create a new buffer to be used for multi-buffering. The returned new + // Buffer implements a Canvas with the same size of thie RGBMatrix. + // You can use it to draw off-screen on it, then swap it with the active + // buffer using SwapOnVSync(). That would be classic double-buffering. + // + // You can also create as many FrameCanvas as you like and for instance use + // them to pre-fill scenes of an animation for fast playback later. + // + // The ownership of the created Canvases remains with the RGBMatrix, so you + // don't have to worry about deleting them (but you also don't want to create + // more than needed as this will fill up your memory as they are only deleted + // when the RGBMatrix is deleted). + FrameCanvas *CreateFrameCanvas(); + + // This method waits to the next VSync and swaps the active buffer with the + // supplied buffer. The formerly active buffer is returned. + // + // If you pass in NULL, the active buffer is returned, but it won't be + // replaced with NULL. You can use the NULL-behavior to just wait on + // VSync or to retrieve the initial buffer when preparing a multi-buffer + // animation. + // + // The optional "framerate_fraction" parameter allows to choose which + // multiple of the global frame-count to use. So it slows down your animation + // to an exact integer fraction of the refresh rate. + // Default is 1, so immediately next available frame. + // (Say you have 140Hz refresh rate, then a value of 5 would give you an + // 28Hz animation, nicely locked to the refresh-rate). + // If you combine this with Options::limit_refresh_rate_hz you can create + // time-correct animations. + FrameCanvas *SwapOnVSync(FrameCanvas *other, unsigned framerate_fraction = 1); + + // -- Setting shape and behavior of matrix. + + // Apply a pixel mapper. This is used to re-map pixels according to some + // scheme implemented by the PixelMapper. Does _not_ take ownership of the + // mapper. Mapper can be NULL, in which case nothing happens. + // Returns a boolean indicating if this was successful. + bool ApplyPixelMapper(const PixelMapper *mapper); + + // Note, there used to be ApplyStaticTransformer(), which has been deprecated + // since 2018 and changed to a compile-time option, then finally removed + // in 2020. Use PixelMapper instead, which is simpler and more intuitive. + + // Set PWM bits used for output. Default is 11, but if you only deal with + // limited comic-colors, 1 might be sufficient. Lower require less CPU and + // increases refresh-rate. + // + // Returns boolean to signify if value was within range. + // + // This sets the PWM bits for the current active FrameCanvas and future + // ones that are created with CreateFrameCanvas(). + bool SetPWMBits(uint8_t value); + uint8_t pwmbits(); // return the pwm-bits of the currently active buffer. + + // Map brightness of output linearly to input with CIE1931 profile. + void set_luminance_correct(bool on); + bool luminance_correct() const; + + // Set brightness in percent for all created FrameCanvas. 1%..100%. + // This will only affect newly set pixels. + void SetBrightness(uint8_t brightness); + uint8_t brightness(); + + //-- GPIO interaction. + // This library uses the GPIO pins to drive the matrix; this is a safe way + // to request the 'remaining' bits to be used for user purposes. + + // Request user readable GPIO bits. + // This function allows you to request pins you'd like to read with + // AwaitInputChange(). + // Only bits that are not already in use for reading or wrtiting + // by the matrix are allowed. + // Input is a bitmap of all the GPIO bits you're interested in; returns all + // the bits that are actually available. + uint64_t RequestInputs(uint64_t all_interested_bits); + + // This function will return whenever the GPIO input pins + // change (pins that are not already in use for output, that is) or the + // timeout is reached. You need to have reserved the inputs with + // matrix->RequestInputs(...) first (e.g. + // matrix->RequestInputs((1<<25)|(1<<24)); + // + // A positive timeout waits the given amount of milliseconds for a change + // (e.g. a button-press) to occur; if there is no change, it will just + // return the last value. + // If you just want to know how the pins are right now, call with zero + // timeout. + // A negative number waits forever and will only return if there is a change. + // + // This function only samples between display refreshes so polling some + // input does not generate flicker and provide a convenient change interface. + // + // Returns the bitmap of all GPIO input pins. + uint64_t AwaitInputChange(int timeout_ms); + + // Request user writable GPIO bits. + // This allows to request a bitmap of GPIO-bits to be used by the user for + // writing. + // Only bits that are not already in use for reading or wrtiting + // by the matrix are allowed. + // Returns the subset bits that are _actually_ available, + uint64_t RequestOutputs(uint64_t output_bits); + + // Set the user-settable bits according to output bits. + void OutputGPIO(uint64_t output_bits); + + // Legacy way to set gpio pins. We're not doing this anymore but need to + // be source-compatible with old calls of the form + // matrix->gpio()->RequestInputs(...) + // + // Don't use, use AwaitInputChange() directly. + RGBMatrix *gpio() __attribute__((deprecated)) { return this; } + + //-- Rarely needed + // Start the refresh thread. + // This is only needed if you chose RuntimeOptions::daemon = -1 (see below), + // otherwise the refresh thread is already started. + bool StartRefresh(); + +private: + class Impl; + + RGBMatrix(Impl *impl) : impl_(impl) {} + Impl *const impl_; +}; + +namespace internal { +class Framebuffer; +} + +class FrameCanvas : public Canvas { +public: + // Set PWM bits used for this Frame. + // Simple comic-colors, 1 might be sufficient (111 RGB, i.e. 8 colors). + // Lower require less CPU. + // Returns boolean to signify if value was within range. + bool SetPWMBits(uint8_t value); + uint8_t pwmbits(); + + // Map brightness of output linearly to input with CIE1931 profile. + void set_luminance_correct(bool on); + bool luminance_correct() const; + + void SetBrightness(uint8_t brightness); + uint8_t brightness(); + + //-- Serialize()/Deserialize() are fast ways to store and re-create a canvas. + + // Provides a pointer to a buffer of the internal representation to + // be copied out for later Deserialize(). + // + // Returns a "data" pointer and the data "len" in the given out-paramters; + // the content can be copied from there by the caller. + // + // Note, the content is not simply RGB, it is the opaque and platform + // specific representation which allows to make deserialization very fast. + // It is also bigger than just RGB; if you want to store it somewhere, + // using compression is a good idea. + void Serialize(const char **data, size_t *len) const; + + // Load data previously stored with Serialize(). Needs to be restored into + // a FrameCanvas with exactly the same settings (rows, chain, transformer,...) + // as serialized. + // Returns 'false' if size is unexpected. + // This method should only be called if FrameCanvas is off-screen. + bool Deserialize(const char *data, size_t len); + + // Copy content from other FrameCanvas owned by the same RGBMatrix. + void CopyFrom(const FrameCanvas &other); + + // -- Canvas interface. + virtual int width() const; + virtual int height() const; + virtual void SetPixel(int x, int y, + uint8_t red, uint8_t green, uint8_t blue); + virtual void Clear(); + virtual void Fill(uint8_t red, uint8_t green, uint8_t blue); + +private: + friend class RGBMatrix; + + FrameCanvas(internal::Framebuffer *frame) : frame_(frame){} + virtual ~FrameCanvas(); // Any FrameCanvas is owned by RGBMatrix. + internal::Framebuffer *framebuffer() { return frame_; } + + internal::Framebuffer *const frame_; +}; + +// Runtime options to simplify doing common things for many programs such as +// dropping privileges and becoming a daemon. +struct RuntimeOptions { + RuntimeOptions(); + + int gpio_slowdown; // 0 = no slowdown. Flag: --led-slowdown-gpio + + // ---------- + // If the following options are set to disabled with -1, they are not + // even offered via the command line flags. + // ---------- + + // Thre are three possible values here + // -1 : don't leave choise of becoming daemon to the command line parsing. + // If set to -1, the --led-daemon option is not offered. + // 0 : do not becoma a daemon, run in forgreound (default value) + // 1 : become a daemon, run in background. + // + // If daemon is disabled (= -1), the user has to call + // RGBMatrix::StartRefresh() manually once the matrix is created, to leave + // the decision to become a daemon + // after the call (which requires that no threads have been started yet). + // In the other cases (off or on), the choice is already made, so the thread + // is conveniently already started for you. + int daemon; // -1 disabled. 0=off, 1=on. Flag: --led-daemon + + // Drop privileges from 'root' to 'daemon' once the hardware is initialized. + // This is usually a good idea unless you need to stay on elevated privs. + int drop_privileges; // -1 disabled. 0=off, 1=on. flag: --led-drop-privs + + // By default, the gpio is initialized for you, but if you run on a platform + // not the Raspberry Pi, this will fail. If you don't need to access GPIO + // e.g. you want to just create a stream output (see content-streamer.h), + // set this to false. + bool do_gpio_init; +}; + +// Convenience utility functions to read standard rgb-matrix flags and create +// a RGBMatrix. Commandline flags are something like --led-rows, --led-chain, +// --led-parallel. See output of PrintMatrixFlags() for all available options +// and detailed description in +// https://github.com/hzeller/rpi-rgb-led-matrix#changing-parameters-via-command-line-flags +// +// Example use: +/* +using rgb_matrix::RGBMatrix; +int main(int argc, char **argv) { + RGBMatrix::Options led_options; + rgb_matrix::RuntimeOptions runtime; + + // Set defaults + led_options.chain_length = 3; + led_options.show_refresh_rate = true; + runtime.drop_privileges = 1; + if (!rgb_matrix::ParseOptionsFromFlags(&argc, &argv, &led_options, &runtime)) { + rgb_matrix::PrintMatrixFlags(stderr); + return 1; + } + + // Do your own command line handling with the remaining flags. + while (getopt()) {...} + + // Looks like we're ready to start + RGBMatrix *matrix = RGBMatrix::CreateFromOptions(led_options, runtime); + if (matrix == NULL) { + return 1; + } + + // .. now use matrix + + delete matrix; // Make sure to delete it in the end to switch off LEDs. + return 0; +} +*/ +// This parses the flags from argv and updates the structs with the parsed-out +// values. Structs can be NULL if you are not interested in it. +// +// The recongized flags are removed from argv if "remove_consumed_flags" is +// true; this simplifies your command line processing for the remaining options. +// +// Returns 'true' on success, 'false' if there was flag parsing problem. +bool ParseOptionsFromFlags(int *argc, char ***argv, + RGBMatrix::Options *default_options, + RuntimeOptions *rt_options, + bool remove_consumed_flags = true); + +// Show all the available options in a style that can be used in a --help +// output on the command line. +void PrintMatrixFlags(FILE *out, + const RGBMatrix::Options &defaults = RGBMatrix::Options(), + const RuntimeOptions &rt_opt = RuntimeOptions()); + +// Legacy version of RGBMatrix::CreateFromOptions() +inline RGBMatrix *CreateMatrixFromOptions( + const RGBMatrix::Options &options, + const RuntimeOptions &runtime_options) { + return RGBMatrix::CreateFromOptions(options, runtime_options); +} + +// Legacy version of RGBMatrix::CreateFromFlags() +inline RGBMatrix *CreateMatrixFromFlags( + int *argc, char ***argv, + RGBMatrix::Options *default_options = NULL, + RuntimeOptions *default_runtime_opts = NULL, + bool remove_consumed_flags = true) { + return RGBMatrix::CreateFromFlags(argc, argv, + default_options, default_runtime_opts, + remove_consumed_flags); +} + +} // end namespace rgb_matrix +#endif // RPI_RGBMATRIX_H diff --git a/lib/.gitignore b/lib/.gitignore new file mode 100644 index 0000000..80c47cb --- /dev/null +++ b/lib/.gitignore @@ -0,0 +1,3 @@ +compiler-flags +librgbmatrix.a +librgbmatrix.so.1 diff --git a/lib/Makefile b/lib/Makefile new file mode 100644 index 0000000..3359363 --- /dev/null +++ b/lib/Makefile @@ -0,0 +1,196 @@ +# Creating RGB matrix library +# When you link this library with your binary, you need to add -lrt -lm -lpthread +# So +# -lrgbmatrix +## +OBJECTS=gpio.o led-matrix.o options-initialize.o framebuffer.o \ + thread.o bdf-font.o graphics.o led-matrix-c.o hardware-mapping.o \ + pixel-mapper.o multiplex-mappers.o \ + content-streamer.o + +TARGET=librgbmatrix + +### +# After you change any of the following DEFINES, make sure to 'make' again. +# +# ########### NOTE ########### +# all of these options can now can be set programmatically and +# via command line flags as well. No real need to change them in the Makefile. +# (So be prepared for these to be removed at some point) +### + +# There are several different pinouts for various breakout boards that uses +# this library. If you are using the described pinout in the toplevel README.md +# or the standard active-3 breakout board, then 'regular' is the one you'd like +# to use. +# +# Adafruit also made a breakout board, if you want to use that, choose +# 'adafruit-hat' +# +# These are the choices +# regular # Following this project wiring and using these PCBs +# adafruit-hat # If you have a RGB matrix HAT from Adafruit +# adafruit-hat-pwm # If you have an Adafruit HAT with PWM hardware mod. +# regular-pi1 # If you have an old Pi1 and regular didn't work. +# classic # (deprecated) Classic Pi1/2/. Not used anymore. +# classic-pi1 # (deprecated) Classic pinout on Rasperry Pi 1 +HARDWARE_DESC?=regular + +# If you see that your display is inverse, you might have a matrix variant +# has uses inverse logic for the RGB bits. In that case: uncomment this. +# Flag: --led-inverse +#DEFINES+=-DINVERSE_RGB_DISPLAY_COLORS + +# For curiosity reasons and while tweaking values for LSB_PWM_NANOSECONDS, +# uncomment to see refresh rate in terminal. +# Flag: --led-show-refresh +#DEFINES+=-DSHOW_REFRESH_RATE + +# For low refresh rates below 100Hz (e.g. a lot of panels), the eye will notice +# some flicker. With this option enabled, the refreshed lines are interleaved, +# so it is less noticeable. But looks less pleasant with fast eye movements. +# Flag: --led-scan-mode=1 +#DEFINES+=-DRGB_SCAN_INTERLACED=1 + +# The signal can be too fast for some LED panels, in particular with newer +# (faster) Raspberry Pi 2s - in that case, the LED matrix only shows garbage. +# This allows to slow down the GPIO for these cases. +# +# Set to 1 for RPi2 or RPi3 (default below), because they are typically +# faster than the panels can digest. +# +# Set to 0 (or comment out) for RPi1, that are slow enough. +# +# Sometimes, you even have to give RGB_SLOWDOWN_GPIO=2 or even 3 for +# particularly slow panels or bad signal cable situations. If that happens, you +# typically should double check cables and add TTL level converter if you +# haven't. +# Flag: --led-slowdown-gpio +#DEFINES+=-DRGB_SLOWDOWN_GPIO=1 + +# This allows to change the base time-unit for the on-time in the lowest +# significant bit in nanoseconds. +# Higher numbers provide better quality (more accurate color, less ghosting), +# but have a negative impact on the frame rate. +# +# For the same frame-rate, displays with higher multiplexing (e.g. 1:16 or 1:32) +# require lower values. +# +# Good values for full-color display (PWM=11) are somewhere between 100 and 300. +# +# If you you use reduced bit color (e.g. PWM=1 for 8 colors like for text), +# then higher values might be good to minimize ghosting (and you can afford +# that, because lower PWM values result in higher frame-rates). +# +# How to decide ? Just leave the default if things are fine. If you see +# ghosting in high-contrast applications (e.g. text), increase the value. +# If you want to tweak, watch the framerate (-DSHOW_FRAME_RATE) while playing +# with this number and the PWM values. +# Flag: --led-pwm-lsb-nanoseconds +#DEFINES+=-DLSB_PWM_NANOSECONDS=130 + +# This is to debug problems with the hardware pulse generation. The PWM hardware +# module is also used by Raspberry Pi sound system, so there might be +# interference. Note, you typically don't want the hardware pulses disabled, as +# the image will have visible brightness glitches; but for debugging, this is +# a good choice. +# Flag: --led-no-hardware-pulses +#DEFINES+=-DDISABLE_HARDWARE_PULSES + +# This allows to fix the refresh rate to a particular refresh time in +# microseconds. +# +# This can be used to mitigate some situations in which you have a rare +# faint flicker, which can happen due to hardware events (network access) +# or other situations such as other IO or heavy memory access by other +# processes (all of which seem to break the isolation we request from the +# kernel. You did set isolcpus=3 right ?) +# You trade a slightly slower refresh rate and display brightness for less +# visible flicker situations. +# +# For this to calibrate, run your program for a while with --led-show-refresh +# and watch the line that shows the refresh time and the maximum microseconds +# for a frame observed. The maximum number is updated whenever the frame +# refresh take a little bit longer. So wait a while until that value doesn't +# change anymore (at least a minute, so that you catch tasks that happen once +# a minute). Some value might read e.g. +# 204.6Hz max: 5133usec +# Now take this maximum value you see there (here: 5133) and put in +# this define (don't forget to remove the # in front). +# +# The refresh rate will now be adapted to always have this amount of time +# between frames, so faster refreshes will be slowed down, but the occasional +# delayed frame will fit into the time-window as well, thus reducing visible +# brightness fluctuations. +# +# You can play with value a little and reduce until you find a good balance +# between refresh rate (which is reduce the higher this value is) and +# flicker suppression (which is better with higher values). +# Flag: --led-limit-refresh +#DEFINES+=-DFIXED_FRAME_MICROSECONDS=5000 + +# Enable wide 64 bit GPIO offered with the compute module. +# This will use more memory to internally represent the frame buffer, so +# caches can't be utilized as much. +# So only switch this on if you really use the compute module and use more +# than 3 parallel chains. +# (this is untested right now, waiting for hardware to arrive for testing) +#DEFINES+=-DENABLE_WIDE_GPIO_COMPUTE_MODULE + +# ---- Pinout options for hardware variants; usually no change needed here ---- + +# Uncomment if you want to use the Adafruit HAT with stable PWM timings. +# The newer version of this library allows for much more stable (less flicker) +# output, but it does not work with the Adafruit HAT unless you do a +# simple hardware hack on them: +# connect GPIO 4 (old OE) with 18 (the new OE); there are +# convenient solder holes labeled 4 and 18 on the Adafruit HAT, pretty +# close together. +# Then you can set the flag --led-gpio-mapping=adafruit-hat-pwm +# .. or uncomment the following line. +#HARDWARE_DESC=adafruit-hat-pwm + +# Typically, a Hub75 panel is split in two half displays, so that a 1:16 +# multiplexing actually multiplexes over two half displays and gives 32 lines. +# There are some other displays out there that you might experiment with +# that are internally wired to only have one sub-panel. In that case you might +# want to try this define to get a more reasonable canvas mapping. +# This option is typically _not_ needed, only use when you attempt to connect +# some oddball old (typically one-colored) display, such as Hub12. +#DEFINES+=-DONLY_SINGLE_SUB_PANEL + +# If someone gives additional values on the make commandline e.g. +# make USER_DEFINES="-DSHOW_REFRESH_RATE" +DEFINES+=$(USER_DEFINES) + +DEFINES+=-DDEFAULT_HARDWARE='"$(HARDWARE_DESC)"' +INCDIR=../include +CFLAGS=-W -Wall -Wextra -Wno-unused-parameter -O3 -g -fPIC $(DEFINES) +CXXFLAGS=$(CFLAGS) -fno-exceptions -std=c++11 + +all : $(TARGET).a $(TARGET).so.1 + +$(TARGET).a : $(OBJECTS) + $(AR) rcs $@ $^ + +$(TARGET).so.1 : $(OBJECTS) + $(CXX) -shared -Wl,-soname,$@ -o $@ $^ -lpthread -lrt -lm -lpthread + +led-matrix.o: led-matrix.cc $(INCDIR)/led-matrix.h +thread.o : thread.cc $(INCDIR)/thread.h +framebuffer.o: framebuffer.cc framebuffer-internal.h +graphics.o: graphics.cc utf8-internal.h + +%.o : %.cc compiler-flags + $(CXX) -I$(INCDIR) $(CXXFLAGS) -c -o $@ $< + +%.o : %.c compiler-flags + $(CC) -I$(INCDIR) $(CFLAGS) -c -o $@ $< + +clean: + rm -f $(OBJECTS) $(TARGET).a $(TARGET).so.1 + +compiler-flags: FORCE + @echo '$(CXX) $(CXXFLAGS)' | cmp -s - $@ || echo '$(CXX) $(CXXFLAGS)' > $@ + +.PHONY: FORCE diff --git a/lib/bdf-font.cc b/lib/bdf-font.cc new file mode 100644 index 0000000..3f70c20 --- /dev/null +++ b/lib/bdf-font.cc @@ -0,0 +1,188 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2014 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +// Some old g++ installations need this macro to be defined for PRIx64. +#ifndef __STDC_FORMAT_MACROS +# define __STDC_FORMAT_MACROS +#endif +#include + +#include "graphics.h" + +#include +#include +#include + +// The little question-mark box "�" for unknown code. +static const uint32_t kUnicodeReplacementCodepoint = 0xFFFD; + +// Bitmap for one row. This limits the number of available columns. +// Make wider if running into trouble. +typedef uint64_t rowbitmap_t; + +namespace rgb_matrix { +struct Font::Glyph { + int device_width, device_height; + int width, height; + int x_offset, y_offset; + rowbitmap_t bitmap[0]; // contains 'height' elements. +}; + +Font::Font() : font_height_(-1), base_line_(0) {} +Font::~Font() { + for (CodepointGlyphMap::iterator it = glyphs_.begin(); + it != glyphs_.end(); ++it) { + free(it->second); + } +} + +// TODO: that might not be working for all input files yet. +bool Font::LoadFont(const char *path) { + if (!path || !*path) return false; + FILE *f = fopen(path, "r"); + if (f == NULL) + return false; + uint32_t codepoint; + char buffer[1024]; + int dummy; + Glyph tmp; + Glyph *current_glyph = NULL; + int row = 0; + + int bitmap_shift = 0; + while (fgets(buffer, sizeof(buffer), f)) { + if (sscanf(buffer, "FONTBOUNDINGBOX %d %d %d %d", + &dummy, &font_height_, &dummy, &base_line_) == 4) { + base_line_ += font_height_; + } + else if (sscanf(buffer, "ENCODING %ud", &codepoint) == 1) { + // parsed. + } + else if (sscanf(buffer, "DWIDTH %d %d", &tmp.device_width, &tmp.device_height + ) == 2) { + // parsed. + } + else if (sscanf(buffer, "BBX %d %d %d %d", &tmp.width, &tmp.height, + &tmp.x_offset, &tmp.y_offset) == 4) { + current_glyph = (Glyph*) malloc(sizeof(Glyph) + + tmp.height * sizeof(rowbitmap_t)); + *current_glyph = tmp; + // We only get number of bytes large enough holding our width. We want + // it always left-aligned. + bitmap_shift = + 8 * (sizeof(rowbitmap_t) - ((current_glyph->width + 7) / 8)) + - current_glyph->x_offset; + row = -1; // let's not start yet, wait for BITMAP + } + else if (strncmp(buffer, "BITMAP", strlen("BITMAP")) == 0) { + row = 0; + } + else if (current_glyph && row >= 0 && row < current_glyph->height + && (sscanf(buffer, "%" PRIx64, ¤t_glyph->bitmap[row]) == 1)) { + current_glyph->bitmap[row] <<= bitmap_shift; + row++; + } + else if (strncmp(buffer, "ENDCHAR", strlen("ENDCHAR")) == 0) { + if (current_glyph && row == current_glyph->height) { + free(glyphs_[codepoint]); // just in case there was one. + glyphs_[codepoint] = current_glyph; + current_glyph = NULL; + } + } + } + fclose(f); + return true; +} + +Font *Font::CreateOutlineFont() const { + Font *r = new Font(); + const int kBorder = 1; + r->font_height_ = font_height_ + 2*kBorder; + r->base_line_ = base_line_ + kBorder; + for (CodepointGlyphMap::const_iterator it = glyphs_.begin(); + it != glyphs_.end(); ++it) { + const Glyph *orig = it->second; + const int height = orig->height + 2 * kBorder; + const size_t alloc_size = sizeof(Glyph) + height * sizeof(rowbitmap_t); + Glyph *const tmp_glyph = (Glyph*) calloc(1, alloc_size); + tmp_glyph->width = orig->width + 2*kBorder; + tmp_glyph->height = height; + tmp_glyph->device_width = orig->device_width + 2*kBorder; + tmp_glyph->device_height = height; + tmp_glyph->y_offset = orig->y_offset - kBorder; + // TODO: we don't really need bounding box, right ? + const rowbitmap_t fill_pattern = 0b111; + const rowbitmap_t start_mask = 0b010; + // Fill the border + for (int h = 0; h < orig->height; ++h) { + rowbitmap_t fill = fill_pattern; + rowbitmap_t orig_bitmap = orig->bitmap[h] >> kBorder; + for (rowbitmap_t m = start_mask; m; m <<= 1, fill <<= 1) { + if (orig_bitmap & m) { + tmp_glyph->bitmap[h+kBorder-1] |= fill; + tmp_glyph->bitmap[h+kBorder+0] |= fill; + tmp_glyph->bitmap[h+kBorder+1] |= fill; + } + } + } + // Remove original font again. + for (int h = 0; h < orig->height; ++h) { + rowbitmap_t orig_bitmap = orig->bitmap[h] >> kBorder; + tmp_glyph->bitmap[h+kBorder] &= ~orig_bitmap; + } + r->glyphs_[it->first] = tmp_glyph; + } + return r; +} + +const Font::Glyph *Font::FindGlyph(uint32_t unicode_codepoint) const { + CodepointGlyphMap::const_iterator found = glyphs_.find(unicode_codepoint); + if (found == glyphs_.end()) + return NULL; + return found->second; +} + +int Font::CharacterWidth(uint32_t unicode_codepoint) const { + const Glyph *g = FindGlyph(unicode_codepoint); + return g ? g->device_width : -1; +} + +int Font::DrawGlyph(Canvas *c, int x_pos, int y_pos, + const Color &color, const Color *bgcolor, + uint32_t unicode_codepoint) const { + const Glyph *g = FindGlyph(unicode_codepoint); + if (g == NULL) g = FindGlyph(kUnicodeReplacementCodepoint); + if (g == NULL) return 0; + y_pos = y_pos - g->height - g->y_offset; + for (int y = 0; y < g->height; ++y) { + const rowbitmap_t row = g->bitmap[y]; + rowbitmap_t x_mask = (1LL<<63); + for (int x = 0; x < g->device_width; ++x, x_mask >>= 1) { + if (row & x_mask) { + c->SetPixel(x_pos + x, y_pos + y, color.r, color.g, color.b); + } else if (bgcolor) { + c->SetPixel(x_pos + x, y_pos + y, bgcolor->r, bgcolor->g, bgcolor->b); + } + } + } + return g->device_width; +} + +int Font::DrawGlyph(Canvas *c, int x_pos, int y_pos, const Color &color, + uint32_t unicode_codepoint) const { + return DrawGlyph(c, x_pos, y_pos, color, NULL, unicode_codepoint); +} + +} // namespace rgb_matrix diff --git a/lib/bdf-font.o b/lib/bdf-font.o new file mode 100644 index 0000000000000000000000000000000000000000..f7ad0d6d5fe9f6242a6d3b952ea8efe57f341edd GIT binary patch literal 136212 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 literal 0 HcmV?d00001 diff --git a/lib/content-streamer.cc b/lib/content-streamer.cc new file mode 100644 index 0000000..7dc7425 --- /dev/null +++ b/lib/content-streamer.cc @@ -0,0 +1,203 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- + +#include "content-streamer.h" +#include "led-matrix.h" + +#include +#include +#include +#include +#include +#include + +#include + +#include "gpio-bits.h" + +namespace rgb_matrix { + +// Pre-c++11 helper +#define STATIC_ASSERT(msg, c) typedef int static_assert_##msg[(c) ? 1 : -1] + +namespace { +// We write magic values as integers to automatically detect endian issues. +// Streams are stored in little-endian. This is the ARM default (running +// the Raspberry Pi, but also x86; so it is possible to create streams easily +// on a different x86 Linux PC. +static const uint32_t kFileMagicValue = 0xED0C5A48; +struct FileHeader { + uint32_t magic; // kFileMagicValue + uint32_t buf_size; + uint32_t width; + uint32_t height; + uint64_t future_use1; + uint64_t is_wide_gpio : 1; + uint64_t flags_future_use : 63; +}; +STATIC_ASSERT(file_header_size_changed, sizeof(FileHeader) == 32); + +static const uint32_t kFrameMagicValue = 0x12345678; +struct FrameHeader { + uint32_t magic; // kFrameMagic + uint32_t size; + uint32_t hold_time_us; // How long this frame lasts in usec. + uint32_t future_use1; + uint64_t future_use2; + uint64_t future_use3; +}; +STATIC_ASSERT(file_header_size_changed, sizeof(FrameHeader) == 32); +} + +FileStreamIO::FileStreamIO(int fd) : fd_(fd) { + posix_fadvise(fd_, 0, 0, POSIX_FADV_SEQUENTIAL); +} +FileStreamIO::~FileStreamIO() { close(fd_); } + +void FileStreamIO::Rewind() { lseek(fd_, 0, SEEK_SET); } + +ssize_t FileStreamIO::Read(void *buf, const size_t count) { + return read(fd_, buf, count); +} + +ssize_t FileStreamIO::Append(const void *buf, const size_t count) { + return write(fd_, buf, count); +} + +void MemStreamIO::Rewind() { pos_ = 0; } +ssize_t MemStreamIO::Read(void *buf, size_t count) { + const size_t amount = std::min(count, buffer_.size() - pos_); + memcpy(buf, buffer_.data() + pos_, amount); + pos_ += amount; + return amount; +} +ssize_t MemStreamIO::Append(const void *buf, size_t count) { + buffer_.append((const char*)buf, count); + return count; +} + +// Read exactly count bytes including retries. Returns success. +static bool FullRead(StreamIO *io, void *buf, const size_t count) { + int remaining = count; + char *char_buffer = (char*)buf; + while (remaining > 0) { + int r = io->Read(char_buffer, remaining); + if (r < 0) return false; + if (r == 0) break; // EOF. + char_buffer += r; remaining -= r; + } + return remaining == 0; +} + +// Write exactly count bytes including retries. Returns success. +static bool FullAppend(StreamIO *io, const void *buf, const size_t count) { + int remaining = count; + const char *char_buffer = (const char*) buf; + while (remaining > 0) { + int w = io->Append(char_buffer, remaining); + if (w < 0) return false; + char_buffer += w; remaining -= w; + } + return remaining == 0; +} + +StreamWriter::StreamWriter(StreamIO *io) : io_(io), header_written_(false) {} +bool StreamWriter::Stream(const FrameCanvas &frame, uint32_t hold_time_us) { + const char *data; + size_t len; + frame.Serialize(&data, &len); + + if (!header_written_) { + WriteFileHeader(frame, len); + } + FrameHeader h = {}; + h.magic = kFrameMagicValue; + h.size = len; + h.hold_time_us = hold_time_us; + FullAppend(io_, &h, sizeof(h)); + return FullAppend(io_, data, len) == (ssize_t)len; +} + +void StreamWriter::WriteFileHeader(const FrameCanvas &frame, size_t len) { + FileHeader header = {}; + header.magic = kFileMagicValue; + header.width = frame.width(); + header.height = frame.height(); + header.buf_size = len; + header.is_wide_gpio = (sizeof(gpio_bits_t) > 4); + FullAppend(io_, &header, sizeof(header)); + header_written_ = true; +} + +StreamReader::StreamReader(StreamIO *io) + : io_(io), state_(STREAM_AT_BEGIN), header_frame_buffer_(NULL) { + io_->Rewind(); +} +StreamReader::~StreamReader() { delete [] header_frame_buffer_; } + +void StreamReader::Rewind() { + io_->Rewind(); + state_ = STREAM_AT_BEGIN; +} + +bool StreamReader::GetNext(FrameCanvas *frame, uint32_t* hold_time_us) { + if (state_ == STREAM_AT_BEGIN && !ReadFileHeader(*frame)) return false; + if (state_ != STREAM_READING) return false; + + // Read header and expected buffer size. + if (!FullRead(io_, header_frame_buffer_, + sizeof(FrameHeader) + frame_buf_size_)) { + return false; + } + + const FrameHeader &h = *reinterpret_cast(header_frame_buffer_); + + // TODO: we might allow for this to be a kFileMagicValue, to allow people + // to just concatenate streams. In that case, we just would need to read + // ahead past this header (both headers are designed to be same size) + if (h.magic != kFrameMagicValue) { + state_ = STREAM_ERROR; + return false; + } + + // In the future, we might allow larger buffers (audio?), but never smaller. + // For now, we need to make sure to exactly match the size, as our assumption + // above is that we can read the full header + frame in one FullRead(). + if (h.size != frame_buf_size_) + return false; + + if (hold_time_us) *hold_time_us = h.hold_time_us; + return frame->Deserialize(header_frame_buffer_ + sizeof(FrameHeader), + frame_buf_size_); +} + +bool StreamReader::ReadFileHeader(const FrameCanvas &frame) { + FileHeader header; + FullRead(io_, &header, sizeof(header)); + if (header.magic != kFileMagicValue) { + state_ = STREAM_ERROR; + return false; + } + if ((int)header.width != frame.width() + || (int)header.height != frame.height()) { + fprintf(stderr, "This stream is for %dx%d, can't play on %dx%d. " + "Please use the same settings for record/replay\n", + header.width, header.height, frame.width(), frame.height()); + state_ = STREAM_ERROR; + return false; + } + if (header.is_wide_gpio != (sizeof(gpio_bits_t) == 8)) { + fprintf(stderr, "This stream was written with %s GPIO width support but " + "this library is compiled with %d bit GPIO width (see " + "ENABLE_WIDE_GPIO_COMPUTE_MODULE setting in lib/Makefile)\n", + header.is_wide_gpio ? "wide (64-bit)" : "narrow (32-bit)", + int(sizeof(gpio_bits_t) * 8)); + state_ = STREAM_ERROR; + return false; + } + state_ = STREAM_READING; + frame_buf_size_ = header.buf_size; + if (!header_frame_buffer_) + header_frame_buffer_ = new char [ sizeof(FrameHeader) + header.buf_size ]; + return true; +} +} // namespace rgb_matrix diff --git a/lib/content-streamer.o b/lib/content-streamer.o new file mode 100644 index 0000000000000000000000000000000000000000..933bf915a737ccbc7d6ede9689ed6f4b823a8308 GIT binary patch literal 116468 zcmeFacUV=&_BTFr_C9AH*oTfZQ2|j=6cNFSioGk?O;kicMG+CPq^Yr&*rHJr8%a!V z>Ww!hH@Qi?>51vR+;j`6-o*6gjqhiz+2w%b`@X;X{GRu(m*<&1WqsC~HEY(Cy=Q=x zgGUXKQVRP=iVWfAg!tew&UtegkRjTMwoLaUAA%5yU?LDIV8vmG!x2Pw-Rb1)RrM_| zbUvApeYid&<#4^0z5SEOf=*wEg1VEQ>|LMfVn@9{d(A14y|(_33m3l9Mcv8BRmVS1 zA%6VWSes_Ygb^uqr-|PaS$7iUUs5_auBLhl>rN(TqmF_d^%AnRfjzV}ooG zLOgZE{c1hsh=csR>Z%4F&+Aa&we&`VfnR?1rW!LO?V9)WV^WbJ@VOu@&AnOxZxV4`2 z^%rhEMYc&uLHiJr5mFG+5q=RbaohgC=&2Vd`AYYL^_mdRHy7edyDbqyy!XFrJKB4P zE+7Z`2{GuC$cTj}>pav>v>pCLwAir=PaYXick(ClS#IyadIL5fzj=!NxbEbSh?h^w zjTR|8>+LZ>kxvL9n6fRF>*+vCQ@1~3-5KVZ9H9~Br2Hbz68g8CeR`w#L- zCXKCg13P^|eN(*?{No4QkwnxJDjvg4F9iaDlj2#iF=vvD4pZVeUk%eU2YwKfY9<+4c3mfdJ7dz@s zk`1XHCn68m`?8_$j;;0H6zCqg{S#eaJb=z)6Z+Gbqr5+RV?FoHn&Y2e1HK(8hwD>7 zlj8c%HX`py+5QRf3)nN5m-vX^=C#`qi*}GcYCKFh`O<|8NhugdQpBA86zM?rK8&G* z_3(H2$N1AxV&fNQ31iJA0kN_EbM*ZbOsF(YX!t*fu*wR4^xwIm7(3vl@k8TSqV4gp zmqb|%Y^oRRt*3FDQn2a*|Q&qCClKDXic=iGjb z@!u|72=$}iPC-wS1wT#-pq~n;zu>Rbx3F)FKYK&7Z$Q&iP(S*P=FYE>7h=lk5Vrl! zW+{kra)Q&8|8IU~l`O6(EnW;wtLF6TRZ?ADUR6eNCd{o^oPuJgo`Tfu zg*7Q{%9gh&>zGnnQq`_DrMj}@vXq5YsxT|1u(G^lae2xTgxa~~DT_-M;89*%3#p2^ zro41vO|zpQ-&4} zAB#*Ga*LN#S1+uoO_{Z%7L`G{%8FSvB{i3ko}~*HRKuKQ7GGHk#0T?cEG{ok89b){ zfKh{sCl4PqxR~S?4;(wXaN>l)#iPd#nmB5(t$0dB6^ZUVx@3O&YzS>1Dwb^$0;2;z z`c+RZ$8-2vA-tHIR$+d#e^%(;imF->+6D!_+Y^N_-i;rCbZ8eml5}I)jYv~LlHWU? zBYiW5*UDx6P$d0%qY-(G#X}hU0>-xQYf${@%~lgw`tC)YzK_#T)F!?JMZUCQNViRb zSTK5z%}3Gb92B)no=fDei;&KUWpy5#jCA`rs@?a-0i?4!j-m8z8<6gtb%sRvjb2+& zw0|Fpx<)T0a@`@Mb7RnY;fo%ObY9GLl-|Ar>29&NQF>_=(%ob3qx6_&NcV_+jM6FB zBi%FRMM_8ZM!Hw*yOfSb1O5HmaP`OG5&jV>{qqQBw z4T|QuqC_5ZOnYQ{zJP+fW#KkigRa;!dQgz!$O+v;@_VVat$CRLVbh80jRX zaIbbqH&;qN4Fy6IRAZZOMmkY7@C)o!LzB2sq322P>8>bfu3B?$5cam2313mmjG;(( zOwqhJD%jG@Ns6HIC$NbyyC$`x^v~#aGdHOp zrQaoduQ+l6-)j{}7esJ}rVwv`m0oi>(gPFNqHhgEdT2rk;h%!9n4{STeP_{o<`|Ve z2iuv2Db(q{DynO`k`rzqJyT(ZUxIXbv&p2x&8?B19aoC<)pBudndmEGMhdZ7-W(-F ztSzKn%81F(C#$+ zQ-ml6X`Vyo%9}CwJw^xg1vPCo$QudLl^We_@>O6yX58CdQR_gt)fOPakM;+3dfqrv zTtSZ;br`Ayc>&=yg0i6IOEB|j&l)-TLeRQ@jwq}oYtj5HTvmI*xYvVbd4-5T2qHH- zxB}$Yjd7LGX_^r2K<-2krQ|Bi9ojp_%6Ur3!JtfZ1oS0KSe0NLY3~`jPlyW87up!n z{M)IZoHRNtLD!;mn@zD8=dT6%XJZWd{3ej@Z9tYZ_(gg?99WB##=i~<@hkxEGyw`< zLmEtO{RL<;ln}m*H7F@e*bWmW&)kZ1j5Hoe#x5OdheOd=1h#}lj+e#>_|6EBJAu@d z$ZUn=8(M=qQyQ};3PJ511=2K|%ngw>n3YBP@0h2wJZUVz@LmMK`i3ClRmkLrmIK*W z8abGdsrWFE_gst?$?Y+JYD1*aGC_6F34q>kfLv|DqZz=Am4=2s{sA;e6DU`ttemiT z1OQW{(ZvtPgF9XXNbLYXi8MaI{L{?=u)f>}3Dc>cYNfGfh7gk-0H^37!mlPToH6Jg za#)34E{*-QLacMpoT7&aKQk8Snf{*&9rRVw*nw5QtaQ_fa3=OvG(*3>7UL7eU~)8SdTRVHi$(~gP;(-Ez)0&1bvS*HpAW9 zgEr8iJ3@lYnf};pz;BSoU!czvK<8cz7uw3s03DIWeCWc%aWzmIZKN2+^t+{T33Oxn zO`zRv)71>BgxoI;?<@=SEC8=NAl6=io`5nO;pCZL|gY9)Ld_5Kk3K((@kU63q21DZ#{o zkDx5VgI$3>@EBQ`a2eDGfME_unT@M!t{Dkfl^8S&fCUbS%qFy?{sP+FMCX~e1HH;raOIQhLa~xrczEm?djIj8x25p1O|1frm+DgqR9c*cSBWQnd>6P6;-=G;i z*I4w&L3`Gv@AiSdLo;%*)KMGcNjyGt={I1%uU)She?x1SF2k@3L$LI(YXSua?(1yD7V;exf8$E;V2GdJGo8!L#D+(n6JU|Q{0&4@+6O8P`?BDgAu#E?k-}1Cn+N=6EemH(rWY7+D42Wj0tX!r|XRGwqU`c`ipg-FT)% z0c9P~cM^wVBGI9wR%rRUQP9?s`V{D|5QbDxQW;aE8^cjd70S=?_?|GX9PM80U$qk5 zxGvuUg<-LdL12(j^h(_rJl3kH6KGwDu6$i!_0g8$wRgD1KN__0M5juG#`M*?@lV*1 zOe7b8w%FxAJsY4My7AY&)>N?-w0$NO7bu#jH^^{a#A7AJn(87dC;8VPgILlIG!77&z4l-*`z12DmBq;9jMn@f6;)${?8e9wUSl>k*NkinR2K)S zJmopv)a4wAg1f$14TbTnE%q z2g&l3!CBr?pOLWNLOu`FnTwIZj>tS)ea4Np{r>O+BAM_b>rG=afRAob?YYPQ`-e-Kf$1>e|K=(LsN~w1|U-D=exw0i0Q@e$hCZAzs z;?0$9^9XP+I$SKD9u_juFz#+`$^R6nZyhAbw?G{YBVnEeGO=_wM^MIKB^a4Fm)7Kd zhH<iE%qqo}u4&j{eln&9E41X*~B-*_AS zz`CsfeqR$jJR{JImf{c6xu=gCHWG|t8MU%&O ze&e%BA-I|!0Qk+8C$w>UK>x#UyoO=U^jJ*$NeI?9$8#O%Q6YwRmHNgcb3yCn(rd9i zX{jNGfh`W}H375=o9=!f;Ngs~B?RvrV%&-EvJ77X=q?BDEP@ttY>06)Hmr=i8>r(B zGRR~sb7qJ!1)szi`3_K@IY?T^t=gZXmz@P6#=e;rQsPA=3PBk+sCGtf4>8_cVj(ku zDsYfa?ZJW%h8TWqkXeOG0G)R+9BxA@{58aQ%4;Fl0=3&g1}R%e6YnD-#tFZL{3}rZ zbdW*HGVHB~{o6q{R+i!a4l$Y)TW|w@9FL%^;K1>rkW`SNMgac8g1Z3K z-$4c`JGdIi$WUX(ehYaiQ1cyRkg|;I8fsj3qlH`t)C~^Osok}0GzT4|{99o`HX=|?*g5H4~9My?04hlR`mYN&&3 ztSrNKhZ;-l&Mg6S(Zz6llqD5z4K*g)Dr^C2zk>`?b}71FyFb+Edzq!e{XjkKAcHK+ z$ah1HYRoa*tdD{E!9g}wmf@d<8ry8a;n1li!bNVt$X`N@HoYvtJ%AeKAcK^Be;Sna zo5q04@c{)Bl$-@rje}&Z=pnR4SZ%cCrqO?;`Z_7E0cx*ajJX$k)f#p>@INWHREh$mppv#9z!RZkg7IC%&u3%A>|ubaZf zf|8C9ggZev`#_2~@v+)EbDA&-a@I;i$L9v29STeYb;O786HV|*)H3Allc<*=#y*Ln za_1zfl7xg(k$n=i7HQ`s>Tzi8oJ0{ypH0;`CsAc}_yU50w-7uZ*{yR1Zj1S!7(S+;^k z?nzXK!$K4RP|^g*K8acknhYg`eG+vLCUj1sZXPGZIjFr4fI|q%+KP;msO}qt_zC0( zKsrujwt{mK^$V6iYVX@1eQJ~00_sG>If=Tj12%*JM5bCY6o_~g(m9Fx)uTkV2eRkI zX!j&)2PQn~pm6|AcYxPGS>c>S4Ot|_3ee=`D3(N1-Q%1@&Df3Cp{4-#N!0fk36D7d z)|dOhIf?oZbJIx&z$tn-CsD`AVV#qx%di=XNV65<6g`}is3%-BPNGhA!TYa+<~Gp7 zJ&77PT8J4AfZN9ga89DG$2S|AIad&fwWo)B61C_W>;*wPgrL0eJXPSFM6JFaXJMed zOi7E{df`?WzGh-VwC!HeF4f>XZa0 zQKfw?P!Ryr91v@-Ksbq-(A@$p1z<}9kTS+0YOI3eBx)GeJXY)$Kp$!X&bCu9ougqOMqJH zAi1~5VS@$ZBq}4zg6{y7j&qbAo+`&4IEnhiuKj)ho_0X{hc^_5lc!Gv4ylxqGqnJPNKR3)z?NgI*Dq3BUU9SEvEobYJ;S51N$T@ zdaDJx3V@9ch)0TZ67>gmM=a?k0Pc1`JlLI+s7qlH20aVF>kden%|40p&9p#g0r=Sg zk=fjnsBiMDX(OsF-UJZTAW$b&IEm_y^@FE}E}(TMI?ue$Nz{5QC_LE|fi~IUcTS=< z)mZ$CKwIYU+b2j=vGol)wZL=|EeBs&4oqXEi2iF)@E0LFkg!3MY| zQEkUtDpY}1OLXoc=OpR^zPQQFD8J6;Rm-At61A6v-wER1Y=C+lc>GnmYf>UuWBgAIf<&kVn|xay?7k7LGDS^<;hk>4}f-@=*rjalc<*1 zJ~00~pnd4_+b2=q;#)5(`ZH+%aryaZ2q#e=VSmE&Nj&yPX$Y#ZYWiXjPNHJ%NhcqG zp$jBv5fYi)npG3Wmo?=ON0`PYSq;#@R zqE@0U40;uS`Uaq&ZH99awJFJhUjQ^B({87;?71gVB_0de9;n;~NcSY_ea!-m0bqs$ za)*&~5;XwhkM&#*)EWoLEp|?#e#JIHUJv3C2cYc6=Q22nin-R3@=pMsb3n=@48lp& z+e0nTX#l=Me{3u6;cKdmK=Z-B=t>qAp3XkVk=f*g+~!;nNqKM13&JT7%vK;7bR@ zlea6=If9f0cPAX%O=I9HF8s8{MN;XWZy%_GEM76Mc|0Ga9HAK3$a89DC;lbSa z$SfgJ5R^SArQY%ElPEH#a}pJ6Yd-|INe&mwr-y~aNmO8;CBGV|D;y-rw?H_Fij1*9 z*P-~91|Z2u=Ok(gUNq&yKs;`vtdIUUiR!f8veEmXowMn#@vY66eG*lP4H26(v@|ZPkO5s8I(j#(`j(-UMS%|Jf%|*J2oQWy^rS=1+L6DsU2YXTXBr3g}}^ zz=L|yK8gBfipBFD@ZUH*+>`uJPRnqdM4fUf4XZUs)F_F`x;PaojN z{RxlN3YiH#zI-|-QCp{5JZ}R3brU??6nfas z;y3OaZt?i>YMX}8xcNLN=wb2TBr5d^izgrWNlozZghLOD2PaWK*fVxD@ar5N2Pt{d zaZaLM!*C%B9|H102krW#Ycb~}>X8kKN9QDJD|XIQi=Kn4p9re$F3>rN z+HHsT+Ipq*4pyilc?fm7X1)t zM_jsn67^(}`o<*x3EERG-9CxhhL;)E>m$&A+H7MCI=a$EF*CewP1^dd<3Z19Asl<8IF^v|6s4nZTkw)-!Fy> z=On5vCPPLx>xQp%2p72l9|Pees%E@}><83X2N|R+BXJVd9a|5USpn1v2iaIzhT|ma z+BgeNXA!qu3>O+BaT3*vz7b#`$tQq%-9ZLf);@{)F#$J+TL5_$sPhhzndxC2)Zip) z2&{wcfRJ(6fu|z46M+T7N!0x-El_U&3LTIm&e~ttCs89Xce2cRfNuH|c<}zhK8f0M zgT;6=nEvW8lI1LAa1s@{(E^zIKJlSVF%659M_pe9N%n~b9{?g z!||==I*$Kh-pcW9<})1MZhp$~o#uZyzROI zA=(F^yn=$wM4^O5>7#ux6LSmlM~FfRi_$}jybgP4iJJgKp@isMRM9)BOFI+}`AApG7oecD???Fs_5&50y`$;oeqa*r8-GL$T6Zn&WO+oMk zKolv(6ELMAHMh7J!l+1uQZ>;7s4mFf@juCa?;4gJj#X$Ja7z)cB-wOQ--K)_LVJR| zPHvtJzU?7l(a*q6GICVt2^3dQCUR8fcx)pwAwWJ(q9_HO4kNu@h8F@cHjmI!%sU$m zZ_f$SqYKQ}fzqS5nAIF_HCNA|{5JD?j<=hC=Xi(t4#zvq?>WBKj6juo^e!`#gAnO2m=ni$qMCG|uh?8Q!>)7znEvMpo8}n6}cG z3CAJw(T3zmS|(z$q;aILn$q7Q`rE|L57I|O(l_Fmd})+JF)BG{gG3~4RAcZ9bTd2R zxD;&7Ajf4@Iz+Aw2WWycvRmVC-~iN%K$LKiB9iW_#Y~gN8z~A@+!TmSQznh{849%4 z0g+yk3?d@eV?f7LO5?rV%6^9lbPCmpnDVReNRX**kO`&o$oH>CNsTma9fc!P6ud}a zwsqudn4w~pO5-TxknPUea+I+7nbuk~~ILCaEhKTshGcEB<+rq~nst-tNpb3Mj~ zsIo@^D4&xHe9axheqG{8rL96J5!tURJx0|wW&8?aAgp3wzplpbMDI}KjSb1luWLQV zod=X(-%a!%h@Brne!bFToI<5ka>52#e!bCS(60>=$G>foWJhDAm0$1l80l+q6B3|k zv{F(cxDxj38$8B0-4v*MQy}*1n?1%0V-#qb1LEq)AeLX>=`o(umHn0xNMJW*`SmPM zD)mMvl`Fr#$74+1gAFbUju2R>&3=8%W1RMZ6-|H2mZO9zzka}Dyxl^vD!+ahzr!~| z6`ZpfgtNU96Mq{lL|kszPXqA*=mb6+>TzSu&yn%wV`Rk@h0!mZiw%-UapNQZm5yx# zRPQ+ezcP&Ap^Riq^8|3kO$_7#G6kd=Hd!?9+zymUffcZK4N8|glx81bOAt3D?9MQC zy1E0DJwy#atcc)BXBv;f7F^FgAl>gUEAlMk!_^k~Wsv@5lV!9kqTF~0^CgS;4)p&x zm}Y~VYATGp3JVj5hNL2>#?fzvhzL4PjazEG+#9dRD3HBCAM9XMU5vTh7&za;%mBT@ z!6-Q&-T*mQ8`Ps@HMtt}tu{s-Cy!b-1DLf&+NGf11lrv;T~gJe@`@zTcSQDSi46Qe zJ_GuTgkh^qN`;Pb*Bh%~wRBSTq(c&+J~UmA8y@)w%8=-pL@P!?lSw3% z3g3+8_%ife3sfO8zZ(q?O$9A_p$8muq24VDZbP=|aUtSB)8pB@<7!tn4Ha=z3m3>7hU8vI&^2`c|)Dyay_spfZ zyZJoDiL=b5=m0&j)O-ORp(mD`1JFD@ake>;<2mMhj^~=IIj%6T=XjoZ56AP(XE?4j zKj(OX83K>c6Bn839M_m5IIcD4alFLb!tqk`ZjP6mPjP&i`98;2nxApJ!u*5dHD**L z$y;l-<9MApfa4A3M2d6?tv=KY8Z&cwm0`YIWq>+dmijZfbwo727W z$k(u$*N@>|$WGi5!@STI2>At=WDlf74E;F)eU0o$_6sFq4E-qyeXmTX=}xgfE)BZy zO6>C*uuIB{n6(|ju~T-Uzu1!S+!AD7!jfNzJ6{f(cvX#&bd0TkBaQpe-=xDa0(}FG zMC6t0LHb1+zhdqsU0!xbG4x)euahlkw-rNwG(z7Z+tIDenAg*gxmC8I7Q{JsD_iFs zz_-w(&gSn!t*cT=-I53|z2m@;)GImwg1WAll$XGByZ1-{l-@CILD8EPdXVWGwFzdJ z1y7%X!np_@%1BB{!l{c@N!^v~2xb}(_53=;B)0*w+vXAxbOj)3s4-eY`$)pwcpM}0 zTnH5r^jpM9BaLPSsw(*+NUuBO&60jgIBBeryVRne1?@YBo>DxRZ<>lwa)Zp#tMIrA z?%#SUe4obT>R}j@(GyUUGbZm^j$Wb$bqB2vf`@X>n4F4{%j8KQmDpr;kH#L8wHW<8 zCYRcDdrZ=&g@SpQ9oaYOgSg|H^tIpd%||y2aUHNvAjl)6&6`NMzDaUIiP*GnPRUX1 zK2+ecOUnL`t~@Wu8NFe3N!ej&IU; z8pk)O1?-#rwI%au)SuZO10?fX47M$@cv6mNp5}?2K#w~hIQqdlRGfTo;1^_kw`Su$ z<=->uN~n(pck%<7G`4;8i?+!RW{#Qz;VFl3+=xO^(7PL0BmQm#Vn;xOm~rUM2aJS! zh!*__xMhng0!1LPs1_??X;8GdV;>${jmM&~OoBEPK_0IKOWa?pD;s5_&|#e z!zh=@#{>IF5bO7NkbX~O5{J_7$;@%Kek`Vi(FtqmX77{pl-!3QfxktNhLW(*W-K6` zy}rW=@=+6zlaWHSdeST4+GDOnT_Y_iw8}{;;fENrEFV_J+|hHGCa#fH=+{`EH0g`Y zR`s`l{IdUqSUgf8K@U4&s_#bcn(BMeX;XbKI%BHuMD?cnPV||1>=MF%Zu0jc{#x^v zmXeNNl|#$7Ko)=DQJ;C{{Sz}zN^4V({>4Xua`XZTRqd%yLozYDYk7iE=$! zR75E4R-&(jugKKyfvbRMxy_H^(5rbzP+R^3&Y0R;rEi;pbiYLU;MTJ0Dx?b%2orZF zmW(z?i0F)KASNv*l>SVNj(9L;WQu)Oyv&Meg&g`77Dv(IZun%{jF_IC)o%wp4+Yfb zXTeSI+O(3WhZArUhDv{|v>u|(Iy5e=tohf~kN|Dk6m3C%PV=LQR{pcgke}E5$IVuL zIoh1IpgG-mWc+BXIBC_*w_pyZJbyk+>y<|fZ)hHL=Sd>1cOI?ZK3aCu^7GyY(MP+4 zv_5&Xfb%#{E6DpDYWb*F)B5Mh1u#M!w32DH;kS^Wb(=s~(*JWX@Nj3FyX$q;*ehY7 z*5^Iuw}o(;9hhrcU+_fnl;+VA3}j6$sTOYXKBgu4DMX${@K8<+V|s*U?0{BG_hAN! zLSVW)NuVAyUAFdXIj3mm*2bfUS|@A9K6p4GWluc%5zA+crir$7h?es&(dpxtZJB|D8aiz><1 zjQ27vAuj^(x(yPF-d!{DKxZLmLHpUJTS9IjQ{`*MnB`WxqF~Qt1a6n4l;}Y-c56fH z@jN$CjOY7Wl8yoJ&qk7FWBzGfs2MpOaD{{_co%?=Y>>O&#odm{k$!hZ z@K~#wk6Do2sK@vqH{zAYb)$Q+4SSM=c7mQ=5j>Q0-RLNKndvk}H-*AvStjJDlqDWh#Sx__4f$-e@5pM!SXXio%w^@S9C8MHTv&I&qi)USsS z{5Pe(2JKgy-pGx{VnSgdvmXbI^GT3?&q$c<)%TJ4$wKq-N!U6N9+ z8_na!*>03uX4Sg|pgqLGwqzE^jYebeatn?E@GyZ~xsDqh+-OO93xH1=NwVGOxf)B- zZvc4F>%o$2H`+Y__v%RTRsgiILCTHDIfC4Xw2Hnq2iVlIz*<0Ce$g3I{2ZR*Tk_OD zPfh(VW7bTaugXtCNNT0K4Dgvy^xw8CF)#eLV)y_l`c2H*qz&!e|0`|K(-tIU1Ph4hQQ@Y|f@)JytW8vlOLQ5|CP=7C3qv z5TVp%(d}157FK`yRUO&|oW$z@#Wz`T45neq(>uw~4JdSW1BXUK1`6JVZ1vh@?*_bR z)%R3-l-f!UXE(5A6EZ=&0lJ>Yd22U7Z`_=>b^}MTWN_Zv4cs?H*jz5N{}k^4Q4q(OUnj)plO-jETXNW!E#7 zGk)Q_VKI0Ly?wzGqSGr(D8KsraR}W}8M6}w*|gKS9`s(AgM=nxuE5?Vy^R)eEA!li zXEn8e_P6Yh$|*ziXHc+B8lPi?rWbkwg!z~-^gw0xh_=hf?j1p%=!vG7AapLTAW{AV zd}c`GLufjsSHA~mgrPLOLh?LMhxS%+A{AFjK3}FYd{rEEFb2EjSpFPLC;F~}vI{Cx z4{DrPMDIZ9MOrxZ3?2G&1!^@h#?656Wu9=_&e25xtIlI>Q9NFY$bkU57r>RP6K>-I z{5yTG#?7X?0?fko3FAEKOTS5rAQjFNjUQxq1qjhSQ^|9TOE7VUQrdVFTBYBh#L-oQ z#w@+FY60l2h0*;3Zf@fS?vOL%0jcza(bWXiu$oJ^qUdSKTJ~-WH&1_7hS608Nu4dC z{)3mf^d%8Ajn`2r>qsedAQ>ad91OtGC~`--(cl791yK)ykbYm%LU7PchsJaxmHa$R zwTrGmFhCeJsVKfhS*Ru6RMj8);1n4RwTA#~#8JN-Qrz^yt6*d>VO%{Fw8>gadZDG4 z;Gh>;<2#h4FOghCFUG3YsLQWM@rgJZC-j=!SlOufHK4!L>I~@g`g{>xCu3X@PHQK< zR=ac&RYRgz#A3n|Uo<4?8SMgmIVB@AoG+(jWQFr3l8mkazQmG|8z2W;M3*|!2dlr!L?K6UeoqzCeGkgh?GB3RE(gVQb3@PQ9^kt#89f4g_a&oefbYI!^a}9Z zmyG-X-#J0dcVH0Hy$(I2Z-DQ@WE2GWE=1BTXn^m+WDE=N z9hi&}0lov1F*3k+U@}GpZkhEY2Po}E92msLli!c^XNJobo#4^{jn^}yv^$aLJ`>x- z%;*?GbU&7YbWHRnbd2zJ8jVbZLDQG;o*juytalSQFegvIw3gXSyAnBH0&3{!Yeqst z>Dq_y90YdqCVqo-^n7f__GNYP(}#ZV^7cYxb+rUWq77NyLTI?@-q$h5XLaX{-+MFG ztE?WJ33#iPAk&jGk=}v5k?F;mSns}UWO{QZ!Mh9NCo7*b$=*3wNwfNJCdKO`SOI6! zy>0N0merp#8Qy=u;8_DW)6x4gW{Ippace5DGF~s`=OqVq_W;>(}^`07tOi{#P zWQKWjv7gPF8nzk&3cdd!(U->G0m>BbL3C%}F zyvOj&D(1fnKi7L03v<>?)~(XpGZC3tBk0wyTKMMf5TdieU1BUq`QVHQiHv>QMhq-b;xNYRM7i!i3Z$+8zHB3%w@Ks<;Y zNcOu*8@e&16sdUv*2?}!6&pWyMP|6<_2dr1I181eELu*^Y<#f?unftI8eKAKv_dJY z@gyeK>~yu@{F_kpfQXMs!~)nOyGV&hoN0^T6wUf}byUC6xj(RXh@FJs4zP%c9YEAH?)STiNDiP3W;}Wrv`LEb zWumcTFgHy_!q|wFJo`ok_@*g<4*t6WMws$E1i$262Z zkM|ICyUW!{M19l_q%};U3tz#cdJOjL$t;lWfCUTu@Bl~;vnR#PYQSYYF&3nOYGaU3 zG~PP7W}-5<)5nN*(Q97EE{2~n-U)p$8bYiobv_1D7yR)UV0G^oX~>wI!ITxF$zC1vT9+u!q|?u4e6$xTNgH1Ye2e8 z^5*ckL!%TrfV#!lNQf1ZH$-$VPjNFMDrY`u|6(QSs$P(iOgHut?_H92mUM^D<+Ucg zo`nGXP4d=~F84JCM1^8;%ih4M)1|+l8mN`RC>#a)AoU_aw*h%PV`ABWVvm}k=yIUj zWMy9C@ht%OB&$xh1}_raXAuCV0?>8BivTx~6Gtcj-7{1Gp1_o9KhpphsYWVYKx7>- zmw%Is@>*3+7ZR=V7H0}jej`WJYjj6Zsm)tqMLrx)DC!rwy69FZTI|90CHrZPh?{OS zx{bETPsS69xap#!+al583{8D^azxy8|FJ>cM7}+qP{d8wB7^Jx1^b!oS6fg-+;m$q zxNauD98VE((}6v?I5DkwU!W_&VNGbyeXj5v0Df~L+O+# z!2hl#!0-1VI$xEbt1AJWZn;FqnD`W$)74K`PQ2e5_|BmAm%_UqI_0SSrS9G0L#8ip z0{z}&SW0sSaVFrc!EBl{m@|>y$$OC*!kJj_dTc3khH@ssdkQ^}GmJCI-V%Y#aL%N7 zr%y*_1ZUE{{{6^|^wU>|4DYk;kr~CA_TDfkm@|em9lW#9fSf|kWO~2ph0Hk4boBa2 z>j|9c~PofPDxC;dI3mR#l4N<5S=dgWYdIu z7FqtJB1Qb_gZPerIQ# zEc02J;g@80BV|{hEJUaG6aETBdvR8oN|zvW$=+d;H2y!TiJ-LA60Utt@c_mwg|UAD4{1*V+5 zlS;-ZyI4{REhk$T<1PWBm-@Cux3bh~+y(%vzV__^_=(Lyx3$#vn|2Yx=#BkD-ZdUx zY<_dtY3vzGaab!q}Vxz^4lE7Y9HoG~yj< z#GBUu@qmZDkgkeZlFwsU<(*YVp_^l>c*;q*Y4^@NM2t9eSl&?8e7a1=%@@6UtwV8` z7Do5V)G&%VhrMs!wQToxZs}drce}Zi?wq-e6TM%-h{<~d{ZHj=ir&31M^Uy6qw8p@ znKTrIaUCXuyj-OyT~TvsY9RBnJY|>%sJq#aQD1LH`e7dL_Y;GXQx}5Lb;?q&QL)>P z@xB(AXFD-R{925;9$B0Y=yX*qpm*gbP0j(Gj;;fGe>_8U`lm(?8e==x6vz#Quy9@H0fGWiLdh8)hLoedrJ9 zbhHwptB)#_4p`~7m;#_Eo*_DY&kyLU`AIj40{ScbROR%YJ)qOsU5NfT*GT2rB$ED4 ziS-dVM5o`_3eo8g1qO8bb+3S4l0wfaeo}dV#sv5|aRkPZC(i6vi*uk~t8i7q)89CT zID#^sL7EOj6Hyi*Ka$Eg*B?b9;+7cXhxxa{ALw(EECapP!Hgm{y1Xu$KQRHok^a`O z%SO=mHN>zJ^sHD|EIgxQhLU9OD_g)Y#!pgpap@gcx^zzxEB23tsEZ1AbwE?7iuWL` zo+NTEa|tO!0Q&!GT=YAL5^M|*d*t6{x_FFa09)pP;v% z6o%Vro+9HyHNLXQ-Rm$K`7bwmiv7(|G~$J^u)qi}HE6_$tDuO8AQsOA?RE6lII?Um zaQzTGoKt=N7#U)sRuySkYzpY5Hbxn16dP-b|L@t5u^hA&HeEyRP|mR<56aD zCP9SmhD@1wglyL;?m!*gt7Wm4G^LcJe+Go z4XY%8>?)U|m`gK}=;mSo5w&TBz;u&84X{)o+sO$472Cj|i9+`9nVUd|AsKfiFsp5x zWyoG3i{NJVM8U9|0Xb&FE;3}_ke+=V2Avt+1o(`@;2N^$>@v)yUBfy;b6tcI_JEv( zIZjRsqrsFw!;Gg!m*=2-s0gKF8K8)Kd$$WUA1g`{{3Mj-{t%v{LWw<~(@cc7C_F=H zjtJ3d>cLkEOubXrpf`KB@`da@VZIGKiKK&Kn3Av)c~28s&^m_FH>36to$ia_)eI$kj7k%J z7ZmI0@{1yvRxpG?OoMQ8)y7?21J3eOD-id=)wTU(1k=1bG6b(@}6KLff?##PbV5 zKJYDrGx@JYAruy9j+pt{6u^0akH=fqjWMqV!T=ry{g_ z5ltYf$AN4K_rHh28c?eV5oRGY8{ym1(%&3~n?T)wKtJv7L7fEf+9-6U|2PWkfH=gc zKKY=NZl)~s)FRDZ^3f{%1$=ZE{ZMzx1CPT0*h?M&8y(QNK0qJ{-cJbffpYEg#`J)cg1ob$OpVw=QIS@2dW8S`9Lx#NeF1;pZY*o(CODA z*$3$N7l$JJxev?)bq2x72bLkRgfipsn4}?GWfh1595ZFF{>H}SX=**~Cy370$`bK*P51u)O&H-~4-MH6& zMwxSIKDD^G1~=+s`R;rc-KW=RWHh38j$?Z4Y0NM*M6?1tSZ+7Sg^X%krA~71O~=x| z4IM+kDK@Yt<|!zE`9!NmS=Zv?5`o|3Y0JO7lhuhTrs2%`wAk8(e}5p0ZaQoKaNsY= zH2Uo$@K)2W33aB6#mH1qrf&~mMeNWpd<6xAMpF%I$Q8#P!)!v6jYjSjR8IedmF5(U z1|XMbLD7-|xUF_Fncm|>EZv8vq3Fr7G1O{z9?m7+J62;GjCe3Y9-&1n{rA)HNNF@E zoH~~;#_I(B|7j`-U;Z>UO2~Af44Sf-G6VVhLTm(7qmiQ>2xb?tKcf5&DyJ#gQCY;& z|D2_ya$2y0%IUvG(p2Sn%`T^I4C*4ne^i0L|BRR>>^wq?{5qH& z|F)SXYfk{XM-~~@kd@%$TH{(B=&cd*2rY`}g+$)%>w}UM) z{CLn3u@uiD&k{Vx@p2(V-yR@^p&>-Zn$fom`4&O><;Zt(^QHTc55)>T!78g|VI*=q ziT7M3JeYDy-?U(J88+VIPr*OdhR-f{Mdi>xYK(^{QADqUa+~h}h!arwIm+aL?JI-K zI|K42ASm;0YftZmcOhR#W&9Sjtrxu}YGD5rWjD&XLhg$r86#0d|E8JEehm_$fXu!t zvKB-(`(-FxhQMa0|Hn)yHv26|+=wucSlH~(A@?K#oBbywzC&QM(;CEPPry__b7Hqg zKx*3TId6hQ{xz-#fG4o21Wx;27SSG)-uZ5l^a?FE`Hn)#-RNdoh2?=Kf^E`^>Oc_r z{Rq23z5%NE6c6@n@=AA5bRyQ)gjXm%@C?MC! z_JD}KcsNp1D;9##mS3|wk%XVeVef;O20%8@^1#)|`H6D{WL}Qo&q1aR3Ho;)-6{ce zT3ke5h~#qLejuh`WIZKF!ZlZ0-Jg$kJPW4B5mfgt?@puZSLDA(7+hIi1@^&Rz?NxX z%|cKk?lNn{4QqSH8r+P9Xl*VYa%I>;2=~8$!l?jHM({t1ObrrMl(`R?YmwN2FpyYU zy@QfFk)vOlXmuKycaeA-VbC|otRl!cB>s((uMoP?pK55j>-!!7Y30>6S#*2Mfnp@k z2Q@j@cPr?$P09dG9=HUOd7>dxV2=z9ZBxw6B2#1`pGIXo66W@$x2?^{uRxeZ|Kv$l z@M$k(L&yO6kzGNj9^NIZ`)kXTq3iKXIKl&~)JAB^)5SeIXHUFM;r451rs-kR2> zlt%ws7^DMH2|;MmE5cNVc~sl^$V$;CR}+FH`TwdeS%k>3lz8$PI0gp20qF#g)s1oT;uti!6TeAG6kyI5x$VIJN`5 z?JJ36^IeIBK@yAj8`>3D)(AP?lGu+v{FFl=jpBT6$tWnr?n`g92Vv@62!mPe;q6K7 zv&f%8XwT{o&!dr?Wn#ugm`NLwcS%k*)R80F`wLL80F-hBe^+GgLgENzXrpotiBA!V zX>Ue+9x|y`uX{Q`4gXS<_7C7Um=XLH$Sg#nf-=*PIgG@9%Fs^kX(S#+$T<%wzL9wJ z`5X`WUvKDU@AtB>wGKC+S=(7p`}IWYOHt7(AO|7H1D^%A{&&dx89}vvU@DooRTzHh z20^ucU?*xlKDvmJ2t)2{1{s4Q$^2!sJvu@%=|MkoaPwEFQM5^_0lFGN^f`)0=S{3+ zux|b0pxPgR(+^aDYUX-evX=I@23aWj(Z{AVlwwCra||%G$Z_YTp!2q%f(-~t{k|Qj z^Nu2a7lKm1FMG;c$iId#ZWUzoWL<1KK_x5}{pjP@7Kp|YV^#EFa7Dj?`6mQbQLi+% zQ#f|!2&$r9xnz?;$QK}tBZY@FRS|uS`vIb70-y#~(uSZGRe-si1dt-*l>mt=CF5i^ z7IFIKmjSrwjRy~2vO>_JO0o`S;P1X6rtVHgkO$Tx=O?~xkh~e8Zz0MTqd-j_qR$lM z8@#uZpbNS1K*ZEJJy_6($g!ZK5ONnnnf*e@Uj~4|C&(6W5Q;twyb8q22C@&{0Py!9rwOUE%kY6Sr45yLqFQ#9!nhD2;E=;8I&c+oe&YNL5>F%ee?Z2Jz}r1S z8Ih9#RuAIn+Ho4OY{R1`5Zw_(pB{iLV6*b}2IIxDF7}Hu2Qvhp(4E9Jt#lxrAK>Cp(GwGlV=s3obTh3-JqbWP4RS zX3{9k6KH+>mA;NW3!pnf-VhlWlZ2|5K=t^`jWOqj;cpSAAictOL@wxwDFZ#-@x{*g z+bamYt7K%y+tE@Az2_ox9==PV_ZVbe0waaqB{I=i-rk;ORrv6j95X+$EJgx@Wgo?6Pcs1-Z692!#=lVTFBS+E4E)3!}q zXI2#5lN)4)eu?=oX@bMV+Nf$18y31&PD)4H`bRSy1TWfk(JV&x~xVi720G8%Y7Ubu!y#h zU1G+`2M3rFx^0rb|SqHA0RJ9D?S})TBI2pYo zDUzR96>j@7W|=IgQ59YmL-iFT>>a>9nMM7pdbhJ9*HNB2JzL7*JOH}DHAT)Q_-Pa* z;j@EfFla#r%eCbbQy#fGwsb(tD2&PO!JUA~HQ33>n|p%p7@x*duT%_+&PenQwzTTe ze9~DN#rDiTsv@ehuS${@{gm@IXmEk!@X(t;{Rdd1ZGcmg)&5cD=!6zQGr&MoPQ=h1 zWTN?$z&ow0wADF7f(HOTnkJ(e)Sh9E@SsjBwWgNgYWTE7$BoE94<>_Qq|+M~gKGOI zM-D6LcKv8o6B%<%gU$yI+nE??5Av#TYIR{__w!B$tSH#B4a_!9S@pUBiDcvP@s2nW zHlbJ0See)pV@352(Iz!i*q%}G(w8fSf<7g9$k2>}S3=8%>{x2VUJ_$D_NBoiu?73( zG*tu5N4bfvL8dpXxN&FB$Q4!LLu1I)#f~j_fWi`__{@f-7`E7Y1`kKP*#&pD2g9S( zc0&?S<_K^{IF*+NkA;4$F}_lTS&lNNAvHg-5*C@84Nn`+%2qUN7Fnz`af>v|AbDO- zXSTqTHCPN;W4Ak;8C|E*vR>b$vz>L2HVIq!_0t5V{Dn#rCw~Gt&ZXv zg}4kdoau!+>T+I+k+{Od>~v)?8C#wx*(N*&Yf$s>iSbb~5<`83wJiDZ<)Al=OkW&m z1;f6Bqt)yP0*^xG0yNK$y=P0UUw{*8WbP+NY zqW1*xkmK!jt7>A-rq9IWy~+&N!{%CeW2@hQmQii{ElFeu@;`efp=0_iXF{`G`e36n zIu0avp!VPu0tV-~1^drBI}NwJkvhV4L$wjS38LK9OwGA_)Y^PAcBg9pM=pCry3;yL zVgIBcAw?lY*heEd0Z;qK2R@O4U?K2+(*U7&L;)3QqEM3QPnn*B6Mnb z6RmHuSZf-s`)qW>4q-i0@U%LFURi??|F1(}kpHV4LZ?Y*5YQnM(dma2Q=oFB3p1#6M|i_<6N;*T(RR^u~UMT z9M?$JIjEPxRTfc1P>)y^ur<-dqM1P)bTqXaA;|pdyh;^Lbd4w^VNWo25?xHD(5Pn> z#*$YD`csUV;KC=^0;$_vffHRsaFwju5tdO%r(de}20gqRf{rL3porYNL0i=6)GCFb zh!`3n2BB!CLQquOG-5s%7g0nAa*)RTIEA)f2yjS>67ZcLE=3WYzBJ`h#Ic+?iYVg4 z2{DNxo1>{Z=mMG)<0w*fObM>T^$3kmspt}FgW;?h1{2<8F%u~wjO6QB+(9m5P!D^- zCLKnWNUXoGlnFW{C@D@K`<&_<3|uLW=MU>%ASW@mvjJYCkHUeLiP9afe}%yleh!d;e}AP@IC3N+}2 zeGalgFFc0g6H1odo*-FdAs6AaxPf3BgZ4tvNwJ8?NJzQ@8>|O5gH`RTsQm|}0r4g? zuhVlu%7B0$Qb$!a(XHywHKR)2Wa));LU&#zi8FyKYG4emfRCQeAW4fVqR+U#>MIXZ z;v9k+*OdAJ0Vs+PTLj7k|2%~Zu}V=CETQNyN%&n6D6%Cqo&eNYn36EgmH@N3?Bjyj zT~8#L^z$x45c}uI{&(!GKe4OfDqsRuit{^=}P)F7(hn(0KciH{&qzFD5$Lcn1tA@Q8bxxb9rn+Eiz7J{>>pcB<8sp0k6_aikpBOp z{{PeVG}gz~qjC8O==C|mIRxrZ`-jTkwZa+1jp?@mdlbRmZrOa4KTmSdX|##5f2JXA z?>lH~VE?Q_`Ut{p2(;YWKZLmt;X#B)5FSII*^t&XdzUhZXGg{HBIvZ%(rTz?O;!FT zFdrbCL7-PE`{#4y>1~bPxPr^qVq?A$!QRc=TX~z0UI+Fe96+FV0@}~hMn3rGfAY^+ z_%!AbUqTa){5?EONc?~oL1txjuBa-lTvAppIxksVV`n;-W@dKo(Ro%y?c%1&%a_-x z;>wCyo#&L6b}p$|(5bSbYRU3WbE=ke61hlQ;vhn*{`%FBuuR@=R^1bvJ?bb8G0o(3hsD%jG=x=6$F zwmP_BrHtNbcICp7S`bw)0@!KR;_{N3(z(H9NUP2%sUb_E^OwPl#l(jJUR=Cj*5cZd zTC`RbG|Cni4;emcup*)Bmz3596}TksMWB>}5UO^8Vp1KVNVOFU$VLDa7tgLx?AHsL;dvET$?=I(_d+xdS zX&se|m&X$=t%+!DOPk(Z;;gT2PBhwclWRH}8nyOMHDWPbWEQ=MT)t1dI(E$q4=v0K z51$v#D-0z{U7Tojc^2`)w0?q*4EX zTs$cBe%`#&d2%>U)1;Xi`ubS8Wq71!Lb&hz@W>MRBF`=nF1ODm?) zuYX~v{Dkm4`PIUDK}eoQlCx{!fbhH#;l2yPy-ULLO2WG=EDiV8M8BXv6poT>`-FFi zgo{Uo`-Eyr!#zsEyM=a>yOx-e|Y=QGWmUf`4;XU z))L#PG%W9x=wG-)c=u6ZDUa}gzTq7r;hhTgWJqozuZPe)4eg#6?k|V(=FbZ+&<8G( zS`}JOWDDfNehuLTBf|X_%43BJ%NnG_`-gjt3imDx_bZX&SXmnGGpaPyPh-6++)GYs ziX=fRa!k;Ud782E>w%#`l5Dv_Xvfm<_L|rB2_@z8x;%?K?Wn8|uB8zgn0J{zYjde& zfL7#iVW?N0W z^1qW`Ac>eR2x(0>wR@LB$z~~^qQlOd-ZYhaOKH@>aD3X4>wXc(3YyFSmmi+aq>V)4N;9CZ-XqjL&-_NN+tXgBvE&u*94?Uu z%@3`r50BI@rQu!{gnDR5TjGJ?A#%%5X<=xad6Jz)CE;FDZ_C2Hw2n)q2#*RclnVyW z3(qMG&H6-}L=OqiDbY%*|1S@RB(8$OQ439j7!bPmxccypB9u%8xZBM#lO+qo14e8{ zPW27%UKTcOH}rzYw$T!QUZ`$fcz6Ax#T1$=A}h3CUg4tfj+*+y(emt)khz89!aLZ< zY0!+9#1=_#?~-uQsPIt9!-e6Zk)`<}Ayf|bP+1`#SraAFDHNU>Jqkw`6o^F1D+q^v zeXKUs&^Ge3kkrgj@4SM-a1T8*U+-yT@htsi50S+AJvSp=MxqWbl%$pZ|4f>A4(8Rj ziTW26FY0K!C@4`Ude{N;s}tj+(b_d@B9TbBSNEG+(NLX;L_C_39I331>Hn4EYHQ-l z8=5OSoyL~t<;CVd)t98774@exF7YpK&OQ3bXi;hEqV)}J?TKhhePu<%N{!4nskNCY zt<{9qR#uK_Uma_$TwFaS>Zq>KvbwfCw}{5K#akO=weiZ8D;Lk#=p;FjvbNV;KeO_p~w zYd**8iZ$=eO}iA>xLCVhQ@OaJVe$NmhTM`iK3XjrP3zjqs@kggwJV)OQ)_*LXue&P z-Jk~#tWUAlR(bzeWtApzv3dA|V~rj0+>#p^9bFi0k0+wCZe@95MWv}cxmEND5>sPC zQ-cipFK2D@e+Cg1IyOhG#)N2urMtVwHTHe;u(JCee zhm6v6<&@7YO|7xEG`XDF8Ayi}iNueLnvp0Kqq;omsL{cUwMEEgG_71yqq!7I#JXwv zzS(R#kCs+z7x?iqO@&7SjFHvQ9#hO*+ZXH8jTQMEYg`@E@$8Wuu|~PSG2w{uqqads zMr#W_L@K&+iLN=#QlJ?WUmkCp+fX@HhU(J2=T=#?w@{mf+goJH24_XQVfhLX3VIJ` zomc6wH|)}|$C%2i;%?>Q>PR*<$eVWisMX_5(tOpFAc13w zzN1j!-qI%Rq*2U%Mq%qFyK>8|)>ch;faV%hB_>L8y&B99 zmBNh2FPFxjAsCG9PlWZ{x=P7JQF+%y<7--5n#HIbDKkP=26tU zRcZVsMV8JNX(9DTBz#=$hE8;*n30z_R`pk{H7>^j3fuR7()d@_$_++GMYWDL)x~UM zl8#KuBFz9D8J!lSMoT?j-B6cUp~C~!e@xdlx?EaHTf9Er7H_VNJB{t}_$p~cu~ySi zeT9^7B3&U|Yvs$9M^GLUE!xqZ!KpWik!L+hDp6pb1vL;GVNi|-{n{NFX*H2?VRLQF z2o~Sx3W}?BL1osVfOO7Up_3xgwfWm&b6rbEjf|q?0lI10^K+Iy8ErcFN`;P-J;sH}`dzE+R9hX=b%5H+ z(Q&Z@$kWVS6qTwTH)@t}^H{{`?f33%_Q@%#RRv}psJWntZs&;6BMPSP%IOo&{@SIrxr4{R>V-9mS8Rd zGFC070TiRi7^BU~{FsB}I;L(pv8I*|Yt;K;`UW%J2&(_SIp^2c)fz=G zmD+9xn6WkH7rE7=EG8#2K1?|xARZ>m)a;~5N%sWP&rB^g9fSX!eIGuveW}8#13_bi zaE|O~s9hxrn^*@`kCV}DZAY7`Uu&c7Yny7M@#I`Zytc4P)G6w}a3oh466=`HPYU2QC@8kJeKB3Vo!wUycnNMVSl23G$_ zR5j|HvwU28M~&Fs&3L+_xuZQ^SMG@Kjq5U?5pTKNi5QWp{gCl*h;^)qmW%T5tcy-J zww)DHv~7-=o-yiZsy+EVbh+AFTH9J$W6QNHtPaT^ zNr$9eQd5h_^~8z>GuH65{EV7iTWNZ4rdOzBnKQNSfGI#o1?Brh5h{of9TXzOkM}Wxl&6)qT{(8{>(1u}qHCHp*mFw#qN_uinXOX|u*ymt#Ya zre=rFI`MDSiJ*!(wo~V=D~XER8$2~Mbt!)>)6Y+ z;B{B;ePw@SblMcSHgp+_wY90ea-r;nBxY{1DUWQyE+tt3Q z{iU_&Ga#EFhei8d(b8e8vAGEdk7+T};xooOw-wZu{j;&$tL#;j+k7}=<*IBMBVD?0jBEHiM0}v* zZ8OU&s}87+CLLxfb!y*e>0AD^Viq!ObMw+DExF35!)Y=at0ak&OVSf31?;KOe&dcT z6R<%wBS<19g>*{43X00NCV1j83b;h#ZJQY?g^1devaCH?G-`b}>;#mKd0M(@PQEFj zEoDwBnXWzFHd#2;T7tzfO=c@hVXF6*X&8-C3mqdSB7co`7CBdG7%5Lp zOpE>2X!N4Xs=3gqm*I+ZYASryyrZ5@iE(3W5ARz|gGzNA1DCA*sp;nex+mY9bz`-S zK>C{6mPRv<_f*-8g08JhjXKPTBdBr(JrR(VD} z*1k2;x8jVAH?=0#N|s8UX>Vyjc5wDXC9+ejgHexVb6wgLqEztYDjp-bGkk_c8OM32*81+)Ihf9t zhC1t&)XkiEPzfh9!P`Y=Dd}Urx`f{u=rf&*Py|F&4A+}u< z23e6NR#-Cz6_G9eYO*3s{-qUF;4}DEfYe~rS*_Z%5mxFf9@R;?){gcS*d2|Jj_o2M zWk$-2FS+Vcs>6tYYmbSE*oe1gQNM$0xNmC4Gw&h8Qk@;N<|6xGnS-WrI5O#VO_DhY z8J@Mrn(NxNme^T+eID}|bq%Tps?&;9`7*i)cQ|1kZpJN+%M!!xCYFOLMHg4TiiU3F zNwui^W?olhiK&X^k=BNItt3PiavJ$&Z2Ji*Ei*#4&n~4PKKxBJj@L=q_BOI0!|iJP zJM*At7;D@;ZFibe%gB-m`jlhk0T~+_6((BWk?3fPM`bcZ1iwyyno+pPgzRQ+Y11B! zGim46;ijp0nWF;N)oil)lB54dByE5##ZZNJl_t~-Em)-?x$R?PjJP&N(U7G4MCUTA z5^_~W#=7q0N!#yc)a{6|8LApQ$2gbCU{?mGk%-5op;8m(4pu~v8~cGBsU#h?W$8zd5TBg8G$-NtJ>%M%@UI+#MBjbe?m^@mcLE)@{JQjrkUD_8DLGq>`2v zm&wD_eAHx}&mLJUv-$C<&We`CI%AuV4$?`@e0Gy*xk+84T(}d+s^J;`RcWwN@Ulit zb}evw>WJrix##=nl=djo){eElbu-}h&$6yV9hvpdoCTHsTvWV3_fTty9cK+F*?K(D z#*HpgE)q{wKPPdNoxZKsN7tfp<-O?O?cy0BnpvG}gCd%lEQje#IGydT$n<(}*-lfs zoS4VsTDQS)yvBNus;YUGQ}f*XQApDDOh&CbaK)@-HD7!4?&f2yiCpX`R!`O+rAcJ3 zG7*V*M!o9FV+KCH(#^jvs7sJr3dU))I#FJh&7!Qsft>QtJ5lVLz#z$H#jiV`=Oh1v zA`mw?GxaM5>GpW=Qv^jLJXt#-DrRM z6zSsHYExEk7(Y9nI6$_?Gc(=k#)K*>SbY;8lmo0VPnBv;v8W$`tP~MP*2=}*OfCB6 zWO6Bzu|pg8e9amW>WP**i+T&0D^(e39V%T*R&KT1<1p(Vfq#;d`>6yra^K&(76Iuv z7@4O0WbD!ek5a3Ot4PT;^=(b^{IXtL#wR7EjGS)EIA|-W5XVAo^sTP3t z6)kOvV(*$PBgZ@~zN?kR>+3H0;knj--atLS)107<4|t~|ot$f| zk=vtY+B~N!o1Dg0C&?AYP!}~`1eyn8$c}1e8_RFI(`eioax7z<+N4<|O+30MVa_tk z?U#-IDQT>25=*?c2e&2oW`}P*%t45$Lz~nWcW|cP)zrEf265k1c-ETL#l+=D>!Mj& zlPMRy{+Z*v6AAuJI7kF$GaKaWYbU*zEW0xOt#3I5C1&%BLSkW+nqA@KhINUPT66s^ z9aNKKh^ih2vb{udE7X>nl`_jIf-TV^4iksfHA*Y1uWyw3M+s?->0*r5den^% zq0D9I9-~ycw1SnTJrS8U)4o~y{xRdRuGS%wmzv>FPv9_L*kZ?2&fnop#sUl5DGQFHnx3X0dY5i`O#*&4U zq0h()zjZjH$9re(n-ekFPq$4zw9u$|+|^<= zHlDb4K+@ix;iMvUrCy!ioa!ZuE2l4vPG1t8Q8|0=0V3n~*rbzZ}cxY)}Mzv?_Mw>8_(WzJ7bPVP@OX_Ei)nIC%Lj9tyCHVn_~ zs@bku_ehd$0Mqt3&^hR;Tuqx|^^;}Ly7!^>Y^=bsJ)E=$PxBQKk+GUcmJa)St@zfP z%F3p>(i&#T+AVz(H zuujvyW$s_gUCX1j#8^9caGCqYm9f=A_tGTC&egb`8o{1h4RTwyU5M0;#LGR6GVsaN za>S2CcW`wY+U*uF%Ufm3eaWXSFSlG;!2~<&u;n+yqAyjXo7pDcs*yCq+kuQR=&aI? z+S9G0>}TxFWft}~I_yznHnPFpZ_A$}Z9B5m&bOj@bjIwf4gv+I@6#pagJ)l#sFbnY z+ExqLQ^|Y{Kr*;U?~ngK51p+9$Sntwvs=cG(%4|Pym+LV*$%>1G~EzM#zanT12wk_n=yj!rU-poz8Ds^Vi?bagRS(A-K)da^7Pqb9Tq0N zkHwI|$VrAz6>|@m9h?I}wa;vPB67-%rlb-!$7TNw@80KL#U!cfj`NxseOr0ZeK)`J zl2|b8;Xh*Z9od#k z<}dy{sZDoMI~wSQ>tgkmk)xxgcqcmB9ihshW^17`yU*A=`j}LF>rNMkFJ% zS+Fd#xn|S*+)|b9RO)*CZu!$~emhMXjn&6XyKI?=YZYUvai6o3F)}M+mTcfuyXC1d z`#z=ir12?!-@JCU3(Znbmy|JgXIhj9WZj}U)BNFCYt_9yXiL{HxfURw#|o;|?)07a zv9gE{o!2(fl&w(wGeMezD_6WdK)Tz3%}=X91YA`vrXN{3ByZD_Rq~>AB{x0v=H}GQ z-7!S#H+ztI97lXBOiyp_k`KU@ktJ!>_E-n`L#&&16^-D?C<`E-g ze+rr4F16k(a~ElG*xeCR9th@bA)cVS&)A45wo-LB>6E*C_xQ%wiVh_iE4^^W^ow;J zR#S#|dw!=gIboV>=DHfKs4u=NsLU&3>^knLt_8nQH&AG3uag%Owx)YWryJ6ebt2Qb z)4wkGwlDTA+VZ)BVl&|EzG3+^s_YHQY_(Ix%M;keBdj_xF}Z+yu5A5V zwIu4k6hcn9Q!*^R3@U>l;pKW?n2E1dGB#?GNkM&GiOH(&go`*7iWoMrndGCk5N>pcf0#g!{5g9{$Hs~4kjb4yZ!6r24FRjuNdF)b&nk>50{ zsJ&U{S(5RUp_sZ1OYh-iBDe8WdbPZ;4lZ=YxwSP8)QrlL0_8c|qt<$Py`lkK5M%KG) zl6{W>(rL>x${kf&llA{h3SbhH_&mj&W#&LPZRon;gz@`G?VhWZ*Hl||&2XoaeIGTj zU5XlLeK@yj?P*ubm%CCwp#Kj_mkh*Aj@eq8X})qR^I};-ul$>1HYWG4&RJ$8 z3rycr>H5%Tca2e*osxD^3Dh7V6<+rI7mLG@?cz8Xm<-=y-fW|aHGSE+WZx|Jy-nAq z;BE2QYlSt5i*R&Zq}+YtQ;XO4&2`&}bT2t|WnOJ|HQBn&Ju*}(Y|-+`VVIFz zt-<}FB=y5DB7}^lJqsK&g=sYDxNuFL?lu?p>%XGz(5{>O8b+U<<_$p74_o&K|SX-0%zjnnG`Pw;dgkHD2xMb1j z;u6swr_`FLOX{oU&MYpeZ*D0``aI`4%bn##6)F8BhnAZqKC|voawzE;mSri7Hjh*l z3tG%tpLH>-xQ*gNo=Qg8HYjbh;=v?R720q7oXXpT?#V0pGHJf>A z#5t8^E_GM@>vepow`3k&WSR}<@;Z52ofoRtm$8t@n-%4y55^7OK2~=1RXn>hwO8F+ zF8ONV^o=TY{Km@glpxIZQWepP<=>XSOUAe2Bn>jjVU{NW8H$G7x$6eKxe3YSZQXa) zH_2AtW*ad7_umdC7YevTBV#5^PTr*qZg$5n zGew!Uxn=SSpP3o+3(jSUw!7IGwgxvoEwx_nQyHgpSjT==5yaH9Yfz^R#g}ioS9Cjvy*Z4T5(tFUgqZLRxChv-_v4^y*Z5sJ@bj$ zjieiaL?-dl1J`gR7HskRN{GrVYjvCAZKbth)A7C#+YI$wcTs(HMYJ4A-c14V?kKbC zx^&yt3D|5br@!}aC;o-78S7|$f1LC%m3OkU0sfXtkaUM4sex6sW|KO*ys+B5zf_*h zzfaH?o25ql@^f5-vkuDba49IOfSmqt z%ak$pmhOp3gEH@sF=i7jTN#D1gxbGF1!cFV7t<-GoQo}K2(fW^nm{&dLXOVPW&xcP zgn7YA(vc@aSxDOyW}Mea*FT4R#fGlsG3E-%@YH0RsH6JcqL#!8yXU#*X|qgDSS_^M z>4~7K>6<=J@mX8MN;6etTn)u~(%m{d-*`<6ayJ9BQYwes^RaLwg9v_zMK&8z8?*Gr!NV`#GL!zoYyhHSNMCQ6i0iH}CXWNuKk=5yf`ra@Pq)e7i(cn~LVtC*q>Hxo3iBw9PJ^T_?12kgDS0 zVFaIMf|(t(J_8xjUe*Mxwpl4JSZ#BC3UeH%8*{9f;gWB&$XV)kRY*2x13}*!ls4hS zt4mRuvuKj#@grrrQ3~Js!+V-$Hj$s3+1qOQ;)T5BV^l57&GkFeYjYjpxGtUkBUWSf z_I2)a{rW_@`L?it60<_u75+IzB2B<&UdXY#u4ElZ*wqjezvl(o?w&*bBGdP2vdmMY ziTn%;i;Nyw_Myqo)|seXiQ}@>h)jxZ?UKB-R|jUjrS@N2whe_!p4>Ilpa`w|WqS0W$MG$*@uHX*Z}+NN z&$g?saPtcLiyU{zfA+KK90 z!yL1rk$oXb&iS0}#kyufGnokMF`0{U#emAT4`W)EEhjB=xAA7UzI4}sedUuR&PQpp z>8($0ji1Y-r``#fsa8$)n?kU*{@mnQ(u`r6%ethihTRoYmTn~nOJ-8mR4!AlTFSCT zr}rg_zHPxbD_t?6lF)Uu^M4NCXfkGYZDdZhF|6y7r+{(@YNk@qvQp6&s>I=+u%JlH z0>G^P*1;ZfL2)MaD%U$*N~zPhmdKlo7L3lgx8>=~L25yxMF8uX4kkTak_Q znoUusuWjG|F+IBoOeiOFrMDyw9A-EM`v<+Z{r{ZP*easEpVgN$lyM;%f3Z53%l zlq~i?^G3NWo0`ay4t+tI&Ozc|ATM|eswDw6Pvx&WNmHp#m~+Matfq><2sf*AH@AO~ zbwRqKR@?&BP2MvgOm6Y%W1aDREVmD}uT_x#MV_&-qp8_(z28;q69=Ny4tw5JM6zLT zcN0B9&o8Exv^=#+k8d>!ipslmQ~SU*x@?er_@&Mp9o6n@VXC~l1Gr2kwyB$g@%>Ns zr#V#+ks;C&k}@Q{>3AkkGuH^_^tdU_S@O&nq1$z0v{`p0&gQDyjgxLr&UTU9sW+I) z3uR=B(VVNlw02zljgWFH%H9A`WE`(8eIPW~~yx7*%?<&gR4xdEQ<6Xg4x-aXgn zpP83DULnVd8wySeoh(;X^q!WV=+%3`jBQhS6mpz06JL6I z5^}s)j%ViGd2)QX=X(9Ee(sjz7n=JOt?#j+@TBm`1*e2gH7T2;_bi&R?Nal_9p_#7UeUXFea{U&PAWV(d`iKoq0{77`HfFL{@A0BJp9muy&Y$IsazC`iwmuj zr_UE2=M)z9%-bffSAM^O0eJ)Sb_xy3+c|G=eo@}8`FltrGCtlT1 zIfWVF9?rnDBL$9@vzDR#6qxfBZm>&yJu`maGvoJKlTx3M(<|fpUgr8#{5Jee@+Sq( zkmPs$($D@r`Or4K(>!5)9<5jQW6uwg`r?N5yw)E#tj{}5%GV9+`3g_iX99a91M7Rrb%J=#7_Qg& zVj1U8AiTg_-^=-xgpZK#8kffZIOip3jy)yeR{5?iQ_p{%asC?#ukoDU%acVK=ST@3 zFVytu?-ysB|B-|rlyj3ge?rFjM>4|y)Ue!h4%hccwmqBPfg1LlA1`6I-_ZNlXN1p} zu-lL5`IjW@_7@uNUm)@E(dU^VVQuea@?Fm#nGwER!ft<|=kL$>{bL#D-;=Q0kLdON zr0u)?hlW$Kz&_v7q-?O^nv8IRgx$VGe}7fR`DX}go!eb%+J}U-e0LXlv29Y;*!Uxa zcaifuh`d-#SnH_PuXYI+%XeFU`#3+7u%2_z-@^5B$kZp@^SX;W+OU{2tj;N2Ftbem zi|Bvl`rl|(xO`RFim}$t=zBq$Ye?EvX&xkITLqTM%wDi)#`FczMYCpAS1ySznLcAd zrB0A6IXFETX}>o+Y6V0e$&$>p2v|aHcIFR!VCxv0nHcYC^sZ^~o~_81l(Y-Vx=U*+ zPvyO`akCM=|D&hg8mq4f=~9?!nUFRxF-!5fT<=Y3Dr$8V7k7xDj7y7KF7zGr_^R+- zy=A(2O`?CM$Q(k0>=4!7utw%D>N@2;`CN1{OeUVT`OHGR-_!Xfts7gz%_dSr>%P5?5xlY+T(4Kw^j0* z?(Va~Ud{$A=0!C=CBlW-8d_RHQ|%})qRo4)c=C;ZIx!~JTXy^K&!%qQE0*?CZ+T>W z@92{1H1U|0olE8hoKvxC+$3c@(;3kh%GEZCTc_E;LX3s=Em}7-Vo%?k&0LUvi!2wU zr!Q@_LAD6Ig2tRrPp3|LwKsH4s_Fzq6Ra+?^F$dZNO zJLXH`Bx{}gd5#(7=1XMTX}Co78cQ9mXjrnu$seKmk#MBrlykfi9tb7N&GnMShVp2J zt6&>k4L88k;05q1cpbbI-Upw6FTr=<`|t}`kZ14T7ZyRah3Io>eNt+DQZ9h14{Nv% zw!(GrM0hT|9^MM?gHOPh;6LHV@LSkh>aX5!Fw`-GhRfkpI1e5SYhW`x3Z4Ydg_ptK zz}w*c@JaYGd>eiOzk@qTyV7(GgAu6X0X;q+Ho|tO`n{gN5?%xEh0npi!~Z~SF#5ag z;b2$-$G`=!8m@wE@Kks<{59MJ?}AUmm*B_n3)olWfu?6CSPI9&gW)pR3RlCk;05p& zco%#T{u_Prs4(a`Ofhw0YJQ*&7ad>)ZEXC#U<6Kt zao7aUgO|X2;KT3(_$lny%f>$#PKFh*9yY_X;f3&4_y_nh{0ICV_Sn|mXBZp_=fVSF zGwg(C!VBPS@Ok(j_%#ek2ch+C2pkT};2c;5SHM6y}f^5 zI2@M2Ij{<@fUWRMcmcc#-VXl+pMmee|AX6!{aK%X02~g>;2d}mTn3MVC&RPgE${{S zU-%6iAUcoUuLzETli?D$6ei#?@FI8xyazrE--PeMo}zf@{rbWZI2JC2b?_v3CcGZr z0-uAg!LMMxC>W+5!J%*(oCD*q37!Wpf%m|N;hXS1xV@NT^*#e(Ih+JzumPS7&w@9@ zJK;a!2XKIxcTM@gsc;r-f*tVZ@K^A9_yl|oegeOOMFZ@8hQSGN8e9%r;N|dI_$+)C zhD5Q`bZ-mC!~J1BY=#%ZE8%1Cukc$K7IU`78-WvH95%s=;1%!*_#FHO7VKo>8wJP1 z8n_bv6#fkU9^MaMfp5aEq3Zma-XU-(+z-x#D`6Wv4_*TAfe*uX;YYBaDA0PJ!Eid9 z3s=E*cs{%o-U}ar|AC*uK{8g+_>18TI1e_$1pEd36?_Oj0Y8MF!<}VPN#oxg&Vg01 z4ITwAfmgwY;gj%F_$}N`1~?l3-f%8F5Vpgk;f3&W_z3(9bat`v^@MxE61W5|g{Q!C z;KlGdcq_agJ_lcg-@*c!j?w4X6OM+9U=*%`Yv5_{=kO|cJG=)z4_||y!f#-Inao6PtUT_Yqf~(B3nKZ0Mt!F$^H_kjDu*{}{a!c*Zn@J4tWd@wegq0Meq=~7XAeO3SJMNhA+c!V8J-@1(w1pcqlv$o(!*pH^XP(EAU$w z9&h8{1MUkCgg=6(!E@nF@OJn*d>i(gVB;MEhrx=8_W0p&4Lld#03U|0!}s9lFf_@= z(+f_5vtc!i!g}~~cscwn+ywsuUxVYP*!xt%g)jz>f)~M?;hpe#_&WR;ehGJ+YUAG( z?gwYWBj5_S0iFRbhrffrhfl!g;HU6ASh&Bv@6K>2>@&?C-v#aoC&I<>NO&qd2i^#8 zgO9<#!vDa}VE^g%ena2{I1Mg?akvJa2G508!{5Ru;Pdcx_%Zw%_LyPsKLG9l_kopg z0gS?WxE3A{e-1B$x4}Qam*L;xcQ8EDrehDd51a)T!j$6T9^0Z`}2wZ4pnQ(zT56t046;0Aau zyaZkWuYvc#KfxE^oA5*UCG0WJre`4B1D3+Ea1LAy4~MJZYIq_%3tj{-hj+sV;NRfe zu*ZCxo^9bkI20z}>F^%-C-^k{H~bj(Ucht0a=1U71#4j|JQl8pSHK(Lt?&i-7JLtG zv(VnRFB}gmU=>^nSHJ{Z2XBUVz(2vK;oI;7_!;~b79L>Ju|3=o?gICMC2$;^4Xa@k zu7a!KiSTTA4crLtflt8a;0N$i*l&?dXE7WOr@;f@!LS*2!ZYCo@D_L%d$@ML&CycFIF z{{WwZufeZi{$hLo!Eg__Kb#HgU>iIN{v7@i-VGmwe~15qh1K?cz2RPP6r2j@!$V*# zY=K9^4e(re8T<{r4c-s`3}1r(gdf9i;WkTbI{U+7xHsG%&VsdYB|I6P2Y&(YfDgf^ z;Y;u{7&^$_zZV<{C&Fp)a2SWD!+YVw@Fn;L{4e|(794Evw=En1hrnTQ1RMkRgB9=~ z7=ul4E!+UlftSHe@E-U8{1bc{z5?HZ-@`tK*z^yAqv1@r04|5?;KlGU_%8eih7Psy z?hMP|YYn_0R9Np!z1BO;LqSM;SKOk_y~Lkz6C#m-@;zYY<` zaqx6_5xfT80{;k~fG@*$;D2G>;Wk~p;Se|+j)gPeBDfSbz}4_Xcrm;kz6k#d`$p}3 zN5Z+V9v%x%gEzw$;D2H95jLL5uo`y2bK#BfFYqI{W6b`3JgkN-@N9TJd>H;6egk)^ zvGG*FWpE{24cEhS;AQZ7cn5q4J`Mi~zlK9NWJP}?DH^N8YzhJLbHvT=~e7Fjp4sV1H!B^qC@O#*=(Z)9%&V&cUW_TXF9Nq?> zhOfgu%{IOva5x+V7r<)R0gr*#z)kQW_!xW}{u_o`?EQMffp9#W3J-%Zcsl$U{3Cn} zJ^`PHFT;Pq&*3($_Wpg~Kv)Ea!f9|etb?oIaquK~ExZZ72>%H`frUrf`|k*c!ZJ7o z&Vz@*I+%bP;Q8=McoV!EJ_etMZ^G~4PHi?lyTVCuI$Q;1w`wy!y98bbZ-;lmm*FSy zGuXe~{(dkV52wN-;Bt5(JPmGwcfl{=;Dn8LC0q^H!?WQf@LJfT!~U)uPKLAL!LSxK z!8PzacqzOd-lE*raUNFg<2aAQXE^?%a)hkc=lJ{ZQ_g?I`Cgs&_r2jxN{P2fDZek_ zcmz)3{QjI@#PMpll=CspH*x$(cns%%0?*<2`S3D$CA?lK>DdVX$ngi^6Y#I_W%xRL zM=8I5AAZa6yw!4C@~s!_4R?Y=V6jquAA#fGY|hVzOE~@`*ue27*vavu;ZHe!7QBSx zSHPP&ek;72<9}6({o*BMPkAoRe+0ke_;*Svzus$v@|^wP5T*RCSSjZt93Km(a(*V~ zt2urMJc9Fa&L7F~4tPB0H^B2bei6J9UITAZN_sZI2RZ&I{40D8z7GEZ-&4x(KZ1E{ zB`nVyhP`1wI0WtnhbiUvW8ow?pYx00p&VZZn>cva2Z?)e+I9I55QO8TksRu{}_9p5%4VdYj`hw z6h05Xf}vyW?{|Qsl=+S`mGCU3l-E4Ch~tM5J{;C^yi+N^KUyjE_otjc3tk8>fmg%p z;EhW8-R*?$f)Bz+;a`<<-OGeuhi@w7{@=mg>uh*eSPBn<4R9?y6JDy6^1fOr&wm}f zk>hs~{sX+9<4+L&D|`dK1wT+q`aV%g`ty&o@fX5Aus7d|#!+Hxth1 z_~A;4zXq;?Eij>!-=6_5QA#{lDdl(9!ryZI4#IcCKf|Zsb4vOByGn`o1Eu88x17)W ziH)}x>+%5&ZV@8I|Y zgdc%_=J*SQUx9CMyw3^tegl+}o?%LfcQ}l|v2ZG!0cR`acU6R!z-2H7S1RSYcEYRS zG0J?$`31aODc5aON;)>dKfwFok%a_C7t8`HnLb zR=`H3j^h2<@ws+3GgKNQ>EPZ0>T%=UnwP? zYnAdGn>c<4ybnGEpM+1tSCsPmH5>G2U9H{KE?5mpmUOqZ-7#MHX!tD>UoCCEl@w=P2d33t%-o1g?b5umi4z zr@=Gf)$lra3%niP1Mi2=!DX0A3Gof_Ff( zFMy=?0m6^K7vZb$1Nbp45ZR;kt0(LO`@>RL4kyAXumaA3i(oZe24ipqY=o!5GvWF0 zB6vBx3f=%W!r#Mt;6v~+_!|5>{0x2t^R}Tr!$GhJntcrTL(*TNg%t?*9x0DJ^K37>}V!;j$S@M{foZI;?~XlzWPOiSR*iDaTs~x5K00I=BIz3V#WI1+RxU!H3{u@M-uw z{2P1|eht5eh1=Wb?ge*)L*c%#6pn=x;UZWK4}*upHrNS&3eSQUz>DEVxC!0`?}g97 zm*5-lE%+7u4u*SEpW$wBDBKs8!U|~i+mLp!h;TJ*fK4y~*T6I3x$q)*DclG*!MotS z@G1B#dZ~%0FUqpB~90|+d7&rk=hSOjLtb$A6p>QcY0@lG+XvT?>*foTYfu|^? z&7Tg>hUdWx;U(}|cmv!BH^DpL-SCg_LHHDW7QP5yg>S&O;JfgB_yzn1W{yvL>bOsy zXFE6un*GS+croE&(2QH9oX2QbH~~(EbD-I;OwLykUINYjWpaEe;T5nEw!#EF9NrUE70qhG0 zz(LTAv*r76!n!xJ{;mv;fzx0GoC6oYD!2ri@wj|9<8k2%jyJ+qn1IK__3#v>w1d;( z*-EJw=fN)vY&zZX(@~6LdZXum4=1U9An_PILViC$>*FZog~T3Np$yPP-eNaAy}Jmq`=<=U6< z0KyXpPbPc>;X1-=2p>cEY{KUezLxL}giU>u`?>YaDQ#cdl!(;`6K$3&+;461#?nN5 zO~NTPuaPUQX>WH*-Gil>dzgAR&@`K-Zsw)B{cvepi{3)w%-HzTv#qF!&RnHQXlv1n z(>DQ4yVyi%lk53W@=o%MkD#tp;dCTKi5ck@8G$5jC>y;f7%|(V)7Y5jydl*1+_*FyqOzL! z#B60g7kc8-19~t0jF3OQzPsx*A58kR?a4>utFT|q|8Dv;k4*ZwZb4I?(LpqQdLO+` z8I?b8e6LD;3*?ylapU{39Pq|hC-D`_F^x||STeqoyzdM0-P~8GpE(kr%1Za+#`mTiF!$xe zdbv*Pg8Ol=`kX)ti)HU2l(i9=6>>@=dh#u z7#@A9dsXV(_j1U4-(k&p&PP-1ebv_Q-nUOie8-;aIKS6|;N#wF_l)btUn=F>$Gs|b z-(BQ7?|lb|z|}E>KJSk5=iaw0Bfb-FuO#&=*wd=LI1&%FOa<13OsH+?bU zDQQ6^s-1t<6d#@XLZ=Um8_oSS2zy3c~a^sx< literal 0 HcmV?d00001 diff --git a/lib/framebuffer-internal.h b/lib/framebuffer-internal.h new file mode 100644 index 0000000..2a5e3ef --- /dev/null +++ b/lib/framebuffer-internal.h @@ -0,0 +1,175 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see +#ifndef RPI_RGBMATRIX_FRAMEBUFFER_INTERNAL_H +#define RPI_RGBMATRIX_FRAMEBUFFER_INTERNAL_H + +#include +#include + +#include "hardware-mapping.h" + +namespace rgb_matrix { +class GPIO; +class PinPulser; +namespace internal { +class RowAddressSetter; + +// An opaque type used within the framebuffer that can be used +// to copy between PixelMappers. +struct PixelDesignator { + PixelDesignator() : gpio_word(-1), r_bit(0), g_bit(0), b_bit(0), mask(~0u){} + long gpio_word; + gpio_bits_t r_bit; + gpio_bits_t g_bit; + gpio_bits_t b_bit; + gpio_bits_t mask; +}; + +class PixelDesignatorMap { +public: + PixelDesignatorMap(int width, int height, const PixelDesignator &fill_bits); + ~PixelDesignatorMap(); + + // Get a writable version of the PixelDesignator. Outside Framebuffer used + // by the RGBMatrix to re-assign mappings to new PixelDesignatorMappers. + PixelDesignator *get(int x, int y); + + inline int width() const { return width_; } + inline int height() const { return height_; } + + // All bits that set red/green/blue pixels; used for Fill(). + const PixelDesignator &GetFillColorBits() { return fill_bits_; } + +private: + const int width_; + const int height_; + const PixelDesignator fill_bits_; // Precalculated for fill. + PixelDesignator *const buffer_; +}; + +// Internal representation of the frame-buffer that as well can +// write itself to GPIO. +// Our internal memory layout mimicks as much as possible what needs to be +// written out. +class Framebuffer { +public: + // Maximum usable bitplanes. + // + // 11 bits seems to be a sweet spot in which we still get somewhat useful + // refresh rate and have good color richness. This is the default setting + // However, in low-light situations, we want to be able to scale down + // brightness more, having more bits at the bottom. + // TODO(hzeller): make the default 15 bit or so, but slide the use of + // timing to lower bits if fewer bits requested to not affect the overall + // refresh in that case. + // This needs to be balanced to not create too agressive timing however. + // To be explored in a separete commit. + // + // For now, if someone needs very low level of light, change this to + // say 13 and recompile. Run with --led-pwm-bits=13. Also, consider + // --led-pwm-dither-bits=2 to have the refresh rate not suffer too much. + static constexpr int kBitPlanes = 11; + static constexpr int kDefaultBitPlanes = 11; + + Framebuffer(int rows, int columns, int parallel, + int scan_mode, + const char* led_sequence, bool inverse_color, + PixelDesignatorMap **mapper); + ~Framebuffer(); + + // Initialize GPIO bits for output. Only call once. + static void InitHardwareMapping(const char *named_hardware); + static void InitGPIO(GPIO *io, int rows, int parallel, + bool allow_hardware_pulsing, + int pwm_lsb_nanoseconds, + int dither_bits, + int row_address_type); + static void InitializePanels(GPIO *io, const char *panel_type, int columns); + + // Set PWM bits used for output. Default is 11, but if you only deal with + // simple comic-colors, 1 might be sufficient. Lower require less CPU. + // Returns boolean to signify if value was within range. + bool SetPWMBits(uint8_t value); + uint8_t pwmbits() { return pwm_bits_; } + + // Map brightness of output linearly to input with CIE1931 profile. + void set_luminance_correct(bool on) { do_luminance_correct_ = on; } + bool luminance_correct() const { return do_luminance_correct_; } + + // Set brightness in percent; range=1..100 + // This will only affect newly set pixels. + void SetBrightness(uint8_t b) { + brightness_ = (b <= 100 ? (b != 0 ? b : 1) : 100); + } + uint8_t brightness() { return brightness_; } + + void DumpToMatrix(GPIO *io, int pwm_bits_to_show); + + void Serialize(const char **data, size_t *len) const; + bool Deserialize(const char *data, size_t len); + void CopyFrom(const Framebuffer *other); + + // Canvas-inspired methods, but we're not implementing this interface to not + // have an unnecessary vtable. + int width() const; + int height() const; + void SetPixel(int x, int y, uint8_t red, uint8_t green, uint8_t blue); + void Clear(); + void Fill(uint8_t red, uint8_t green, uint8_t blue); + +private: + static const struct HardwareMapping *hardware_mapping_; + static RowAddressSetter *row_setter_; + + // This returns the gpio-bit for given color (one of 'R', 'G', 'B'). This is + // returning the right value in case "led_sequence" is _not_ "RGB" + static gpio_bits_t GetGpioFromLedSequence(char col, const char *led_sequence, + gpio_bits_t default_r, + gpio_bits_t default_g, + gpio_bits_t default_b); + + void InitDefaultDesignator(int x, int y, const char *led_sequence, + PixelDesignator *designator); + inline void MapColors(uint8_t r, uint8_t g, uint8_t b, + uint16_t *red, uint16_t *green, uint16_t *blue); + const int rows_; // Number of rows. 16 or 32. + const int parallel_; // Parallel rows of chains. 1 or 2. + const int height_; // rows * parallel + const int columns_; // Number of columns. Number of chained boards * 32. + + const int scan_mode_; + const bool inverse_color_; + + uint8_t pwm_bits_; // PWM bits to display. + bool do_luminance_correct_; + uint8_t brightness_; + + const int double_rows_; + const size_t buffer_size_; + + // The frame-buffer is organized in bitplanes. + // Highest level (slowest to cycle through) are double rows. + // For each double-row, we store pwm-bits columns of a bitplane. + // Each bitplane-column is pre-filled IoBits, of which the colors are set. + // Of course, that means that we store unrelated bits in the frame-buffer, + // but it allows easy access in the critical section. + gpio_bits_t *bitplane_buffer_; + inline gpio_bits_t *ValueAt(int double_row, int column, int bit); + + PixelDesignatorMap **shared_mapper_; // Storage in RGBMatrix. +}; +} // namespace internal +} // namespace rgb_matrix +#endif // RPI_RGBMATRIX_FRAMEBUFFER_INTERNAL_H diff --git a/lib/framebuffer.cc b/lib/framebuffer.cc new file mode 100644 index 0000000..ab73e62 --- /dev/null +++ b/lib/framebuffer.cc @@ -0,0 +1,878 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +// The framebuffer is the workhorse: it represents the frame in some internal +// format that is friendly to be dumped to the matrix quickly. Provides methods +// to manipulate the content. + +#include "framebuffer-internal.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "gpio.h" + +namespace rgb_matrix { +namespace internal { +// We need one global instance of a timing correct pulser. There are different +// implementations depending on the context. +static PinPulser *sOutputEnablePulser = NULL; + +#ifdef ONLY_SINGLE_SUB_PANEL +# define SUB_PANELS_ 1 +#else +# define SUB_PANELS_ 2 +#endif + +PixelDesignator *PixelDesignatorMap::get(int x, int y) { + if (x < 0 || y < 0 || x >= width_ || y >= height_) + return NULL; + return buffer_ + (y*width_) + x; +} + +PixelDesignatorMap::PixelDesignatorMap(int width, int height, + const PixelDesignator &fill_bits) + : width_(width), height_(height), fill_bits_(fill_bits), + buffer_(new PixelDesignator[width * height]) { +} + +PixelDesignatorMap::~PixelDesignatorMap() { + delete [] buffer_; +} + +// Different panel types use different techniques to set the row address. +// We abstract that away with different implementations of RowAddressSetter +class RowAddressSetter { +public: + virtual ~RowAddressSetter() {} + virtual gpio_bits_t need_bits() const = 0; + virtual void SetRowAddress(GPIO *io, int row) = 0; +}; + +namespace { + +// The default DirectRowAddressSetter just sets the address in parallel +// output lines ABCDE with A the LSB and E the MSB. +class DirectRowAddressSetter : public RowAddressSetter { +public: + DirectRowAddressSetter(int double_rows, const HardwareMapping &h) + : row_mask_(0), last_row_(-1) { + assert(double_rows <= 32); // need to resize row_lookup_ + if (double_rows > 16) row_mask_ |= h.e; + if (double_rows > 8) row_mask_ |= h.d; + if (double_rows > 4) row_mask_ |= h.c; + if (double_rows > 2) row_mask_ |= h.b; + row_mask_ |= h.a; + for (int i = 0; i < double_rows; ++i) { + // To avoid the bit-fiddle in the critical path, utilize + // a lookup-table for all possible rows. + gpio_bits_t row_address = (i & 0x01) ? h.a : 0; + row_address |= (i & 0x02) ? h.b : 0; + row_address |= (i & 0x04) ? h.c : 0; + row_address |= (i & 0x08) ? h.d : 0; + row_address |= (i & 0x10) ? h.e : 0; + row_lookup_[i] = row_address; + } + } + + virtual gpio_bits_t need_bits() const { return row_mask_; } + + virtual void SetRowAddress(GPIO *io, int row) { + if (row == last_row_) return; + io->WriteMaskedBits(row_lookup_[row], row_mask_); + last_row_ = row; + } + +private: + gpio_bits_t row_mask_; + gpio_bits_t row_lookup_[32]; + int last_row_; +}; + +// The SM5266RowAddressSetter (ABC Shifter + DE direct) sets bits ABC using +// a 8 bit shifter and DE directly. The panel this works with has 8 SM5266 +// shifters (4 for the top 32 rows and 4 for the bottom 32 rows). +// DE is used to select the active shifter +// (rows 1-8/33-40, 9-16/41-48, 17-24/49-56, 25-32/57-64). +// Rows are enabled by shifting in 8 bits (high bit first) with a high bit +// enabling that row. This allows up to 8 rows per group to be active at the +// same time (if they have the same content), but that isn't implemented here. +// BK, DIN and DCK are the designations on the SM5266P datasheet. +// BK = Enable Input, DIN = Serial In, DCK = Clock +class SM5266RowAddressSetter : public RowAddressSetter { +public: + SM5266RowAddressSetter(int double_rows, const HardwareMapping &h) + : row_mask_(h.a | h.b | h.c), + last_row_(-1), + bk_(h.c), + din_(h.b), + dck_(h.a) { + assert(double_rows <= 32); // designed for up to 1/32 panel + if (double_rows > 8) row_mask_ |= h.d; + if (double_rows > 16) row_mask_ |= h.e; + for (int i = 0; i < double_rows; ++i) { + gpio_bits_t row_address = 0; + row_address |= (i & 0x08) ? h.d : 0; + row_address |= (i & 0x10) ? h.e : 0; + row_lookup_[i] = row_address; + } + } + + virtual gpio_bits_t need_bits() const { return row_mask_; } + + virtual void SetRowAddress(GPIO *io, int row) { + if (row == last_row_) return; + io->SetBits(bk_); // Enable serial input for the shifter + for (int r = 7; r >= 0; r--) { + if (row % 8 == r) { + io->SetBits(din_); + } else { + io->ClearBits(din_); + } + io->SetBits(dck_); + io->SetBits(dck_); // Longer clock time; tested with Pi3 + io->ClearBits(dck_); + } + io->ClearBits(bk_); // Disable serial input to keep unwanted bits out of the shifters + last_row_ = row; + // Set bits D and E to enable the proper shifter to display the selected + // row. + io->WriteMaskedBits(row_lookup_[row], row_mask_); + } + +private: + gpio_bits_t row_mask_; + int last_row_; + const gpio_bits_t bk_; + const gpio_bits_t din_; + const gpio_bits_t dck_; + gpio_bits_t row_lookup_[32]; +}; + +class ShiftRegisterRowAddressSetter : public RowAddressSetter { +public: + ShiftRegisterRowAddressSetter(int double_rows, const HardwareMapping &h) + : double_rows_(double_rows), + row_mask_(h.a | h.b), clock_(h.a), data_(h.b), + last_row_(-1) { + } + virtual gpio_bits_t need_bits() const { return row_mask_; } + + virtual void SetRowAddress(GPIO *io, int row) { + if (row == last_row_) return; + for (int activate = 0; activate < double_rows_; ++activate) { + io->ClearBits(clock_); + if (activate == double_rows_ - 1 - row) { + io->ClearBits(data_); + } else { + io->SetBits(data_); + } + io->SetBits(clock_); + } + io->ClearBits(clock_); + io->SetBits(clock_); + last_row_ = row; + } + +private: + const int double_rows_; + const gpio_bits_t row_mask_; + const gpio_bits_t clock_; + const gpio_bits_t data_; + int last_row_; +}; + +// Issue #823 +// An shift register row address setter that does not use B but C for the +// data. Clock is inverted. +class ABCShiftRegisterRowAddressSetter : public RowAddressSetter { +public: + ABCShiftRegisterRowAddressSetter(int double_rows, const HardwareMapping &h) + : double_rows_(double_rows), + row_mask_(h.a | h.c), + clock_(h.a), + data_(h.c), + last_row_(-1) { + } + virtual gpio_bits_t need_bits() const { return row_mask_; } + + virtual void SetRowAddress(GPIO *io, int row) { + for (int activate = 0; activate < double_rows_; ++activate) { + io->ClearBits(clock_); + if (activate == double_rows_ - 1 - row) { + io->SetBits(data_); + } else { + io->ClearBits(data_); + } + io->SetBits(clock_); + } + io->SetBits(clock_); + io->ClearBits(clock_); + last_row_ = row; + } + +private: + const int double_rows_; + const gpio_bits_t row_mask_; + const gpio_bits_t clock_; + const gpio_bits_t data_; + int last_row_; +}; + +// The DirectABCDRowAddressSetter sets the address by one of +// row pin ABCD for 32Ñ…16 matrix 1:4 multiplexing. The matrix has +// 4 addressable rows. Row is selected by a low level on the +// corresponding row address pin. Other row address pins must be in high level. +// +// Row addr| 0 | 1 | 2 | 3 +// --------+---+---+---+--- +// Line A | 0 | 1 | 1 | 1 +// Line B | 1 | 0 | 1 | 1 +// Line C | 1 | 1 | 0 | 1 +// Line D | 1 | 1 | 1 | 0 +class DirectABCDLineRowAddressSetter : public RowAddressSetter { +public: + DirectABCDLineRowAddressSetter(int double_rows, const HardwareMapping &h) + : last_row_(-1) { + row_mask_ = h.a | h.b | h.c | h.d; + + row_lines_[0] = /*h.a |*/ h.b | h.c | h.d; + row_lines_[1] = h.a /*| h.b*/ | h.c | h.d; + row_lines_[2] = h.a | h.b /*| h.c */| h.d; + row_lines_[3] = h.a | h.b | h.c /*| h.d*/; + } + + virtual gpio_bits_t need_bits() const { return row_mask_; } + + virtual void SetRowAddress(GPIO *io, int row) { + if (row == last_row_) return; + + gpio_bits_t row_address = row_lines_[row % 4]; + + io->WriteMaskedBits(row_address, row_mask_); + last_row_ = row; + } + +private: + gpio_bits_t row_lines_[4]; + gpio_bits_t row_mask_; + int last_row_; +}; + +} + +const struct HardwareMapping *Framebuffer::hardware_mapping_ = NULL; +RowAddressSetter *Framebuffer::row_setter_ = NULL; + +Framebuffer::Framebuffer(int rows, int columns, int parallel, + int scan_mode, + const char *led_sequence, bool inverse_color, + PixelDesignatorMap **mapper) + : rows_(rows), + parallel_(parallel), + height_(rows * parallel), + columns_(columns), + scan_mode_(scan_mode), + inverse_color_(inverse_color), + pwm_bits_(kBitPlanes), do_luminance_correct_(true), brightness_(100), + double_rows_(rows / SUB_PANELS_), + buffer_size_(double_rows_ * columns_ * kBitPlanes * sizeof(gpio_bits_t)), + shared_mapper_(mapper) { + assert(hardware_mapping_ != NULL); // Called InitHardwareMapping() ? + assert(shared_mapper_ != NULL); // Storage should be provided by RGBMatrix. + assert(rows_ >=4 && rows_ <= 64 && rows_ % 2 == 0); + if (parallel > hardware_mapping_->max_parallel_chains) { + fprintf(stderr, "The %s GPIO mapping only supports %d parallel chain%s, " + "but %d was requested.\n", hardware_mapping_->name, + hardware_mapping_->max_parallel_chains, + hardware_mapping_->max_parallel_chains > 1 ? "s" : "", parallel); + abort(); + } + assert(parallel >= 1 && parallel <= 6); + + bitplane_buffer_ = new gpio_bits_t[double_rows_ * columns_ * kBitPlanes]; + + // If we're the first Framebuffer created, the shared PixelMapper is + // still NULL, so create one. + // The first PixelMapper represents the physical layout of a standard matrix + // with the specific knowledge of the framebuffer, setting up PixelDesignators + // in a way that they are useful for this Framebuffer. + // + // Newly created PixelMappers then can just re-arrange PixelDesignators + // from the parent PixelMapper opaquely without having to know the details. + if (*shared_mapper_ == NULL) { + // Gather all the bits for given color for fast Fill()s and use the right + // bits according to the led sequence + const struct HardwareMapping &h = *hardware_mapping_; + gpio_bits_t r = h.p0_r1 | h.p0_r2 | h.p1_r1 | h.p1_r2 | h.p2_r1 | h.p2_r2 | h.p3_r1 | h.p3_r2 | h.p4_r1 | h.p4_r2 | h.p5_r1 | h.p5_r2; + gpio_bits_t g = h.p0_g1 | h.p0_g2 | h.p1_g1 | h.p1_g2 | h.p2_g1 | h.p2_g2 | h.p3_g1 | h.p3_g2 | h.p4_g1 | h.p4_g2 | h.p5_g1 | h.p5_g2; + gpio_bits_t b = h.p0_b1 | h.p0_b2 | h.p1_b1 | h.p1_b2 | h.p2_b1 | h.p2_b2 | h.p3_b1 | h.p3_b2 | h.p4_b1 | h.p4_b2 | h.p5_b1 | h.p5_b2; + PixelDesignator fill_bits; + fill_bits.r_bit = GetGpioFromLedSequence('R', led_sequence, r, g, b); + fill_bits.g_bit = GetGpioFromLedSequence('G', led_sequence, r, g, b); + fill_bits.b_bit = GetGpioFromLedSequence('B', led_sequence, r, g, b); + + *shared_mapper_ = new PixelDesignatorMap(columns_, height_, fill_bits); + for (int y = 0; y < height_; ++y) { + for (int x = 0; x < columns_; ++x) { + InitDefaultDesignator(x, y, led_sequence, (*shared_mapper_)->get(x, y)); + } + } + } + + Clear(); +} + +Framebuffer::~Framebuffer() { + delete [] bitplane_buffer_; +} + +// TODO: this should also be parsed from some special formatted string, e.g. +// {addr={22,23,24,25,15},oe=18,clk=17,strobe=4, p0={11,27,7,8,9,10},...} +/* static */ void Framebuffer::InitHardwareMapping(const char *named_hardware) { + if (named_hardware == NULL || *named_hardware == '\0') { + named_hardware = "regular"; + } + + struct HardwareMapping *mapping = NULL; + for (HardwareMapping *it = matrix_hardware_mappings; it->name; ++it) { + if (strcasecmp(it->name, named_hardware) == 0) { + mapping = it; + break; + } + } + + if (!mapping) { + fprintf(stderr, "There is no hardware mapping named '%s'.\nAvailable: ", + named_hardware); + for (HardwareMapping *it = matrix_hardware_mappings; it->name; ++it) { + if (it != matrix_hardware_mappings) fprintf(stderr, ", "); + fprintf(stderr, "'%s'", it->name); + } + fprintf(stderr, "\n"); + abort(); + } + + if (mapping->max_parallel_chains == 0) { + // Auto determine. + struct HardwareMapping *h = mapping; + if ((h->p0_r1 | h->p0_g1 | h->p0_g1 | h->p0_r2 | h->p0_g2 | h->p0_g2) > 0) + ++mapping->max_parallel_chains; + if ((h->p1_r1 | h->p1_g1 | h->p1_g1 | h->p1_r2 | h->p1_g2 | h->p1_g2) > 0) + ++mapping->max_parallel_chains; + if ((h->p2_r1 | h->p2_g1 | h->p2_g1 | h->p2_r2 | h->p2_g2 | h->p2_g2) > 0) + ++mapping->max_parallel_chains; + if ((h->p3_r1 | h->p3_g1 | h->p3_g1 | h->p3_r2 | h->p3_g2 | h->p3_g2) > 0) + ++mapping->max_parallel_chains; + if ((h->p4_r1 | h->p4_g1 | h->p4_g1 | h->p4_r2 | h->p4_g2 | h->p4_g2) > 0) + ++mapping->max_parallel_chains; + if ((h->p5_r1 | h->p5_g1 | h->p5_g1 | h->p5_r2 | h->p5_g2 | h->p5_g2) > 0) + ++mapping->max_parallel_chains; + } + hardware_mapping_ = mapping; +} + +/* static */ void Framebuffer::InitGPIO(GPIO *io, int rows, int parallel, + bool allow_hardware_pulsing, + int pwm_lsb_nanoseconds, + int dither_bits, + int row_address_type) { + if (sOutputEnablePulser != NULL) + return; // already initialized. + + const struct HardwareMapping &h = *hardware_mapping_; + // Tell GPIO about all bits we intend to use. + gpio_bits_t all_used_bits = 0; + + all_used_bits |= h.output_enable | h.clock | h.strobe; + + all_used_bits |= h.p0_r1 | h.p0_g1 | h.p0_b1 | h.p0_r2 | h.p0_g2 | h.p0_b2; + if (parallel >= 2) { + all_used_bits |= h.p1_r1 | h.p1_g1 | h.p1_b1 | h.p1_r2 | h.p1_g2 | h.p1_b2; + } + if (parallel >= 3) { + all_used_bits |= h.p2_r1 | h.p2_g1 | h.p2_b1 | h.p2_r2 | h.p2_g2 | h.p2_b2; + } + if (parallel >= 4) { + all_used_bits |= h.p3_r1 | h.p3_g1 | h.p3_b1 | h.p3_r2 | h.p3_g2 | h.p3_b2; + } + if (parallel >= 5) { + all_used_bits |= h.p4_r1 | h.p4_g1 | h.p4_b1 | h.p4_r2 | h.p4_g2 | h.p4_b2; + } + if (parallel >= 6) { + all_used_bits |= h.p5_r1 | h.p5_g1 | h.p5_b1 | h.p5_r2 | h.p5_g2 | h.p5_b2; + } + + const int double_rows = rows / SUB_PANELS_; + switch (row_address_type) { + case 0: + row_setter_ = new DirectRowAddressSetter(double_rows, h); + break; + case 1: + row_setter_ = new ShiftRegisterRowAddressSetter(double_rows, h); + break; + case 2: + row_setter_ = new DirectABCDLineRowAddressSetter(double_rows, h); + break; + case 3: + row_setter_ = new ABCShiftRegisterRowAddressSetter(double_rows, h); + break; + case 4: + row_setter_ = new SM5266RowAddressSetter(double_rows, h); + break; + default: + assert(0); // unexpected type. + } + + all_used_bits |= row_setter_->need_bits(); + + // Adafruit HAT identified by the same prefix. + const bool is_some_adafruit_hat = (0 == strncmp(h.name, "adafruit-hat", + strlen("adafruit-hat"))); + // Initialize outputs, make sure that all of these are supported bits. + const gpio_bits_t result = io->InitOutputs(all_used_bits, + is_some_adafruit_hat); + assert(result == all_used_bits); // Impl: all bits declared in gpio.cc ? + + std::vector bitplane_timings; + uint32_t timing_ns = pwm_lsb_nanoseconds; + for (int b = 0; b < kBitPlanes; ++b) { + bitplane_timings.push_back(timing_ns); + if (b >= dither_bits) timing_ns *= 2; + } + sOutputEnablePulser = PinPulser::Create(io, h.output_enable, + allow_hardware_pulsing, + bitplane_timings); +} + +// NOTE: first version for panel initialization sequence, need to refine +// until it is more clear how different panel types are initialized to be +// able to abstract this more. + +static void InitFM6126(GPIO *io, const struct HardwareMapping &h, int columns) { + const gpio_bits_t bits_on + = h.p0_r1 | h.p0_g1 | h.p0_b1 | h.p0_r2 | h.p0_g2 | h.p0_b2 + | h.p1_r1 | h.p1_g1 | h.p1_b1 | h.p1_r2 | h.p1_g2 | h.p1_b2 + | h.p2_r1 | h.p2_g1 | h.p2_b1 | h.p2_r2 | h.p2_g2 | h.p2_b2 + | h.p3_r1 | h.p3_g1 | h.p3_b1 | h.p3_r2 | h.p3_g2 | h.p3_b2 + | h.p4_r1 | h.p4_g1 | h.p4_b1 | h.p4_r2 | h.p4_g2 | h.p4_b2 + | h.p5_r1 | h.p5_g1 | h.p5_b1 | h.p5_r2 | h.p5_g2 | h.p5_b2 + | h.a; // Address bit 'A' is always on. + const gpio_bits_t bits_off = h.a; + const gpio_bits_t mask = bits_on | h.strobe; + + // Init bits. TODO: customize, as we can do things such as brightness here, + // which would allow more higher quality output. + static const char* init_b12 = "0111111111111111"; // full bright + static const char* init_b13 = "0000000001000000"; // panel on. + + io->ClearBits(h.clock | h.strobe); + + for (int i = 0; i < columns; ++i) { + gpio_bits_t value = init_b12[i % 16] == '0' ? bits_off : bits_on; + if (i > columns - 12) value |= h.strobe; + io->WriteMaskedBits(value, mask); + io->SetBits(h.clock); + io->ClearBits(h.clock); + } + io->ClearBits(h.strobe); + + for (int i = 0; i < columns; ++i) { + gpio_bits_t value = init_b13[i % 16] == '0' ? bits_off : bits_on; + if (i > columns - 13) value |= h.strobe; + io->WriteMaskedBits(value, mask); + io->SetBits(h.clock); + io->ClearBits(h.clock); + } + io->ClearBits(h.strobe); +} + +// The FM6217 is very similar to the FM6216. +// FM6217 adds Register 3 to allow for automatic bad pixel supression. +static void InitFM6127(GPIO *io, const struct HardwareMapping &h, int columns) { + const gpio_bits_t bits_r_on= h.p0_r1 | h.p0_r2; + const gpio_bits_t bits_g_on= h.p0_g1 | h.p0_g2; + const gpio_bits_t bits_b_on= h.p0_b1 | h.p0_b2; + const gpio_bits_t bits_on= bits_r_on | bits_g_on | bits_b_on; + const gpio_bits_t bits_off = 0; + + const gpio_bits_t mask = bits_on | h.strobe; + + static const char* init_b12 = "1111111111001110"; // register 1 + static const char* init_b13 = "1110000001100010"; // register 2. + static const char* init_b11 = "0101111100000000"; // register 3. + io->ClearBits(h.clock | h.strobe); + for (int i = 0; i < columns; ++i) { + gpio_bits_t value = init_b12[i % 16] == '0' ? bits_off : bits_on; + if (i > columns - 12) value |= h.strobe; + io->WriteMaskedBits(value, mask); + io->SetBits(h.clock); + io->ClearBits(h.clock); + } + io->ClearBits(h.strobe); + + for (int i = 0; i < columns; ++i) { + gpio_bits_t value = init_b13[i % 16] == '0' ? bits_off : bits_on; + if (i > columns - 13) value |= h.strobe; + io->WriteMaskedBits(value, mask); + io->SetBits(h.clock); + io->ClearBits(h.clock); + } + io->ClearBits(h.strobe); + + for (int i = 0; i < columns; ++i) { + gpio_bits_t value = init_b11[i % 16] == '0' ? bits_off : bits_on; + if (i > columns - 11) value |= h.strobe; + io->WriteMaskedBits(value, mask); + io->SetBits(h.clock); + io->ClearBits(h.clock); + } + io->ClearBits(h.strobe); +} + +/*static*/ void Framebuffer::InitializePanels(GPIO *io, + const char *panel_type, + int columns) { + if (!panel_type || panel_type[0] == '\0') return; + if (strncasecmp(panel_type, "fm6126", 6) == 0) { + InitFM6126(io, *hardware_mapping_, columns); + } + else if (strncasecmp(panel_type, "fm6127", 6) == 0) { + InitFM6127(io, *hardware_mapping_, columns); + } + // else if (strncasecmp(...)) // more init types + else { + fprintf(stderr, "Unknown panel type '%s'; typo ?\n", panel_type); + } +} + +bool Framebuffer::SetPWMBits(uint8_t value) { + if (value < 1 || value > kBitPlanes) + return false; + pwm_bits_ = value; + return true; +} + +inline gpio_bits_t *Framebuffer::ValueAt(int double_row, int column, int bit) { + return &bitplane_buffer_[ double_row * (columns_ * kBitPlanes) + + bit * columns_ + + column ]; +} + +void Framebuffer::Clear() { + if (inverse_color_) { + Fill(0, 0, 0); + } else { + // Cheaper. + memset(bitplane_buffer_, 0, + sizeof(*bitplane_buffer_) * double_rows_ * columns_ * kBitPlanes); + } +} + +// Do CIE1931 luminance correction and scale to output bitplanes +static uint16_t luminance_cie1931(uint8_t c, uint8_t brightness) { + float out_factor = ((1 << internal::Framebuffer::kBitPlanes) - 1); + float v = (float) c * brightness / 255.0; + return roundf(out_factor * ((v <= 8) ? v / 902.3 : pow((v + 16) / 116.0, 3))); +} + +struct ColorLookup { + uint16_t color[256]; +}; +static ColorLookup *CreateLuminanceCIE1931LookupTable() { + ColorLookup *for_brightness = new ColorLookup[100]; + for (int c = 0; c < 256; ++c) + for (int b = 0; b < 100; ++b) + for_brightness[b].color[c] = luminance_cie1931(c, b + 1); + + return for_brightness; +} + +static inline uint16_t CIEMapColor(uint8_t brightness, uint8_t c) { + static ColorLookup *luminance_lookup = CreateLuminanceCIE1931LookupTable(); + return luminance_lookup[brightness - 1].color[c]; +} + +// Non luminance correction. TODO: consider getting rid of this. +static inline uint16_t DirectMapColor(uint8_t brightness, uint8_t c) { + // simple scale down the color value + c = c * brightness / 100; + + // shift to be left aligned with top-most bits. + constexpr int shift = internal::Framebuffer::kBitPlanes - 8; + return (shift > 0) ? (c << shift) : (c >> -shift); +} + +inline void Framebuffer::MapColors( + uint8_t r, uint8_t g, uint8_t b, + uint16_t *red, uint16_t *green, uint16_t *blue) { + + if (do_luminance_correct_) { + *red = CIEMapColor(brightness_, r); + *green = CIEMapColor(brightness_, g); + *blue = CIEMapColor(brightness_, b); + } else { + *red = DirectMapColor(brightness_, r); + *green = DirectMapColor(brightness_, g); + *blue = DirectMapColor(brightness_, b); + } + + if (inverse_color_) { + *red = ~(*red); + *green = ~(*green); + *blue = ~(*blue); + } +} + +void Framebuffer::Fill(uint8_t r, uint8_t g, uint8_t b) { + uint16_t red, green, blue; + MapColors(r, g, b, &red, &green, &blue); + const PixelDesignator &fill = (*shared_mapper_)->GetFillColorBits(); + + for (int b = kBitPlanes - pwm_bits_; b < kBitPlanes; ++b) { + uint16_t mask = 1 << b; + gpio_bits_t plane_bits = 0; + plane_bits |= ((red & mask) == mask) ? fill.r_bit : 0; + plane_bits |= ((green & mask) == mask) ? fill.g_bit : 0; + plane_bits |= ((blue & mask) == mask) ? fill.b_bit : 0; + + for (int row = 0; row < double_rows_; ++row) { + gpio_bits_t *row_data = ValueAt(row, 0, b); + for (int col = 0; col < columns_; ++col) { + *row_data++ = plane_bits; + } + } + } +} + +int Framebuffer::width() const { return (*shared_mapper_)->width(); } +int Framebuffer::height() const { return (*shared_mapper_)->height(); } + +void Framebuffer::SetPixel(int x, int y, uint8_t r, uint8_t g, uint8_t b) { + const PixelDesignator *designator = (*shared_mapper_)->get(x, y); + if (designator == NULL) return; + const long pos = designator->gpio_word; + if (pos < 0) return; // non-used pixel marker. + + uint16_t red, green, blue; + MapColors(r, g, b, &red, &green, &blue); + + gpio_bits_t *bits = bitplane_buffer_ + pos; + const int min_bit_plane = kBitPlanes - pwm_bits_; + bits += (columns_ * min_bit_plane); + const gpio_bits_t r_bits = designator->r_bit; + const gpio_bits_t g_bits = designator->g_bit; + const gpio_bits_t b_bits = designator->b_bit; + const gpio_bits_t designator_mask = designator->mask; + for (uint16_t mask = 1<gpio_word = bits - bitplane_buffer_; + d->r_bit = d->g_bit = d->b_bit = 0; + if (y < rows_) { + if (y < double_rows_) { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p0_r1, h.p0_g1, h.p0_b1); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p0_r1, h.p0_g1, h.p0_b1); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p0_r1, h.p0_g1, h.p0_b1); + } else { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p0_r2, h.p0_g2, h.p0_b2); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p0_r2, h.p0_g2, h.p0_b2); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p0_r2, h.p0_g2, h.p0_b2); + } + } + else if (y >= rows_ && y < 2 * rows_) { + if (y - rows_ < double_rows_) { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p1_r1, h.p1_g1, h.p1_b1); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p1_r1, h.p1_g1, h.p1_b1); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p1_r1, h.p1_g1, h.p1_b1); + } else { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p1_r2, h.p1_g2, h.p1_b2); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p1_r2, h.p1_g2, h.p1_b2); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p1_r2, h.p1_g2, h.p1_b2); + } + } + else if (y >= 2*rows_ && y < 3 * rows_) { + if (y - 2*rows_ < double_rows_) { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p2_r1, h.p2_g1, h.p2_b1); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p2_r1, h.p2_g1, h.p2_b1); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p2_r1, h.p2_g1, h.p2_b1); + } else { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p2_r2, h.p2_g2, h.p2_b2); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p2_r2, h.p2_g2, h.p2_b2); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p2_r2, h.p2_g2, h.p2_b2); + } + } + else if (y >= 3*rows_ && y < 4 * rows_) { + if (y - 3*rows_ < double_rows_) { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p3_r1, h.p3_g1, h.p3_b1); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p3_r1, h.p3_g1, h.p3_b1); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p3_r1, h.p3_g1, h.p3_b1); + } else { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p3_r2, h.p3_g2, h.p3_b2); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p3_r2, h.p3_g2, h.p3_b2); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p3_r2, h.p3_g2, h.p3_b2); + } + } + else if (y >= 4*rows_ && y < 5 * rows_){ + if (y - 4*rows_ < double_rows_) { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p4_r1, h.p4_g1, h.p4_b1); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p4_r1, h.p4_g1, h.p4_b1); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p4_r1, h.p4_g1, h.p4_b1); + } else { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p4_r2, h.p4_g2, h.p4_b2); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p4_r2, h.p4_g2, h.p4_b2); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p4_r2, h.p4_g2, h.p4_b2); + } + + } + else { + if (y - 5*rows_ < double_rows_) { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p5_r1, h.p5_g1, h.p5_b1); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p5_r1, h.p5_g1, h.p5_b1); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p5_r1, h.p5_g1, h.p5_b1); + } else { + d->r_bit = GetGpioFromLedSequence('R', seq, h.p5_r2, h.p5_g2, h.p5_b2); + d->g_bit = GetGpioFromLedSequence('G', seq, h.p5_r2, h.p5_g2, h.p5_b2); + d->b_bit = GetGpioFromLedSequence('B', seq, h.p5_r2, h.p5_g2, h.p5_b2); + } + } + + d->mask = ~(d->r_bit | d->g_bit | d->b_bit); +} + +void Framebuffer::Serialize(const char **data, size_t *len) const { + *data = reinterpret_cast(bitplane_buffer_); + *len = buffer_size_; +} + +bool Framebuffer::Deserialize(const char *data, size_t len) { + if (len != buffer_size_) return false; + memcpy(bitplane_buffer_, data, len); + return true; +} + +void Framebuffer::CopyFrom(const Framebuffer *other) { + if (other == this) return; + memcpy(bitplane_buffer_, other->bitplane_buffer_, buffer_size_); +} + +void Framebuffer::DumpToMatrix(GPIO *io, int pwm_low_bit) { + const struct HardwareMapping &h = *hardware_mapping_; + gpio_bits_t color_clk_mask = 0; // Mask of bits while clocking in. + color_clk_mask |= h.p0_r1 | h.p0_g1 | h.p0_b1 | h.p0_r2 | h.p0_g2 | h.p0_b2; + if (parallel_ >= 2) { + color_clk_mask |= h.p1_r1 | h.p1_g1 | h.p1_b1 | h.p1_r2 | h.p1_g2 | h.p1_b2; + } + if (parallel_ >= 3) { + color_clk_mask |= h.p2_r1 | h.p2_g1 | h.p2_b1 | h.p2_r2 | h.p2_g2 | h.p2_b2; + } + if (parallel_ >= 4) { + color_clk_mask |= h.p3_r1 | h.p3_g1 | h.p3_b1 | h.p3_r2 | h.p3_g2 | h.p3_b2; + } + if (parallel_ >= 5) { + color_clk_mask |= h.p4_r1 | h.p4_g1 | h.p4_b1 | h.p4_r2 | h.p4_g2 | h.p4_b2; + } + if (parallel_ >= 6) { + color_clk_mask |= h.p5_r1 | h.p5_g1 | h.p5_b1 | h.p5_r2 | h.p5_g2 | h.p5_b2; + } + + color_clk_mask |= h.clock; + + // Depending if we do dithering, we might not always show the lowest bits. + const int start_bit = std::max(pwm_low_bit, kBitPlanes - pwm_bits_); + + const uint8_t half_double = double_rows_/2; + for (uint8_t row_loop = 0; row_loop < double_rows_; ++row_loop) { + uint8_t d_row; + switch (scan_mode_) { + case 0: // progressive + default: + d_row = row_loop; + break; + + case 1: // interlaced + d_row = ((row_loop < half_double) + ? (row_loop << 1) + : ((row_loop - half_double) << 1) + 1); + } + + // Rows can't be switched very quickly without ghosting, so we do the + // full PWM of one row before switching rows. + for (int b = start_bit; b < kBitPlanes; ++b) { + gpio_bits_t *row_data = ValueAt(d_row, 0, b); + // While the output enable is still on, we can already clock in the next + // data. + for (int col = 0; col < columns_; ++col) { + const gpio_bits_t &out = *row_data++; + io->WriteMaskedBits(out, color_clk_mask); // col + reset clock + io->SetBits(h.clock); // Rising edge: clock color in. + } + io->ClearBits(color_clk_mask); // clock back to normal. + + // OE of the previous row-data must be finished before strobe. + sOutputEnablePulser->WaitPulseFinished(); + + // Setting address and strobing needs to happen in dark time. + row_setter_->SetRowAddress(io, d_row); + + io->SetBits(h.strobe); // Strobe in the previously clocked in row. + io->ClearBits(h.strobe); + + // Now switch on for the sleep time necessary for that bit-plane. + sOutputEnablePulser->SendPulse(b); + } + } +} +} // namespace internal +} // namespace rgb_matrix diff --git a/lib/framebuffer.o b/lib/framebuffer.o new file mode 100644 index 0000000000000000000000000000000000000000..532e6e7c9eb3d4616ccb26b88d11635b449a756b GIT binary patch literal 209032 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 UPpJPn?o^3$64(D@2btsk7ecta=Kufz literal 0 HcmV?d00001 diff --git a/lib/gpio-bits.h b/lib/gpio-bits.h new file mode 100644 index 0000000..de9c7c8 --- /dev/null +++ b/lib/gpio-bits.h @@ -0,0 +1,28 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +// This file needs to compile in C and C++ context, so deliberately broken out. + +#ifndef RPI_GPIOBITS_H +#define RPI_GPIOBITS_H + +#include +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE +typedef uint64_t gpio_bits_t; +#else +typedef uint32_t gpio_bits_t; +#endif + +#endif diff --git a/lib/gpio.cc b/lib/gpio.cc new file mode 100644 index 0000000..a9f39bb --- /dev/null +++ b/lib/gpio.cc @@ -0,0 +1,787 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#define __STDC_FORMAT_MACROS +#include + +#include "gpio.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * nanosleep() takes longer than requested because of OS jitter. + * In about 99.9% of the cases, this is <= 25 microcseconds on + * the Raspberry Pi (empirically determined with a Raspbian kernel), so + * we substract this value whenever we do nanosleep(); the remaining time + * we then busy wait to get a good accurate result. + * + * You can measure the overhead using DEBUG_SLEEP_JITTER below. + * + * Note: A higher value here will result in more CPU use because of more busy + * waiting inching towards the real value (for all the cases that nanosleep() + * actually was better than this overhead). + * + * This might be interesting to tweak in particular if you have a realtime + * kernel with different characteristics. + */ +#define EMPIRICAL_NANOSLEEP_OVERHEAD_US 12 + +/* + * In case of non-hardware pulse generation, use nanosleep if we want to wait + * longer than these given microseconds beyond the general overhead. + * Below that, just use busy wait. + */ +#define MINIMUM_NANOSLEEP_TIME_US 5 + +/* In order to determine useful values for above, set this to 1 and use the + * hardware pin-pulser. + * It will output a histogram atexit() of how much how often we were over + * the requested time. + * (The full histogram will be shifted by the EMPIRICAL_NANOSLEEP_OVERHEAD_US + * value above. To get a full histogram of OS overhead, set it to 0 first). + */ +#define DEBUG_SLEEP_JITTER 0 + +// Raspberry 1 and 2 have different base addresses for the periphery +#define BCM2708_PERI_BASE 0x20000000 +#define BCM2709_PERI_BASE 0x3F000000 +#define BCM2711_PERI_BASE 0xFE000000 + +#define GPIO_REGISTER_OFFSET 0x200000 +#define COUNTER_1Mhz_REGISTER_OFFSET 0x3000 + +#define GPIO_PWM_BASE_OFFSET (GPIO_REGISTER_OFFSET + 0xC000) +#define GPIO_CLK_BASE_OFFSET 0x101000 + +#define REGISTER_BLOCK_SIZE (4*1024) + +#define PWM_CTL (0x00 / 4) +#define PWM_STA (0x04 / 4) +#define PWM_RNG1 (0x10 / 4) +#define PWM_FIFO (0x18 / 4) + +#define PWM_CTL_CLRF1 (1<<6) // CH1 Clear Fifo (1 Clears FIFO 0 has no effect) +#define PWM_CTL_USEF1 (1<<5) // CH1 Use Fifo (0=data reg transmit 1=Fifo used for transmission) +#define PWM_CTL_POLA1 (1<<4) // CH1 Polarity (0=(0=low 1=high) 1=(1=low 0=high) +#define PWM_CTL_SBIT1 (1<<3) // CH1 Silence Bit (state of output when 0 transmission takes place) +#define PWM_CTL_MODE1 (1<<1) // CH1 Mode (0=pwm 1=serialiser mode) +#define PWM_CTL_PWEN1 (1<<0) // CH1 Enable (0=disable 1=enable) + +#define PWM_STA_EMPT1 (1<<1) +#define PWM_STA_FULL1 (1<<0) + +#define CLK_PASSWD (0x5A<<24) + +#define CLK_CTL_MASH(x)((x)<<9) +#define CLK_CTL_BUSY (1 <<7) +#define CLK_CTL_KILL (1 <<5) +#define CLK_CTL_ENAB (1 <<4) +#define CLK_CTL_SRC(x) ((x)<<0) + +#define CLK_CTL_SRC_PLLD 6 /* 500.0 MHz */ + +#define CLK_DIV_DIVI(x) ((x)<<12) +#define CLK_DIV_DIVF(x) ((x)<< 0) + +#define CLK_PWMCTL 40 +#define CLK_PWMDIV 41 + +// We want to have the last word in the fifo free +#define MAX_PWM_BIT_USE 224 +#define PWM_BASE_TIME_NS 2 + +// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x). +#define INP_GPIO(g) *(s_GPIO_registers+((g)/10)) &= ~(7ull<<(((g)%10)*3)) +#define OUT_GPIO(g) *(s_GPIO_registers+((g)/10)) |= (1ull<<(((g)%10)*3)) + +#define GPIO_SET *(gpio+7) // sets bits which are 1 ignores bits which are 0 +#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0 + +// We're pre-mapping all the registers on first call of GPIO::Init(), +// so that it is possible to drop privileges afterwards and still have these +// usable. +static volatile uint32_t *s_GPIO_registers = NULL; +static volatile uint32_t *s_Timer1Mhz = NULL; +static volatile uint32_t *s_PWM_registers = NULL; +static volatile uint32_t *s_CLK_registers = NULL; + +namespace rgb_matrix { +#define GPIO_BIT(x) (1ull << x) + +GPIO::GPIO() : output_bits_(0), input_bits_(0), reserved_bits_(0), + slowdown_(1) +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + , uses_64_bit_(false) +#endif +{ +} + +gpio_bits_t GPIO::InitOutputs(gpio_bits_t outputs, + bool adafruit_pwm_transition_hack_needed) { + if (s_GPIO_registers == NULL) { + fprintf(stderr, "Attempt to init outputs but not yet Init()-ialized.\n"); + return 0; + } + + // Hack: for the PWM mod, the user soldered together GPIO 18 (new OE) + // with GPIO 4 (old OE). + // Since they are connected inside the HAT, want to make extra sure that, + // whatever the outside system set as pinmux, the old OE is _not_ also + // set as output so that these GPIO outputs don't fight each other. + // + // So explicitly set both of these pins as input initially, so the user + // can switch between the two modes "adafruit-hat" and "adafruit-hat-pwm" + // without trouble. + if (adafruit_pwm_transition_hack_needed) { + INP_GPIO(4); + INP_GPIO(18); + // Even with PWM enabled, GPIO4 still can not be used, because it is + // now connected to the GPIO18 and thus must stay an input. + // So reserve this bit if it is not set in outputs. + reserved_bits_ = GPIO_BIT(4) & ~outputs; + } + + outputs &= ~(output_bits_ | input_bits_ | reserved_bits_); +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + const int kMaxAvailableBit = 45; + uses_64_bit_ |= (outputs >> 32) != 0; +#else + const int kMaxAvailableBit = 31; +#endif + for (int b = 0; b <= kMaxAvailableBit; ++b) { + if (outputs & GPIO_BIT(b)) { + INP_GPIO(b); // for writing, we first need to set as input. + OUT_GPIO(b); + } + } + output_bits_ |= outputs; + return outputs; +} + +gpio_bits_t GPIO::RequestInputs(gpio_bits_t inputs) { + if (s_GPIO_registers == NULL) { + fprintf(stderr, "Attempt to init inputs but not yet Init()-ialized.\n"); + return 0; + } + + inputs &= ~(output_bits_ | input_bits_ | reserved_bits_); +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + const int kMaxAvailableBit = 45; + uses_64_bit_ |= (inputs >> 32) != 0; +#else + const int kMaxAvailableBit = 31; +#endif + for (int b = 0; b <= kMaxAvailableBit; ++b) { + if (inputs & GPIO_BIT(b)) { + INP_GPIO(b); + } + } + input_bits_ |= inputs; + return inputs; +} + +// We are not interested in the _exact_ model, just good enough to determine +// What to do. +enum RaspberryPiModel { + PI_MODEL_1, + PI_MODEL_2, + PI_MODEL_3, + PI_MODEL_4 +}; + +static int ReadFileToBuffer(char *buffer, size_t size, const char *filename) { + const int fd = open(filename, O_RDONLY); + if (fd < 0) return -1; + ssize_t r = read(fd, buffer, size - 1); // assume one read enough + buffer[r >= 0 ? r : 0] = '\0'; + close(fd); + return r; +} + +static RaspberryPiModel DetermineRaspberryModel() { + char buffer[4096]; + if (ReadFileToBuffer(buffer, sizeof(buffer), "/proc/cpuinfo") < 0) { + fprintf(stderr, "Reading cpuinfo: Could not determine Pi model\n"); + return PI_MODEL_3; // safe guess fallback. + } + static const char RevisionTag[] = "Revision"; + const char *revision_key; + if ((revision_key = strstr(buffer, RevisionTag)) == NULL) { + fprintf(stderr, "non-existent Revision: Could not determine Pi model\n"); + return PI_MODEL_3; + } + unsigned int pi_revision; + if (sscanf(index(revision_key, ':') + 1, "%x", &pi_revision) != 1) { + fprintf(stderr, "Unknown Revision: Could not determine Pi model\n"); + return PI_MODEL_3; + } + + // https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md + const unsigned pi_type = (pi_revision >> 4) & 0xff; + switch (pi_type) { + case 0x00: /* A */ + case 0x01: /* B, Compute Module 1 */ + case 0x02: /* A+ */ + case 0x03: /* B+ */ + case 0x05: /* Alpha ?*/ + case 0x06: /* Compute Module1 */ + case 0x09: /* Zero */ + case 0x0c: /* Zero W */ + return PI_MODEL_1; + + case 0x04: /* Pi 2 */ + return PI_MODEL_2; + + case 0x11: /* Pi 4 */ + return PI_MODEL_4; + + default: /* a bunch of versions represneting Pi 3 */ + return PI_MODEL_3; + } +} + +static RaspberryPiModel GetPiModel() { + static RaspberryPiModel pi_model = DetermineRaspberryModel(); + return pi_model; +} + +static int GetNumCores() { + return GetPiModel() == PI_MODEL_1 ? 1 : 4; +} + +static uint32_t *mmap_bcm_register(off_t register_offset) { + off_t base = BCM2709_PERI_BASE; // safe fallback guess. + switch (GetPiModel()) { + case PI_MODEL_1: base = BCM2708_PERI_BASE; break; + case PI_MODEL_2: base = BCM2709_PERI_BASE; break; + case PI_MODEL_3: base = BCM2709_PERI_BASE; break; + case PI_MODEL_4: base = BCM2711_PERI_BASE; break; + } + + int mem_fd; + if ((mem_fd = open("/dev/mem", O_RDWR|O_SYNC) ) < 0) { + // Try to fall back to /dev/gpiomem. Unfortunately, that device + // is implemented in a way that it _only_ supports GPIO, not the + // other registers we need, such as PWM or COUNTER_1Mhz, which means + // we only can operate with degraded performance. + // + // But, instead of failing, mmap() then silently succeeds with the + // unsupported offset. So bail out here. + if (register_offset != GPIO_REGISTER_OFFSET) + return NULL; + + mem_fd = open("/dev/gpiomem", O_RDWR|O_SYNC); + if (mem_fd < 0) return NULL; + } + + uint32_t *result = + (uint32_t*) mmap(NULL, // Any adddress in our space will do + REGISTER_BLOCK_SIZE, // Map length + PROT_READ|PROT_WRITE, // Enable r/w on GPIO registers. + MAP_SHARED, + mem_fd, // File to map + base + register_offset // Offset to bcm register + ); + close(mem_fd); + + if (result == MAP_FAILED) { + perror("mmap error: "); + fprintf(stderr, "MMapping from base 0x%lx, offset 0x%lx\n", + base, register_offset); + return NULL; + } + return result; +} + +static bool mmap_all_bcm_registers_once() { + if (s_GPIO_registers != NULL) return true; // alrady done. + + // The common GPIO registers. + s_GPIO_registers = mmap_bcm_register(GPIO_REGISTER_OFFSET); + if (s_GPIO_registers == NULL) { + return false; + } + + // Time measurement. Might fail when run as non-root. + uint32_t *timereg = mmap_bcm_register(COUNTER_1Mhz_REGISTER_OFFSET); + if (timereg != NULL) { + s_Timer1Mhz = timereg + 1; + } + + // Hardware pin-pulser. Might fail when run as non-root. + s_PWM_registers = mmap_bcm_register(GPIO_PWM_BASE_OFFSET); + s_CLK_registers = mmap_bcm_register(GPIO_CLK_BASE_OFFSET); + + return true; +} + +bool GPIO::Init(int slowdown) { + slowdown_ = slowdown; + + // Pre-mmap all bcm registers we need now and possibly in the future, as to + // allow dropping privileges after GPIO::Init() even as some of these + // registers might be needed later. + if (!mmap_all_bcm_registers_once()) + return false; + + gpio_set_bits_low_ = s_GPIO_registers + (0x1C / sizeof(uint32_t)); + gpio_clr_bits_low_ = s_GPIO_registers + (0x28 / sizeof(uint32_t)); + gpio_read_bits_low_ = s_GPIO_registers + (0x34 / sizeof(uint32_t)); + +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + gpio_set_bits_high_ = s_GPIO_registers + (0x20 / sizeof(uint32_t)); + gpio_clr_bits_high_ = s_GPIO_registers + (0x2C / sizeof(uint32_t)); + gpio_read_bits_high_ = s_GPIO_registers + (0x38 / sizeof(uint32_t)); +#endif + + return true; +} + +/* + * We support also other pinouts that don't have the OE- on the hardware + * PWM output pin, so we need to provide (impefect) 'manual' timing as well. + * Hence all various busy_wait_nano() implementations depending on the hardware. + */ + +// --- PinPulser. Private implementation parts. +namespace { +// Manual timers. +class Timers { +public: + static bool Init(); + static void sleep_nanos(long t); +}; + +// Simplest of PinPulsers. Uses somewhat jittery and manual timers +// to get the timing, but not optimal. +class TimerBasedPinPulser : public PinPulser { +public: + TimerBasedPinPulser(GPIO *io, gpio_bits_t bits, + const std::vector &nano_specs) + : io_(io), bits_(bits), nano_specs_(nano_specs) { + if (!s_Timer1Mhz) { + fprintf(stderr, "FYI: not running as root which means we can't properly " + "control timing unless this is a real-time kernel. Expect color " + "degradation. Consider running as root with sudo.\n"); + } + } + + virtual void SendPulse(int time_spec_number) { + io_->ClearBits(bits_); + Timers::sleep_nanos(nano_specs_[time_spec_number]); + io_->SetBits(bits_); + } + +private: + GPIO *const io_; + const gpio_bits_t bits_; + const std::vector nano_specs_; +}; + +static bool LinuxHasModuleLoaded(const char *name) { + FILE *f = fopen("/proc/modules", "r"); + if (f == NULL) return false; // don't care. + char buf[256]; + const size_t namelen = strlen(name); + bool found = false; + while (fgets(buf, sizeof(buf), f) != NULL) { + if (strncmp(buf, name, namelen) == 0) { + found = true; + break; + } + } + fclose(f); + return found; +} + +static void busy_wait_nanos_rpi_1(long nanos); +static void busy_wait_nanos_rpi_2(long nanos); +static void busy_wait_nanos_rpi_3(long nanos); +static void busy_wait_nanos_rpi_4(long nanos); +static void (*busy_wait_impl)(long) = busy_wait_nanos_rpi_3; + +// Best effort write to file. Used to set kernel parameters. +static void WriteTo(const char *filename, const char *str) { + const int fd = open(filename, O_WRONLY); + if (fd < 0) return; + (void) write(fd, str, strlen(str)); // Best effort. Ignore return value. + close(fd); +} + +// By default, the kernel applies some throtteling for realtime +// threads to prevent starvation of non-RT threads. But we +// really want all we can get iff the machine has more cores and +// our RT-thread is locked onto one of these. +// So let's tell it not to do that. +static void DisableRealtimeThrottling() { + if (GetNumCores() == 1) return; // Not safe if we don't have > 1 core. + // We need to leave the kernel a little bit of time, as it does not like + // us to hog the kernel solidly. The default of 950000 leaves 50ms that + // can generate visible flicker, so we reduce that to 1ms. + WriteTo("/proc/sys/kernel/sched_rt_runtime_us", "999000"); +} + +bool Timers::Init() { + if (!mmap_all_bcm_registers_once()) + return false; + + // Choose the busy-wait loop that fits our Pi. + switch (GetPiModel()) { + case PI_MODEL_1: busy_wait_impl = busy_wait_nanos_rpi_1; break; + case PI_MODEL_2: busy_wait_impl = busy_wait_nanos_rpi_2; break; + case PI_MODEL_3: busy_wait_impl = busy_wait_nanos_rpi_3; break; + case PI_MODEL_4: busy_wait_impl = busy_wait_nanos_rpi_4; break; + } + + DisableRealtimeThrottling(); + // If we have it, we run the update thread on core3. No perf-compromises: + WriteTo("/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor", + "performance"); + return true; +} + +static uint32_t JitterAllowanceMicroseconds() { + // If this is a Raspberry Pi with more than one core, we add a bit of + // additional overhead measured up to the 99.999%-ile: we can allow to burn + // a bit more busy-wait CPU cycles to get the timing accurate as we have + // more CPU to spare. + switch (GetPiModel()) { + case PI_MODEL_1: + return EMPIRICAL_NANOSLEEP_OVERHEAD_US; // 99.9%-ile + case PI_MODEL_2: case PI_MODEL_3: + return EMPIRICAL_NANOSLEEP_OVERHEAD_US + 35; // 99.999%-ile + case PI_MODEL_4: + return EMPIRICAL_NANOSLEEP_OVERHEAD_US + 10; // this one is fast. + } + return EMPIRICAL_NANOSLEEP_OVERHEAD_US; +} + +void Timers::sleep_nanos(long nanos) { + // For smaller durations, we go straight to busy wait. + + // For larger duration, we use nanosleep() to give the operating system + // a chance to do something else. + + // However, these timings have a lot of jitter, so if we have the 1Mhz timer + // available, we use that to accurately mesure time spent and do the + // remaining time with busy wait. If we don't have the timer available + // (not running as root), we just use nanosleep() for larger values. + + if (s_Timer1Mhz) { + static long kJitterAllowanceNanos = JitterAllowanceMicroseconds() * 1000; + if (nanos > kJitterAllowanceNanos + MINIMUM_NANOSLEEP_TIME_US*1000) { + const uint32_t before = *s_Timer1Mhz; + struct timespec sleep_time = { 0, nanos - kJitterAllowanceNanos }; + nanosleep(&sleep_time, NULL); + const uint32_t after = *s_Timer1Mhz; + const long nanoseconds_passed = 1000 * (uint32_t)(after - before); + if (nanoseconds_passed > nanos) { + return; // darn, missed it. + } else { + nanos -= nanoseconds_passed; // remaining time with busy-loop + } + } + } else { + // Not running as root, not having access to 1Mhz timer. Approximate large + // durations with nanosleep(); small durations are done with busy wait. + if (nanos > (EMPIRICAL_NANOSLEEP_OVERHEAD_US + MINIMUM_NANOSLEEP_TIME_US)*1000) { + struct timespec sleep_time + = { 0, nanos - EMPIRICAL_NANOSLEEP_OVERHEAD_US*1000 }; + nanosleep(&sleep_time, NULL); + return; + } + } + + busy_wait_impl(nanos); // Use model-specific busy-loop for remaining time. +} + +static void busy_wait_nanos_rpi_1(long nanos) { + if (nanos < 70) return; + // The following loop is determined empirically on a 700Mhz RPi + for (uint32_t i = (nanos - 70) >> 2; i != 0; --i) { + asm("nop"); + } +} + +static void busy_wait_nanos_rpi_2(long nanos) { + if (nanos < 20) return; + // The following loop is determined empirically on a 900Mhz RPi 2 + for (uint32_t i = (nanos - 20) * 100 / 110; i != 0; --i) { + asm(""); + } +} + +static void busy_wait_nanos_rpi_3(long nanos) { + if (nanos < 20) return; + for (uint32_t i = (nanos - 15) * 100 / 73; i != 0; --i) { + asm(""); + } +} + +static void busy_wait_nanos_rpi_4(long nanos) { + if (nanos < 20) return; + // Interesting, the Pi4 is _slower_ than the Pi3 ? At least for this busy loop + for (uint32_t i = (nanos - 5) * 100 / 132; i != 0; --i) { + asm(""); + } +} + +#if DEBUG_SLEEP_JITTER +static int overshoot_histogram_us[256] = {0}; +static void print_overshoot_histogram() { + fprintf(stderr, "Overshoot histogram >= empirical overhead of %dus\n" + "%6s | %7s | %7s\n", + JitterAllowanceMicroseconds(), "usec", "count", "accum"); + int total_count = 0; + for (int i = 0; i < 256; ++i) total_count += overshoot_histogram_us[i]; + int running_count = 0; + for (int us = 0; us < 256; ++us) { + const int count = overshoot_histogram_us[us]; + if (count > 0) { + running_count += count; + fprintf(stderr, "%s%3dus: %8d %7.3f%%\n", (us == 0) ? "<=" : " +", + us, count, 100.0 * running_count / total_count); + } + } +} +#endif + +// A PinPulser that uses the PWM hardware to create accurate pulses. +// It only works on GPIO-12 or 18 though. +class HardwarePinPulser : public PinPulser { +public: + static bool CanHandle(gpio_bits_t gpio_mask) { +#ifdef DISABLE_HARDWARE_PULSES + return false; +#else + const bool can_handle = gpio_mask==GPIO_BIT(18) || gpio_mask==GPIO_BIT(12); + if (can_handle && (s_PWM_registers == NULL || s_CLK_registers == NULL)) { + // Instead of silently not using the hardware pin pulser and falling back + // to timing based loops, complain loudly and request the user to make + // a choice before continuing. + fprintf(stderr, "Need root. You are configured to use the hardware pulse " + "generator " + "for\n\tsmooth color rendering, however the necessary hardware\n" + "\tregisters can't be accessed because you probably don't run\n" + "\twith root permissions or privileges have been dropped.\n" + "\tSo you either have to run as root (e.g. using sudo) or\n" + "\tsupply the --led-no-hardware-pulse command-line flag.\n\n" + "\tExiting; run as root or with --led-no-hardware-pulse\n\n"); + exit(1); + } + return can_handle; +#endif + } + + HardwarePinPulser(gpio_bits_t pins, const std::vector &specs) + : triggered_(false) { + assert(CanHandle(pins)); + assert(s_CLK_registers && s_PWM_registers && s_Timer1Mhz); + +#if DEBUG_SLEEP_JITTER + atexit(print_overshoot_histogram); +#endif + + if (LinuxHasModuleLoaded("snd_bcm2835")) { + fprintf(stderr, + "\n%s=== snd_bcm2835: found that the Pi sound module is loaded. ===%s\n" + "Don't use the built-in sound of the Pi together with this lib; it is known to be\n" + "incompatible and cause trouble and hangs (you can still use external USB sound adapters).\n\n" + "See Troubleshooting section in README how to disable the sound module.\n" + "You can also run with --led-no-hardware-pulse to avoid the incompatibility,\n" + "but you will have more flicker.\n" + "Exiting; fix the above first or use --led-no-hardware-pulse\n\n", + "\033[1;31m", "\033[0m"); + exit(1); + } + + for (size_t i = 0; i < specs.size(); ++i) { + // Hints how long to nanosleep, already corrected for system overhead. + sleep_hints_us_.push_back(specs[i]/1000 - JitterAllowanceMicroseconds()); + } + + const int base = specs[0]; + // Get relevant registers + fifo_ = s_PWM_registers + PWM_FIFO; + + if (pins == GPIO_BIT(18)) { + // set GPIO 18 to PWM0 mode (Alternative 5) + SetGPIOMode(s_GPIO_registers, 18, 2); + } else if (pins == GPIO_BIT(12)) { + // set GPIO 12 to PWM0 mode (Alternative 0) + SetGPIOMode(s_GPIO_registers, 12, 4); + } else { + assert(false); // should've been caught by CanHandle() + } + InitPWMDivider((base/2) / PWM_BASE_TIME_NS); + for (size_t i = 0; i < specs.size(); ++i) { + pwm_range_.push_back(2 * specs[i] / base); + } + } + + virtual void SendPulse(int c) { + if (pwm_range_[c] < 16) { + s_PWM_registers[PWM_RNG1] = pwm_range_[c]; + + *fifo_ = pwm_range_[c]; + } else { + // Keep the actual range as short as possible, as we have to + // wait for one full period of these in the zero phase. + // The hardware can't deal with values < 2, so only do this when + // have enough of these. + s_PWM_registers[PWM_RNG1] = pwm_range_[c] / 8; + + *fifo_ = pwm_range_[c] / 8; + *fifo_ = pwm_range_[c] / 8; + *fifo_ = pwm_range_[c] / 8; + *fifo_ = pwm_range_[c] / 8; + *fifo_ = pwm_range_[c] / 8; + *fifo_ = pwm_range_[c] / 8; + *fifo_ = pwm_range_[c] / 8; + *fifo_ = pwm_range_[c] / 8; + } + + /* + * We need one value at the end to have it go back to + * default state (otherwise it just repeats the last + * value, so will be constantly 'on'). + */ + *fifo_ = 0; // sentinel. + + /* + * For some reason, we need a second empty sentinel in the + * fifo, otherwise our way to detect the end of the pulse, + * which relies on 'is the queue empty' does not work. It is + * not entirely clear why that is from the datasheet, + * but probably there is some buffering register in which data + * elements are kept after the fifo is emptied. + */ + *fifo_ = 0; + + sleep_hint_us_ = sleep_hints_us_[c]; + start_time_ = *s_Timer1Mhz; + triggered_ = true; + s_PWM_registers[PWM_CTL] = PWM_CTL_USEF1 | PWM_CTL_PWEN1 | PWM_CTL_POLA1; + } + + virtual void WaitPulseFinished() { + if (!triggered_) return; + // Determine how long we already spent and sleep to get close to the + // actual end-time of our sleep period. + // + // TODO(hzeller): find if it is possible to get some sort of interrupt from + // the hardware once it is done with the pulse. Sounds silly that there is + // not (so far, only tested GPIO interrupt with a feedback line, but that + // is super-slow with 20μs overhead). + if (sleep_hint_us_ > 0) { + const uint32_t already_elapsed_usec = *s_Timer1Mhz - start_time_; + const int to_sleep_us = sleep_hint_us_ - already_elapsed_usec; + if (to_sleep_us > 0) { + struct timespec sleep_time = { 0, 1000 * to_sleep_us }; + nanosleep(&sleep_time, NULL); + +#if DEBUG_SLEEP_JITTER + { + // Record histogram of realtime jitter how much longer we actually + // took. + const int total_us = *s_Timer1Mhz - start_time_; + const int nanoslept_us = total_us - already_elapsed_usec; + int overshoot = nanoslept_us - (to_sleep_us + JitterAllowanceMicroseconds()); + if (overshoot < 0) overshoot = 0; + if (overshoot > 255) overshoot = 255; + overshoot_histogram_us[overshoot]++; + } +#endif + } + } + + while ((s_PWM_registers[PWM_STA] & PWM_STA_EMPT1) == 0) { + // busy wait until done. + } + s_PWM_registers[PWM_CTL] = PWM_CTL_USEF1 | PWM_CTL_POLA1 | PWM_CTL_CLRF1; + triggered_ = false; + } + +private: + void SetGPIOMode(volatile uint32_t *gpioReg, unsigned gpio, unsigned mode) { + const int reg = gpio / 10; + const int mode_pos = (gpio % 10) * 3; + gpioReg[reg] = (gpioReg[reg] & ~(7 << mode_pos)) | (mode << mode_pos); + } + + void InitPWMDivider(uint32_t divider) { + assert(divider < (1<<12)); // we only have 12 bits. + + s_PWM_registers[PWM_CTL] = PWM_CTL_USEF1 | PWM_CTL_POLA1 | PWM_CTL_CLRF1; + + // reset PWM clock + s_CLK_registers[CLK_PWMCTL] = CLK_PASSWD | CLK_CTL_KILL; + + // set PWM clock source as 500 MHz PLLD + s_CLK_registers[CLK_PWMCTL] = CLK_PASSWD | CLK_CTL_SRC(CLK_CTL_SRC_PLLD); + + // set PWM clock divider + s_CLK_registers[CLK_PWMDIV] + = CLK_PASSWD | CLK_DIV_DIVI(divider) | CLK_DIV_DIVF(0); + + // enable PWM clock + s_CLK_registers[CLK_PWMCTL] + = CLK_PASSWD | CLK_CTL_ENAB | CLK_CTL_SRC(CLK_CTL_SRC_PLLD); + } + +private: + std::vector pwm_range_; + std::vector sleep_hints_us_; + volatile uint32_t *fifo_; + uint32_t start_time_; + int sleep_hint_us_; + bool triggered_; +}; + +} // end anonymous namespace + +// Public PinPulser factory +PinPulser *PinPulser::Create(GPIO *io, gpio_bits_t gpio_mask, + bool allow_hardware_pulsing, + const std::vector &nano_wait_spec) { + if (!Timers::Init()) return NULL; + if (allow_hardware_pulsing && HardwarePinPulser::CanHandle(gpio_mask)) { + return new HardwarePinPulser(gpio_mask, nano_wait_spec); + } else { + return new TimerBasedPinPulser(io, gpio_mask, nano_wait_spec); + } +} + +// For external use, e.g. in the matrix for extra time. +uint32_t GetMicrosecondCounter() { + if (s_Timer1Mhz) return *s_Timer1Mhz; + + // When run as non-root, we can't read the timer. Fall back to slow + // operating-system ways. + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + const uint64_t micros = ts.tv_nsec / 1000; + const uint64_t epoch_usec = (uint64_t)ts.tv_sec * 1000000 + micros; + return epoch_usec & 0xFFFFFFFF; +} + +} // namespace rgb_matrix diff --git a/lib/gpio.h b/lib/gpio.h new file mode 100644 index 0000000..95330b9 --- /dev/null +++ b/lib/gpio.h @@ -0,0 +1,153 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#ifndef RPI_GPIO_INTERNAL_H +#define RPI_GPIO_INTERNAL_H + +#include "gpio-bits.h" + +#include + +// Putting this in our namespace to not collide with other things called like +// this. +namespace rgb_matrix { +// For now, everything is initialized as output. +class GPIO { +public: + GPIO(); + + // Initialize before use. Returns 'true' if successful, 'false' otherwise + // (e.g. due to a permission problem). + bool Init(int +#if RGB_SLOWDOWN_GPIO + slowdown = RGB_SLOWDOWN_GPIO +#else + slowdown = 1 +#endif + ); + + + // Initialize outputs. + // Returns the bits that were available and could be set for output. + // (never use the optional adafruit_hack_needed parameter, it is used + // internally to this library). + gpio_bits_t InitOutputs(gpio_bits_t outputs, + bool adafruit_hack_needed = false); + + // Request given bitmap of GPIO inputs. + // Returns the bits that were available and could be reserved. + gpio_bits_t RequestInputs(gpio_bits_t inputs); + + // Set the bits that are '1' in the output. Leave the rest untouched. + inline void SetBits(gpio_bits_t value) { + if (!value) return; + WriteSetBits(value); + for (int i = 0; i < slowdown_; ++i) { + WriteSetBits(value); + } + } + + // Clear the bits that are '1' in the output. Leave the rest untouched. + inline void ClearBits(gpio_bits_t value) { + if (!value) return; + WriteClrBits(value); + for (int i = 0; i < slowdown_; ++i) { + WriteClrBits(value); + } + } + + // Write all the bits of "value" mentioned in "mask". Leave the rest untouched. + inline void WriteMaskedBits(gpio_bits_t value, gpio_bits_t mask) { + // Writing a word is two operations. The IO is actually pretty slow, so + // this should probably be unnoticable. + ClearBits(~value & mask); + SetBits(value & mask); + } + + inline gpio_bits_t Read() const { return ReadRegisters() & input_bits_; } + +private: + inline gpio_bits_t ReadRegisters() const { + return (static_cast(*gpio_read_bits_low_) +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + | (static_cast(*gpio_read_bits_low_) << 32) +#endif + ); + } + + inline void WriteSetBits(gpio_bits_t value) { + *gpio_set_bits_low_ = static_cast(value & 0xFFFFFFFF); +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + if (uses_64_bit_) + *gpio_set_bits_high_ = static_cast(value >> 32); +#endif + } + + inline void WriteClrBits(gpio_bits_t value) { + *gpio_clr_bits_low_ = static_cast(value & 0xFFFFFFFF); +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + if (uses_64_bit_) + *gpio_clr_bits_high_ = static_cast(value >> 32); +#endif + } + +private: + gpio_bits_t output_bits_; + gpio_bits_t input_bits_; + gpio_bits_t reserved_bits_; + int slowdown_; + + volatile uint32_t *gpio_set_bits_low_; + volatile uint32_t *gpio_clr_bits_low_; + volatile uint32_t *gpio_read_bits_low_; + +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + bool uses_64_bit_; + volatile uint32_t *gpio_set_bits_high_; + volatile uint32_t *gpio_clr_bits_high_; + volatile uint32_t *gpio_read_bits_high_; +#endif +}; + +// A PinPulser is a utility class that pulses a GPIO pin. There can be various +// implementations. +class PinPulser { +public: + // Factory for a PinPulser. Chooses the right implementation depending + // on the context (CPU and which pins are affected). + // "gpio_mask" is the mask that should be output (since we only + // need negative pulses, this is what it does) + // "nano_wait_spec" contains a list of time periods we'd like + // invoke later. This can be used to pre-process timings if needed. + static PinPulser *Create(GPIO *io, gpio_bits_t gpio_mask, + bool allow_hardware_pulsing, + const std::vector &nano_wait_spec); + + virtual ~PinPulser() {} + + // Send a pulse with a given length (index into nano_wait_spec array). + virtual void SendPulse(int time_spec_number) = 0; + + // If SendPulse() is asynchronously implemented, wait for pulse to finish. + virtual void WaitPulseFinished() {} +}; + +// Get rolling over microsecond counter. We get this from a hardware register +// if possible and a terrible slow fallback otherwise. +uint32_t GetMicrosecondCounter(); + +} // end namespace rgb_matrix + +#endif // RPI_GPIO_INGERNALH diff --git a/lib/gpio.o b/lib/gpio.o new file mode 100644 index 0000000000000000000000000000000000000000..74bc7334e71d9ac07f8e20a7eeeac91744048826 GIT binary patch literal 171568 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�r|^Q?Lpqw+ZwfOYLxo6twk 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

X?z#+& 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 aPLOiW$Ei=ZZSLhp&+@k9t8;yva{mv+ES!S? literal 0 HcmV?d00001 diff --git a/lib/graphics.cc b/lib/graphics.cc new file mode 100644 index 0000000..7c2c16d --- /dev/null +++ b/lib/graphics.cc @@ -0,0 +1,172 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2014 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#include "graphics.h" +#include "utf8-internal.h" + +#include +#include +#include + +namespace rgb_matrix { +bool SetImage(Canvas *c, int canvas_offset_x, int canvas_offset_y, + const uint8_t *buffer, size_t size, + const int width, const int height, + bool is_bgr) { + if (3 * width * height != (int)size) // Sanity check + return false; + + int image_display_w = width; + int image_display_h = height; + + size_t skip_start_row = 0; // Bytes to skip before each row + if (canvas_offset_x < 0) { + skip_start_row = -canvas_offset_x * 3; + image_display_w += canvas_offset_x; + if (image_display_w <= 0) return false; // Done. outside canvas. + canvas_offset_x = 0; + } + if (canvas_offset_y < 0) { + // Skip buffer to the first row we'll be showing + buffer += 3 * width * -canvas_offset_y; + image_display_h += canvas_offset_y; + if (image_display_h <= 0) return false; // Done. outside canvas. + canvas_offset_y = 0; + } + const int w = std::min(c->width(), canvas_offset_x + image_display_w); + const int h = std::min(c->height(), canvas_offset_y + image_display_h); + + // Bytes to skip for wider than canvas image at the end of a row + const size_t skip_end_row = (canvas_offset_x + image_display_w > w) + ? (canvas_offset_x + image_display_w - w) * 3 + : 0; + + // Let's make this a combined skip per row and ajust where we start. + const size_t next_row_skip = skip_start_row + skip_end_row; + buffer += skip_start_row; + + if (is_bgr) { + for (int y = canvas_offset_y; y < h; ++y) { + for (int x = canvas_offset_x; x < w; ++x) { + c->SetPixel(x, y, buffer[2], buffer[1], buffer[0]); + buffer += 3; + } + buffer += next_row_skip; + } + } else { + for (int y = canvas_offset_y; y < h; ++y) { + for (int x = canvas_offset_x; x < w; ++x) { + c->SetPixel(x, y, buffer[0], buffer[1], buffer[2]); + buffer += 3; + } + buffer += next_row_skip; + } + } + return true; +} + +int DrawText(Canvas *c, const Font &font, + int x, int y, const Color &color, + const char *utf8_text) { + return DrawText(c, font, x, y, color, NULL, utf8_text); +} + +int DrawText(Canvas *c, const Font &font, + int x, int y, const Color &color, const Color *background_color, + const char *utf8_text, int extra_spacing) { + const int start_x = x; + while (*utf8_text) { + const uint32_t cp = utf8_next_codepoint(utf8_text); + x += font.DrawGlyph(c, x, y, color, background_color, cp); + x += extra_spacing; + } + return x - start_x; +} + +// There used to be a symbol without the optional extra_spacing parameter. Let's +// define this here so that people linking against an old library will still +// have their code usable. Now: 2017-06-04; can probably be removed in a couple +// of months. +int DrawText(Canvas *c, const Font &font, + int x, int y, const Color &color, const Color *background_color, + const char *utf8_text) { + return DrawText(c, font, x, y, color, background_color, utf8_text, 0); +} + +int VerticalDrawText(Canvas *c, const Font &font, int x, int y, + const Color &color, const Color *background_color, + const char *utf8_text, int extra_spacing) { + const int start_y = y; + while (*utf8_text) { + const uint32_t cp = utf8_next_codepoint(utf8_text); + font.DrawGlyph(c, x, y, color, background_color, cp); + y += font.height() + extra_spacing; + } + return y - start_y; +} + +void DrawCircle(Canvas *c, int x0, int y0, int radius, const Color &color) { + int x = radius, y = 0; + int radiusError = 1 - x; + + while (y <= x) { + c->SetPixel(x + x0, y + y0, color.r, color.g, color.b); + c->SetPixel(y + x0, x + y0, color.r, color.g, color.b); + c->SetPixel(-x + x0, y + y0, color.r, color.g, color.b); + c->SetPixel(-y + x0, x + y0, color.r, color.g, color.b); + c->SetPixel(-x + x0, -y + y0, color.r, color.g, color.b); + c->SetPixel(-y + x0, -x + y0, color.r, color.g, color.b); + c->SetPixel(x + x0, -y + y0, color.r, color.g, color.b); + c->SetPixel(y + x0, -x + y0, color.r, color.g, color.b); + y++; + if (radiusError<0){ + radiusError += 2 * y + 1; + } else { + x--; + radiusError+= 2 * (y - x + 1); + } + } +} + +void DrawLine(Canvas *c, int x0, int y0, int x1, int y1, const Color &color) { + int dy = y1 - y0, dx = x1 - x0, gradient, x, y, shift = 0x10; + + if (abs(dx) > abs(dy)) { + // x variation is bigger than y variation + if (x1 < x0) { + std::swap(x0, x1); + std::swap(y0, y1); + } + gradient = (dy << shift) / dx ; + + for (x = x0 , y = 0x8000 + (y0 << shift); x <= x1; ++x, y += gradient) { + c->SetPixel(x, y >> shift, color.r, color.g, color.b); + } + } else if (dy != 0) { + // y variation is bigger than x variation + if (y1 < y0) { + std::swap(x0, x1); + std::swap(y0, y1); + } + gradient = (dx << shift) / dy; + for (y = y0 , x = 0x8000 + (x0 << shift); y <= y1; ++y, x += gradient) { + c->SetPixel(x >> shift, y, color.r, color.g, color.b); + } + } else { + c->SetPixel(x0, y0, color.r, color.g, color.b); + } +} + +}//namespace diff --git a/lib/graphics.o b/lib/graphics.o new file mode 100644 index 0000000000000000000000000000000000000000..236f079b847e447a8971485d1aedd1a469bde0bb GIT binary patch literal 80224 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 Gx&Hx197y8; literal 0 HcmV?d00001 diff --git a/lib/hardware-mapping.c b/lib/hardware-mapping.c new file mode 100644 index 0000000..758b428 --- /dev/null +++ b/lib/hardware-mapping.c @@ -0,0 +1,287 @@ +/* -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*- + * Copyright (C) 2013, 2016 Henner Zeller + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ + +/* + * We do this in plain C so that we can use designated initializers. + */ +#include "hardware-mapping.h" + +#define GPIO_BIT(b) ((uint64_t)1<<(b)) + +struct HardwareMapping matrix_hardware_mappings[] = { + /* + * The regular hardware mapping described in the wiring.md and used + * by the adapter PCBs. + */ + { + .name = "regular", + + .output_enable = GPIO_BIT(18), + .clock = GPIO_BIT(17), + .strobe = GPIO_BIT(4), + + /* Address lines */ + .a = GPIO_BIT(22), + .b = GPIO_BIT(23), + .c = GPIO_BIT(24), + .d = GPIO_BIT(25), + .e = GPIO_BIT(15), /* RxD kept free unless 1:64 */ + + /* Parallel chain 0, RGB for both sub-panels */ + .p0_r1 = GPIO_BIT(11), /* masks: SPI0_SCKL */ + .p0_g1 = GPIO_BIT(27), /* Not on RPi1, Rev1; use "regular-pi1" instead */ + .p0_b1 = GPIO_BIT(7), /* masks: SPI0_CE1 */ + .p0_r2 = GPIO_BIT(8), /* masks: SPI0_CE0 */ + .p0_g2 = GPIO_BIT(9), /* masks: SPI0_MISO */ + .p0_b2 = GPIO_BIT(10), /* masks: SPI0_MOSI */ + + /* All the following are only available with 40 GPIP pins, on A+/B+/Pi2,3 */ + /* Chain 1 */ + .p1_r1 = GPIO_BIT(12), + .p1_g1 = GPIO_BIT(5), + .p1_b1 = GPIO_BIT(6), + .p1_r2 = GPIO_BIT(19), + .p1_g2 = GPIO_BIT(13), + .p1_b2 = GPIO_BIT(20), + + /* Chain 2 */ + .p2_r1 = GPIO_BIT(14), /* masks TxD when parallel=3 */ + .p2_g1 = GPIO_BIT(2), /* masks SCL when parallel=3 */ + .p2_b1 = GPIO_BIT(3), /* masks SDA when parallel=3 */ + .p2_r2 = GPIO_BIT(26), + .p2_g2 = GPIO_BIT(16), + .p2_b2 = GPIO_BIT(21), + }, + + /* + * This is used if you have an Adafruit HAT in the default configuration + */ + { + .name = "adafruit-hat", + + .output_enable = GPIO_BIT(4), + .clock = GPIO_BIT(17), + .strobe = GPIO_BIT(21), + + .a = GPIO_BIT(22), + .b = GPIO_BIT(26), + .c = GPIO_BIT(27), + .d = GPIO_BIT(20), + .e = GPIO_BIT(24), /* Needs manual wiring, see README.md */ + + .p0_r1 = GPIO_BIT(5), + .p0_g1 = GPIO_BIT(13), + .p0_b1 = GPIO_BIT(6), + .p0_r2 = GPIO_BIT(12), + .p0_g2 = GPIO_BIT(16), + .p0_b2 = GPIO_BIT(23), + }, + + /* + * An Adafruit HAT with the PWM modification + */ + { + .name = "adafruit-hat-pwm", + + .output_enable = GPIO_BIT(18), /* The only change compared to above */ + .clock = GPIO_BIT(17), + .strobe = GPIO_BIT(21), + + .a = GPIO_BIT(22), + .b = GPIO_BIT(26), + .c = GPIO_BIT(27), + .d = GPIO_BIT(20), + .e = GPIO_BIT(24), + + .p0_r1 = GPIO_BIT(5), + .p0_g1 = GPIO_BIT(13), + .p0_b1 = GPIO_BIT(6), + .p0_r2 = GPIO_BIT(12), + .p0_g2 = GPIO_BIT(16), + .p0_b2 = GPIO_BIT(23), + }, + + /* + * The regular pin-out, but for Raspberry Pi1. The very first Pi1 Rev1 uses + * the same pin for GPIO-21 as later Pis use GPIO-27. Make it work for both. + */ + { + .name = "regular-pi1", + + .output_enable = GPIO_BIT(18), + .clock = GPIO_BIT(17), + .strobe = GPIO_BIT(4), + + /* Address lines */ + .a = GPIO_BIT(22), + .b = GPIO_BIT(23), + .c = GPIO_BIT(24), + .d = GPIO_BIT(25), + .e = GPIO_BIT(15), /* RxD kept free unless 1:64 */ + + /* Parallel chain 0, RGB for both sub-panels */ + .p0_r1 = GPIO_BIT(11), /* masks: SPI0_SCKL */ + /* On Pi1 Rev1, the pin other Pis have GPIO27, these have GPIO21. So make + * this work for both Rev1 and Rev2. + */ + .p0_g1 = GPIO_BIT(21) | GPIO_BIT(27), + .p0_b1 = GPIO_BIT(7), /* masks: SPI0_CE1 */ + .p0_r2 = GPIO_BIT(8), /* masks: SPI0_CE0 */ + .p0_g2 = GPIO_BIT(9), /* masks: SPI0_MISO */ + .p0_b2 = GPIO_BIT(10), /* masks: SPI0_MOSI */ + + /* No more chains - there are not enough GPIO */ + }, + + /* + * Classic: Early forms of this library had this as default mapping, mostly + * derived from the 26 GPIO-header version so that it also can work + * on 40 Pin GPIO headers with more parallel chains. + * Not used anymore. + */ + { + .name = "classic", + + .output_enable = GPIO_BIT(27), /* Not available on RPi1, Rev 1 */ + .clock = GPIO_BIT(11), + .strobe = GPIO_BIT(4), + + .a = GPIO_BIT(7), + .b = GPIO_BIT(8), + .c = GPIO_BIT(9), + .d = GPIO_BIT(10), + + .p0_r1 = GPIO_BIT(17), + .p0_g1 = GPIO_BIT(18), + .p0_b1 = GPIO_BIT(22), + .p0_r2 = GPIO_BIT(23), + .p0_g2 = GPIO_BIT(24), + .p0_b2 = GPIO_BIT(25), + + .p1_r1 = GPIO_BIT(12), + .p1_g1 = GPIO_BIT(5), + .p1_b1 = GPIO_BIT(6), + .p1_r2 = GPIO_BIT(19), + .p1_g2 = GPIO_BIT(13), + .p1_b2 = GPIO_BIT(20), + + .p2_r1 = GPIO_BIT(14), /* masks TxD if parallel = 3 */ + .p2_g1 = GPIO_BIT(2), /* masks SDA if parallel = 3 */ + .p2_b1 = GPIO_BIT(3), /* masks SCL if parallel = 3 */ + .p2_r2 = GPIO_BIT(15), + .p2_g2 = GPIO_BIT(26), + .p2_b2 = GPIO_BIT(21), + }, + + /* + * Classic pin-out for Rev-A Raspberry Pi. + */ + { + .name = "classic-pi1", + + /* The Revision-1 and Revision-2 boards have different GPIO mappings + * on the P1-3 and P1-5. So we use both interpretations. + * To keep the I2C pins free, we avoid these in later mappings. + */ + .output_enable = GPIO_BIT(0) | GPIO_BIT(2), + .clock = GPIO_BIT(1) | GPIO_BIT(3), + .strobe = GPIO_BIT(4), + + .a = GPIO_BIT(7), + .b = GPIO_BIT(8), + .c = GPIO_BIT(9), + .d = GPIO_BIT(10), + + .p0_r1 = GPIO_BIT(17), + .p0_g1 = GPIO_BIT(18), + .p0_b1 = GPIO_BIT(22), + .p0_r2 = GPIO_BIT(23), + .p0_g2 = GPIO_BIT(24), + .p0_b2 = GPIO_BIT(25), + }, + +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + /* + * Custom pin-out for compute-module + */ + { + .name = "compute-module", + + /* This GPIO mapping is made for the official I/O development + * board. No pin is left free when using 6 parallel chains. + */ + .output_enable = GPIO_BIT(18), + .clock = GPIO_BIT(16), + .strobe = GPIO_BIT(17), + + .a = GPIO_BIT(2), + .b = GPIO_BIT(3), + .c = GPIO_BIT(4), + .d = GPIO_BIT(5), + .e = GPIO_BIT(6), /* RxD kept free unless 1:64 */ + + /* Chain 0 */ + .p0_r1 = GPIO_BIT(7), + .p0_g1 = GPIO_BIT(8), + .p0_b1 = GPIO_BIT(9), + .p0_r2 = GPIO_BIT(10), + .p0_g2 = GPIO_BIT(11), + .p0_b2 = GPIO_BIT(12), + + /* Chain 1 */ + .p1_r1 = GPIO_BIT(13), + .p1_g1 = GPIO_BIT(14), + .p1_b1 = GPIO_BIT(15), + .p1_r2 = GPIO_BIT(19), + .p1_g2 = GPIO_BIT(20), + .p1_b2 = GPIO_BIT(21), + + /* Chain 2 */ + .p2_r1 = GPIO_BIT(22), + .p2_g1 = GPIO_BIT(23), + .p2_b1 = GPIO_BIT(24), + .p2_r2 = GPIO_BIT(25), + .p2_g2 = GPIO_BIT(26), + .p2_b2 = GPIO_BIT(27), + + /* Chain 3 */ + .p3_r1 = GPIO_BIT(28), + .p3_g1 = GPIO_BIT(29), + .p3_b1 = GPIO_BIT(30), + .p3_r2 = GPIO_BIT(31), + .p3_g2 = GPIO_BIT(32), + .p3_b2 = GPIO_BIT(33), + + /* Chain 4 */ + .p4_r1 = GPIO_BIT(34), + .p4_g1 = GPIO_BIT(35), + .p4_b1 = GPIO_BIT(36), + .p4_r2 = GPIO_BIT(37), + .p4_g2 = GPIO_BIT(38), + .p4_b2 = GPIO_BIT(39), + + /* Chain 5 */ + .p5_r1 = GPIO_BIT(40), + .p5_g1 = GPIO_BIT(41), + .p5_b1 = GPIO_BIT(42), + .p5_r2 = GPIO_BIT(43), + .p5_g2 = GPIO_BIT(44), + .p5_b2 = GPIO_BIT(45), + }, +#endif + + {0} +}; diff --git a/lib/hardware-mapping.h b/lib/hardware-mapping.h new file mode 100644 index 0000000..df4b440 --- /dev/null +++ b/lib/hardware-mapping.h @@ -0,0 +1,60 @@ +/* -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*- + * Copyright (C) 2013 Henner Zeller + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef RPI_HARDWARE_MAPPING_H +#define RPI_HARDWARE_MAPPING_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "gpio-bits.h" + +struct HardwareMapping { + const char *name; + int max_parallel_chains; + + gpio_bits_t output_enable; + gpio_bits_t clock; + gpio_bits_t strobe; + + gpio_bits_t a, b, c, d, e; + + gpio_bits_t p0_r1, p0_g1, p0_b1; + gpio_bits_t p0_r2, p0_g2, p0_b2; + + gpio_bits_t p1_r1, p1_g1, p1_b1; + gpio_bits_t p1_r2, p1_g2, p1_b2; + + gpio_bits_t p2_r1, p2_g1, p2_b1; + gpio_bits_t p2_r2, p2_g2, p2_b2; + + gpio_bits_t p3_r1, p3_g1, p3_b1; + gpio_bits_t p3_r2, p3_g2, p3_b2; + + gpio_bits_t p4_r1, p4_g1, p4_b1; + gpio_bits_t p4_r2, p4_g2, p4_b2; + + gpio_bits_t p5_r1, p5_g1, p5_b1; + gpio_bits_t p5_r2, p5_g2, p5_b2; +}; + +extern struct HardwareMapping matrix_hardware_mappings[]; + +#ifdef __cplusplus +} // extern C +#endif + +#endif diff --git a/lib/hardware-mapping.o b/lib/hardware-mapping.o new file mode 100644 index 0000000000000000000000000000000000000000..2aeed6b0a8b111c860d05da31094f9fa69581b7f GIT binary patch literal 5204 zcmeHLTWlOx89uWYpN-dXoY-;fxR(tziPLy?z3YuJB`I4>Nu#DsDHrvju*~j`cSqgJ zba&QqL`$s}i9AH8h)OMLfjkscl?p`yL94#>0U_~#5CUF!K$Upl0r~(!q7oADegB-X z$1V{?s#GCyq&eSz`Tqa>XU=8Ee&X&6pRg=TMa@zRYDZJ5d{8{;vcQ6xQj-xCn8K4# z6Jn{L-=f6ugoqicDzn8tw1y!F$iY;>19zw}3k=K{hEZft4$phjOkPuO0!edtDtMw{ zWhPdR7IYP2Xo9ds?R{x8+oSUB{O{DgxTkJ;mGV}%=;7kV_DSxY`-H6bp{?$Wnc-$+ z-CMMU6^FZpx~v7)q=IJ)k6|Dn2c?4NhWmRR$hdC%mpZf=uI+n8Rc||kfme@EY<4o*Rw?c>HTENRB4V3a zna@H@B=m0yDgFHrmT?y(tdS?hm*zOhRNCtXD)n{9*2(EpfJ7$!8$fCrWUG)TE0NJ( zl?>^>QL{2{K}&y;tnbi%bn1S}4Lawh9Fbv9&K~*-bc;8FQ;B6B$RPj)^#xsX;tM{!FG0@i4`kG7X3` z6muCD;vB_!y~rH5N#KHB6J?s7MSTf<>b9GyEa?(G^Fk}@^P&iCRXbTJE(J6XP2V#l%Cs#*3gfOBD9u%o3z`7*48hx&_$v7`e&jDEzniQEDCK?U#G_w+GF|`q6lqE zyQJAd`?B_#x*)VGdP5YUUDe-WOhIT*>&NI>652ER*P;mRIsGDOOG0}=k1};hXxFqY ziqKxvtBffL?Ik@y&$7^7(f5iXwCnow%(g7FAF6$+C!vmh58X8OQ&x?=&MYgpW})q; zDLpeII}Ka;p!LD=$!v0bZhYbh_UXLJX77ZGZE8f^+^K1m9KR#`k?e=F=keW=KCTEO zlU8y(n+@$240?ZzwwlF$g&`Bg(Xj6T(ld6{vd&L3CVLE3j+JA9ADulji!#gV++-M< z;1Bl{9!wYwcYUlq3pt^_#@_n-_fHUG$*mPXlv~X&=a+JJXT9BX0vki0Wf~g%;n|IKA5zdB*bUEVyY=8K>VpOKN?&iC zg}AYDio9mdzPOyT*B>~)ru@^@T1m0gm2x#ugI2E}p6nI-25cmQ=gfZRVuoSRH4x>N|a>-FDm6ddu;;gODMG z6lDbTB~@tkI&Q)D3Vq+R`^}o&b{m*v(DybAZLh|1Spj-fgP9do*Xg)4aAfo)EKa{y zbJegr@S0t>k;8C(#r3IjeZm3UDmL&YP8%{v)lv8j=b`+ zcST4weo1DG9fap zErSongS?)iZL@t#)YW_gXN9}{-|Q&{Cs6jQ2Km!MeF66!@lAuz;Z;%Rj1!m!D^H+Y z{%J`(Y!J7nO2C;j`U!(vXYx)PJY#Up;6;O=FgHIT|YVaEdziaRZ2H!CFbA$5Hhx~sq`div}My=o#EF_>{q?4Sv($%LadJ@Fxa;Y4CRj|7h@SgGadT zsAG|c#g_Hww$2YOcLJvd4EiCqA}Me;1C?($fur)Z!9eBvZd+6laHlwJ*m@)|x|lB; zid!2tt6q1#hiH+VTCMMH#J#xhyG<84LjrzP-AG0%m9O_Y9T!(?zS|4jJbnf3LEzvL z%is0jeR(IqDX0wt#J}4%2O^eA=FONgyI7--?HC@)cumr7#N&CuN6mlaErGK)AJ2Hy zqMK{G6;}%1-xQ3DOkv1<9Usb z+ve4TJ;QNvO>B=_g&f5|RIj0!mnfJP`5uKH$#gkLzVknm9bX5&UE@xK^W(U@U8DJK zL5}CUjG*UXi(2Hn3Ik=nGqx!t;Teh=eSG+-7w0`YhCg5;lJU`h&By?0uY(tFio55XR-F@W_>GXVi}x>% CC@q@+ literal 0 HcmV?d00001 diff --git a/lib/led-matrix-c.cc b/lib/led-matrix-c.cc new file mode 100644 index 0000000..eb98121 --- /dev/null +++ b/lib/led-matrix-c.cc @@ -0,0 +1,304 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see +// +// C-bridge for led matrix. +#include "led-matrix-c.h" + +#include +#include + +#include "led-matrix.h" +#include "graphics.h" + +// Make sure C++ is in sync with C +static_assert(sizeof(rgb_matrix::RGBMatrix::Options) == sizeof(RGBLedMatrixOptions)); +static_assert(sizeof(rgb_matrix::RuntimeOptions) == sizeof(RGBLedRuntimeOptions)); + +// Our opaque dummy structs to communicate with the c-world +struct RGBLedMatrix {}; +struct LedCanvas {}; +struct LedFont {}; + + +static rgb_matrix::RGBMatrix *to_matrix(struct RGBLedMatrix *matrix) { + return reinterpret_cast(matrix); +} +static struct RGBLedMatrix *from_matrix(rgb_matrix::RGBMatrix *matrix) { + return reinterpret_cast(matrix); +} + +static rgb_matrix::FrameCanvas *to_canvas(struct LedCanvas *canvas) { + return reinterpret_cast(canvas); +} +static struct LedCanvas *from_canvas(rgb_matrix::FrameCanvas *canvas) { + return reinterpret_cast(canvas); +} + +static rgb_matrix::Font *to_font(struct LedFont *font) { + return reinterpret_cast(font); +} +static struct LedFont *from_font(rgb_matrix::Font *font) { + return reinterpret_cast(font); +} + + +static struct RGBLedMatrix *led_matrix_create_from_options_optional_edit( + struct RGBLedMatrixOptions *opts, struct RGBLedRuntimeOptions *rt_opts, + int *argc, char ***argv, bool remove_consumed_flags) { + rgb_matrix::RuntimeOptions default_rt; + rgb_matrix::RGBMatrix::Options default_opts; + + if (opts) { + // Copy between C struct and C++ struct. The C++ struct already has a + // default constructor that sets some values. These we override with the + // C-struct values if available. + // We assume everything non-zero has an explicit value. +#define OPT_COPY_IF_SET(o) if (opts->o) default_opts.o = opts->o + OPT_COPY_IF_SET(hardware_mapping); + OPT_COPY_IF_SET(rows); + OPT_COPY_IF_SET(cols); + OPT_COPY_IF_SET(chain_length); + OPT_COPY_IF_SET(parallel); + OPT_COPY_IF_SET(pwm_bits); + OPT_COPY_IF_SET(pwm_lsb_nanoseconds); + OPT_COPY_IF_SET(pwm_dither_bits); + OPT_COPY_IF_SET(brightness); + OPT_COPY_IF_SET(scan_mode); + OPT_COPY_IF_SET(row_address_type); + OPT_COPY_IF_SET(multiplexing); + OPT_COPY_IF_SET(disable_hardware_pulsing); + OPT_COPY_IF_SET(show_refresh_rate); + OPT_COPY_IF_SET(inverse_colors); + OPT_COPY_IF_SET(led_rgb_sequence); + OPT_COPY_IF_SET(pixel_mapper_config); + OPT_COPY_IF_SET(panel_type); + OPT_COPY_IF_SET(limit_refresh_rate_hz); +#undef OPT_COPY_IF_SET + } + + if (rt_opts) { + // Same story as RGBMatrix::Options +#define RT_OPT_COPY_IF_SET(o) if (rt_opts->o) default_rt.o = rt_opts->o + RT_OPT_COPY_IF_SET(gpio_slowdown); + RT_OPT_COPY_IF_SET(daemon); + RT_OPT_COPY_IF_SET(drop_privileges); + RT_OPT_COPY_IF_SET(do_gpio_init); +#undef RT_OPT_COPY_IF_SET + } + + rgb_matrix::RGBMatrix::Options matrix_options = default_opts; + rgb_matrix::RuntimeOptions runtime_opt = default_rt; + if (argc != NULL && argv != NULL) { + if (!ParseOptionsFromFlags(argc, argv, &matrix_options, &runtime_opt, + remove_consumed_flags)) { + rgb_matrix::PrintMatrixFlags(stderr, default_opts, default_rt); + return NULL; + } + } + + if (opts) { +#define ACTUAL_VALUE_BACK_TO_OPT(o) opts->o = matrix_options.o + ACTUAL_VALUE_BACK_TO_OPT(hardware_mapping); + ACTUAL_VALUE_BACK_TO_OPT(rows); + ACTUAL_VALUE_BACK_TO_OPT(cols); + ACTUAL_VALUE_BACK_TO_OPT(chain_length); + ACTUAL_VALUE_BACK_TO_OPT(parallel); + ACTUAL_VALUE_BACK_TO_OPT(pwm_bits); + ACTUAL_VALUE_BACK_TO_OPT(pwm_lsb_nanoseconds); + ACTUAL_VALUE_BACK_TO_OPT(pwm_dither_bits); + ACTUAL_VALUE_BACK_TO_OPT(brightness); + ACTUAL_VALUE_BACK_TO_OPT(scan_mode); + ACTUAL_VALUE_BACK_TO_OPT(row_address_type); + ACTUAL_VALUE_BACK_TO_OPT(multiplexing); + ACTUAL_VALUE_BACK_TO_OPT(disable_hardware_pulsing); + ACTUAL_VALUE_BACK_TO_OPT(show_refresh_rate); + ACTUAL_VALUE_BACK_TO_OPT(inverse_colors); + ACTUAL_VALUE_BACK_TO_OPT(led_rgb_sequence); + ACTUAL_VALUE_BACK_TO_OPT(pixel_mapper_config); + ACTUAL_VALUE_BACK_TO_OPT(panel_type); + ACTUAL_VALUE_BACK_TO_OPT(limit_refresh_rate_hz); +#undef ACTUAL_VALUE_BACK_TO_OPT + } + + if (rt_opts) { +#define ACTUAL_VALUE_BACK_TO_RT_OPT(o) rt_opts->o = runtime_opt.o + ACTUAL_VALUE_BACK_TO_RT_OPT(gpio_slowdown); + ACTUAL_VALUE_BACK_TO_RT_OPT(daemon); + ACTUAL_VALUE_BACK_TO_RT_OPT(drop_privileges); + ACTUAL_VALUE_BACK_TO_RT_OPT(do_gpio_init); +#undef ACTUAL_VALUE_BACK_TO_RT_OPT + } + + rgb_matrix::RGBMatrix *matrix + = rgb_matrix::RGBMatrix::CreateFromOptions(matrix_options, runtime_opt); + return from_matrix(matrix); +} + +struct RGBLedMatrix *led_matrix_create_from_options( + struct RGBLedMatrixOptions *opts, int *argc, char ***argv) { + return led_matrix_create_from_options_optional_edit(opts, NULL, argc, argv, + true); +} + +struct RGBLedMatrix *led_matrix_create_from_options_const_argv( + struct RGBLedMatrixOptions *opts, int argc, char **argv) { + return led_matrix_create_from_options_optional_edit(opts, NULL, &argc, &argv, + false); +} + +struct RGBLedMatrix *led_matrix_create_from_options_and_rt_options( + struct RGBLedMatrixOptions *opts, struct RGBLedRuntimeOptions * rt_opts) { + return led_matrix_create_from_options_optional_edit(opts, rt_opts, NULL, NULL, + false); +} + +struct RGBLedMatrix *led_matrix_create(int rows, int chained, int parallel) { + struct RGBLedMatrixOptions opts; + memset(&opts, 0, sizeof(opts)); + opts.rows = rows; + opts.chain_length = chained; + opts.parallel = parallel; + return led_matrix_create_from_options(&opts, NULL, NULL); +} + +void led_matrix_print_flags(FILE *out) { + rgb_matrix::RGBMatrix::Options defaults; + rgb_matrix::RuntimeOptions rt_opt; + rt_opt.daemon = -1; + rt_opt.drop_privileges = -1; + rgb_matrix::PrintMatrixFlags(out, defaults, rt_opt); +} + +void led_matrix_delete(struct RGBLedMatrix *matrix) { + delete to_matrix(matrix); +} + +struct LedCanvas *led_matrix_get_canvas(struct RGBLedMatrix *matrix) { + return from_canvas(to_matrix(matrix)->SwapOnVSync(NULL)); +} + +struct LedCanvas *led_matrix_create_offscreen_canvas(struct RGBLedMatrix *m) { + return from_canvas(to_matrix(m)->CreateFrameCanvas()); +} + +struct LedCanvas *led_matrix_swap_on_vsync(struct RGBLedMatrix *matrix, + struct LedCanvas *canvas) { + return from_canvas(to_matrix(matrix)->SwapOnVSync(to_canvas(canvas))); +} + +void led_matrix_set_brightness(struct RGBLedMatrix *matrix, + uint8_t brightness) { + to_matrix(matrix)->SetBrightness(brightness); +} + +uint8_t led_matrix_get_brightness(struct RGBLedMatrix *matrix) { + return to_matrix(matrix)->brightness(); +} + +void led_canvas_get_size(const struct LedCanvas *canvas, + int *width, int *height) { + rgb_matrix::FrameCanvas *c = to_canvas((struct LedCanvas*)canvas); + if (c == NULL ) return; + if (width != NULL) *width = c->width(); + if (height != NULL) *height = c->height(); +} + +void led_canvas_set_pixel(struct LedCanvas *canvas, int x, int y, + uint8_t r, uint8_t g, uint8_t b) { + to_canvas(canvas)->SetPixel(x, y, r, g, b); +} + +void led_canvas_clear(struct LedCanvas *canvas) { + to_canvas(canvas)->Clear(); +} + +void led_canvas_fill(struct LedCanvas *canvas, uint8_t r, uint8_t g, uint8_t b) { + to_canvas(canvas)->Fill(r, g, b); +} + +struct LedFont *load_font(const char *bdf_font_file) { + rgb_matrix::Font* font = new rgb_matrix::Font(); + font->LoadFont(bdf_font_file); + return from_font(font); +} + +int baseline_font(struct LedFont * font) { + return to_font(font)->baseline(); +} + +int height_font(struct LedFont * font) { + return to_font(font)->height(); +} + +struct LedFont *create_outline_font(struct LedFont * font) { + rgb_matrix::Font* outlineFont = to_font(font)->CreateOutlineFont(); + return from_font(outlineFont); +} + +void delete_font(struct LedFont *font) { + delete to_font(font); +} + +// -- Some utility functions. + +void set_image(struct LedCanvas *c, int canvas_offset_x, int canvas_offset_y, + const uint8_t *image_buffer, size_t buffer_size_bytes, + int image_width, int image_height, + char is_bgr) { + SetImage(to_canvas(c), canvas_offset_x, canvas_offset_y, + image_buffer, buffer_size_bytes, + image_width, image_height, + is_bgr); +} + +// Draw text, a standard NUL terminated C-string encoded in UTF-8, +// with given "font" at "x","y" with "color". +// "color" always needs to be set (hence it is a reference), +// "background_color" is a pointer to optionally be NULL for transparency. +// "kerning_offset" allows for additional spacing between characters (can be +// negative) +// Returns how many pixels we advanced on the screen. +int draw_text(struct LedCanvas *c, struct LedFont *font, int x, int y, + uint8_t r, uint8_t g, uint8_t b, const char *utf8_text, int kerning_offset) { + const rgb_matrix::Color col = rgb_matrix::Color(r, g, b); + return DrawText(to_canvas(c), *to_font(font), x, y, col, NULL, utf8_text, kerning_offset); +} + +// Draw text, a standard NUL terminated C-string encoded in UTF-8, +// with given "font" at "x","y" with "color". +// Draw text as above, but vertically (top down). +// The text is a standard NUL terminated C-string encoded in UTF-8. +// "font, "x", "y", "color" and "background_color" are same as DrawText(). +// "kerning_offset" allows for additional spacing between characters (can be +// negative). +// Returns font height to advance up on the screen. +int vertical_draw_text(struct LedCanvas *c, struct LedFont *font, int x, int y, + uint8_t r, uint8_t g, uint8_t b, + const char *utf8_text, int kerning_offset = 0) { + const rgb_matrix::Color col = rgb_matrix::Color(r, g, b); + return VerticalDrawText(to_canvas(c), *to_font(font), x, y, col, NULL, utf8_text, kerning_offset); +} + +// Draw a circle centered at "x", "y", with a radius of "radius" and with "color" +void draw_circle(struct LedCanvas *c, int xx, int y, int radius, uint8_t r, uint8_t g, uint8_t b) { + const rgb_matrix::Color col = rgb_matrix::Color( r,g,b ); + DrawCircle(to_canvas(c), xx, y, radius, col); +} + +// Draw a line from "x0", "y0" to "x1", "y1" and with "color" +void draw_line(struct LedCanvas *c, int x0, int y0, int x1, int y1, uint8_t r, uint8_t g, uint8_t b) { + const rgb_matrix::Color col = rgb_matrix::Color(r, g, b); + DrawLine(to_canvas(c), x0, y0, x1, y1, col); +} diff --git a/lib/led-matrix-c.o b/lib/led-matrix-c.o new file mode 100644 index 0000000000000000000000000000000000000000..be5c4493845e7fdead564ec1b6d4caf668b9c3bf GIT binary patch literal 117504 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 literal 0 HcmV?d00001 diff --git a/lib/pixel-mapper.cc b/lib/pixel-mapper.cc new file mode 100644 index 0000000..57258f1 --- /dev/null +++ b/lib/pixel-mapper.cc @@ -0,0 +1,338 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2018 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#include "pixel-mapper.h" + +#include +#include +#include +#include + +#include + +namespace rgb_matrix { +namespace { + +class RotatePixelMapper : public PixelMapper { +public: + RotatePixelMapper() : angle_(0) {} + + virtual const char *GetName() const { return "Rotate"; } + + virtual bool SetParameters(int chain, int parallel, const char *param) { + if (param == NULL || strlen(param) == 0) { + angle_ = 0; + return true; + } + char *errpos; + const int angle = strtol(param, &errpos, 10); + if (*errpos != '\0') { + fprintf(stderr, "Invalid rotate parameter '%s'\n", param); + return false; + } + if (angle % 90 != 0) { + fprintf(stderr, "Rotation needs to be multiple of 90 degrees\n"); + return false; + } + angle_ = (angle + 360) % 360; + return true; + } + + virtual bool GetSizeMapping(int matrix_width, int matrix_height, + int *visible_width, int *visible_height) + const { + if (angle_ % 180 == 0) { + *visible_width = matrix_width; + *visible_height = matrix_height; + } else { + *visible_width = matrix_height; + *visible_height = matrix_width; + } + return true; + } + + virtual void MapVisibleToMatrix(int matrix_width, int matrix_height, + int x, int y, + int *matrix_x, int *matrix_y) const { + switch (angle_) { + case 0: + *matrix_x = x; + *matrix_y = y; + break; + case 90: + *matrix_x = matrix_width - y - 1; + *matrix_y = x; + break; + case 180: + *matrix_x = matrix_width - x - 1; + *matrix_y = matrix_height - y - 1; + break; + case 270: + *matrix_x = y; + *matrix_y = matrix_height - x - 1; + break; + } + } + +private: + int angle_; +}; + +class MirrorPixelMapper : public PixelMapper { +public: + MirrorPixelMapper() : horizontal_(true) {} + + virtual const char *GetName() const { return "Mirror"; } + + virtual bool SetParameters(int chain, int parallel, const char *param) { + if (param == NULL || strlen(param) == 0) { + horizontal_ = true; + return true; + } + if (strlen(param) != 1) { + fprintf(stderr, "Mirror parameter should be a single " + "character:'V' or 'H'\n"); + } + switch (*param) { + case 'V': + case 'v': + horizontal_ = false; + break; + case 'H': + case 'h': + horizontal_ = true; + break; + default: + fprintf(stderr, "Mirror parameter should be either 'V' or 'H'\n"); + return false; + } + return true; + } + + virtual bool GetSizeMapping(int matrix_width, int matrix_height, + int *visible_width, int *visible_height) + const { + *visible_height = matrix_height; + *visible_width = matrix_width; + return true; + } + + virtual void MapVisibleToMatrix(int matrix_width, int matrix_height, + int x, int y, + int *matrix_x, int *matrix_y) const { + if (horizontal_) { + *matrix_x = matrix_width - 1 - x; + *matrix_y = y; + } else { + *matrix_x = x; + *matrix_y = matrix_height - 1 - y; + } + } + +private: + bool horizontal_; +}; + +// If we take a long chain of panels and arrange them in a U-shape, so +// that after half the panels we bend around and continue below. This way +// we have a panel that has double the height but only uses one chain. +// A single chain display with four 32x32 panels can then be arranged in this +// 64x64 display: +// [<][<][<][<] }- Raspbery Pi connector +// +// can be arranged in this U-shape +// [<][<] }----- Raspberry Pi connector +// [>][>] +// +// This works for more than one chain as well. Here an arrangement with +// two chains with 8 panels each +// [<][<][<][<] }-- Pi connector #1 +// [>][>][>][>] +// [<][<][<][<] }--- Pi connector #2 +// [>][>][>][>] +class UArrangementMapper : public PixelMapper { +public: + UArrangementMapper() : parallel_(1) {} + + virtual const char *GetName() const { return "U-mapper"; } + + virtual bool SetParameters(int chain, int parallel, const char *param) { + if (chain < 2) { // technically, a chain of 2 would work, but somewhat pointless + fprintf(stderr, "U-mapper: need at least --led-chain=4 for useful folding\n"); + return false; + } + if (chain % 2 != 0) { + fprintf(stderr, "U-mapper: Chain (--led-chain) needs to be divisible by two\n"); + return false; + } + parallel_ = parallel; + return true; + } + + virtual bool GetSizeMapping(int matrix_width, int matrix_height, + int *visible_width, int *visible_height) + const { + *visible_width = (matrix_width / 64) * 32; // Div at 32px boundary + *visible_height = 2 * matrix_height; + if (matrix_height % parallel_ != 0) { + fprintf(stderr, "%s For parallel=%d we would expect the height=%d " + "to be divisible by %d ??\n", + GetName(), parallel_, matrix_height, parallel_); + return false; + } + return true; + } + + virtual void MapVisibleToMatrix(int matrix_width, int matrix_height, + int x, int y, + int *matrix_x, int *matrix_y) const { + const int panel_height = matrix_height / parallel_; + const int visible_width = (matrix_width / 64) * 32; + const int slab_height = 2 * panel_height; // one folded u-shape + const int base_y = (y / slab_height) * panel_height; + y %= slab_height; + if (y < panel_height) { + x += matrix_width / 2; + } else { + x = visible_width - x - 1; + y = slab_height - y - 1; + } + *matrix_x = x; + *matrix_y = base_y + y; + } + +private: + int parallel_; +}; + + + +class VerticalMapper : public PixelMapper { +public: + VerticalMapper() {} + + virtual const char *GetName() const { return "V-mapper"; } + + virtual bool SetParameters(int chain, int parallel, const char *param) { + chain_ = chain; + parallel_ = parallel; + // optional argument :Z allow for every other panel to be flipped + // upside down so that cabling can be shorter: + // [ O < I ] without Z [ O < I ] + // ,---^ <---- ^ + // [ O < I ] [ I > O ] + // ,---^ with Z ^ + // [ O < I ] ---> [ O < I ] + z_ = (param && strcasecmp(param, "Z") == 0); + return true; + } + + virtual bool GetSizeMapping(int matrix_width, int matrix_height, + int *visible_width, int *visible_height) + const { + *visible_width = matrix_width * parallel_ / chain_; + *visible_height = matrix_height * chain_ / parallel_; +#if 0 + fprintf(stderr, "%s: C:%d P:%d. Turning W:%d H:%d Physical " + "into W:%d H:%d Virtual\n", + GetName(), chain_, parallel_, + *visible_width, *visible_height, matrix_width, matrix_height); +#endif + return true; + } + + virtual void MapVisibleToMatrix(int matrix_width, int matrix_height, + int x, int y, + int *matrix_x, int *matrix_y) const { + const int panel_width = matrix_width / chain_; + const int panel_height = matrix_height / parallel_; + const int x_panel_start = y / panel_height * panel_width; + const int y_panel_start = x / panel_width * panel_height; + const int x_within_panel = x % panel_width; + const int y_within_panel = y % panel_height; + const bool needs_flipping = z_ && (y / panel_height) % 2 == 1; + *matrix_x = x_panel_start + (needs_flipping + ? panel_width - 1 - x_within_panel + : x_within_panel); + *matrix_y = y_panel_start + (needs_flipping + ? panel_height - 1 - y_within_panel + : y_within_panel); + } + +private: + bool z_; + int chain_; + int parallel_; +}; + + +typedef std::map MapperByName; +static void RegisterPixelMapperInternal(MapperByName *registry, + PixelMapper *mapper) { + assert(mapper != NULL); + std::string lower_name; + for (const char *n = mapper->GetName(); *n; n++) + lower_name.append(1, tolower(*n)); + (*registry)[lower_name] = mapper; +} + +static MapperByName *CreateMapperMap() { + MapperByName *result = new MapperByName(); + + // Register all the default PixelMappers here. + RegisterPixelMapperInternal(result, new RotatePixelMapper()); + RegisterPixelMapperInternal(result, new UArrangementMapper()); + RegisterPixelMapperInternal(result, new VerticalMapper()); + RegisterPixelMapperInternal(result, new MirrorPixelMapper()); + return result; +} + +static MapperByName *GetMapperMap() { + static MapperByName *singleton_instance = CreateMapperMap(); + return singleton_instance; +} +} // anonymous namespace + +// Public API. +void RegisterPixelMapper(PixelMapper *mapper) { + RegisterPixelMapperInternal(GetMapperMap(), mapper); +} + +std::vector GetAvailablePixelMappers() { + std::vector result; + MapperByName *m = GetMapperMap(); + for (MapperByName::const_iterator it = m->begin(); it != m->end(); ++it) { + result.push_back(it->second->GetName()); + } + return result; +} + +const PixelMapper *FindPixelMapper(const char *name, + int chain, int parallel, + const char *parameter) { + std::string lower_name; + for (const char *n = name; *n; n++) lower_name.append(1, tolower(*n)); + MapperByName::const_iterator found = GetMapperMap()->find(lower_name); + if (found == GetMapperMap()->end()) { + fprintf(stderr, "%s: no such mapper\n", name); + return NULL; + } + PixelMapper *mapper = found->second; + if (mapper == NULL) return NULL; // should not happen. + if (!mapper->SetParameters(chain, parallel, parameter)) + return NULL; // Got parameter, but couldn't deal with it. + return mapper; +} +} // namespace rgb_matrix diff --git a/lib/pixel-mapper.o b/lib/pixel-mapper.o new file mode 100644 index 0000000000000000000000000000000000000000..cb48675eeb8657794bb4ff216ce7377bad27c17c GIT binary patch literal 388180 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

pnbWO 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

-N&_21twPkSt~uIdRv5EvZyR+@Y;mR* zShM{n%1k<zN^-xPaP1%Eu*J_7aTfWfJk7dQD^Pbw*;lOBz+>a3!}i zmZ4iLm~f0}B}ych>uFFByps3on4lrcV<+O!>5bVZC0dNA94U;(sVt73zM~cT$9ke` zg2C{DD)*c080uZV*TnQhK0xHq8ab%XwWL{yyOB2|ObL?6089s-px2l)!O?q`b`4vs zNLq9>(~8Nl>Q|FdBzE7#%~3!V;Yqy0M;k{?G0L*)``ob6x?KV#SQ4xX6FS<&E)q9H zUVzC+VIo^T?2d^h9k$hGbdSV4;FD|euGg_~@(mD4OYB>wd0Vzbiiyy$8=*{!d+_v% z%0A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 literal 0 HcmV?d00001 diff --git a/lib/thread.cc b/lib/thread.cc new file mode 100644 index 0000000..b107673 --- /dev/null +++ b/lib/thread.cc @@ -0,0 +1,100 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#include "thread.h" + +#include +#include +#include +#include +#include +#include + +namespace rgb_matrix { +void *Thread::PthreadCallRun(void *tobject) { + reinterpret_cast(tobject)->Run(); + return NULL; +} + +Thread::Thread() : started_(false) {} +Thread::~Thread() { + WaitStopped(); +} + +void Thread::WaitStopped() { + if (!started_) return; + int result = pthread_join(thread_, NULL); + if (result != 0) { + perror("Issue joining thread"); + } + started_ = false; +} + +void Thread::Start(int priority, uint32_t affinity_mask) { + assert(!started_); // Did you call WaitStopped() ? + pthread_create(&thread_, NULL, &PthreadCallRun, this); + int err; + + if (priority > 0) { + struct sched_param p; + p.sched_priority = priority; + if ((err = pthread_setschedparam(thread_, SCHED_FIFO, &p))) { + char buffer[PATH_MAX]; + const char *bin = realpath("/proc/self/exe", buffer); // Linux specific. + fprintf(stderr, "Can't set realtime thread priority=%d: %s.\n" + "\tYou are probably not running as root ?\n" + "\tThis will seriously mess with color stability and flicker\n" + "\tof the matrix. Please run as `root` (e.g. by invoking this\n" + "\tprogram with `sudo`), or setting the capability on this\n" + "\tbinary by calling\n" + "\tsudo setcap 'cap_sys_nice=eip' %s\n", + p.sched_priority, strerror(err), bin ? bin : ""); + } + } + + if (affinity_mask != 0) { + cpu_set_t cpu_mask; + CPU_ZERO(&cpu_mask); + for (int i = 0; i < 32; ++i) { + if ((affinity_mask & (1<;|b!5~7yGq?MLjKRH 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

wRu3qnwv^`> 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 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see +#ifndef RPI_GRAPHICS_UTF8_H +#define RPI_GRAPHICS_UTF8_H + +#include + +// Utility function that reads UTF-8 encoded codepoints from byte iterator. +// No error checking, we assume string is UTF-8 clean. +template +uint32_t utf8_next_codepoint(byte_iterator &it) { + uint32_t cp = *it++; + if (cp < 0x80) { + return cp; // iterator already incremented. + } + else if ((cp & 0xE0) == 0xC0) { + cp = ((cp & 0x1F) << 6) + (*it & 0x3F); + } + else if ((cp & 0xF0) == 0xE0) { + cp = ((cp & 0x0F) << 12) + ((*it & 0x3F) << 6); + cp += (*++it & 0x3F); + } + else if ((cp & 0xF8) == 0xF0) { + cp = ((cp & 0x07) << 18) + ((*it & 0x3F) << 12); + cp += (*++it & 0x3F) << 6; + cp += (*++it & 0x3F); + } + else if ((cp & 0xFC) == 0xF8) { + cp = ((cp & 0x03) << 24) + ((*it & 0x3F) << 18); + cp += (*++it & 0x3F) << 12; + cp += (*++it & 0x3F) << 6; + cp += (*++it & 0x3F); + } + else if ((cp & 0xFE) == 0xFC) { + cp = ((cp & 0x01) << 30) + ((*it & 0x3F) << 24); + cp += (*++it & 0x3F) << 18; + cp += (*++it & 0x3F) << 12; + cp += (*++it & 0x3F) << 6; + cp += (*++it & 0x3F); + } + ++it; + return cp; +} + +#endif // RPI_GRAPHICS_UTF8_H diff --git a/librgbmatrix.a b/librgbmatrix.a new file mode 100644 index 0000000000000000000000000000000000000000..2c4653b3a9c7434733ea5f7a3e47a54c805cf25c GIT binary patch literal 1987554 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

*4!Uf(nPUko%~-to2;@g9jC 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

IT>yQi@ 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

t9_S{&B!arM6v^U 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%0Ayt5N0w#$LE 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

W9QK68!7rw> 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

>qR*Th3tiB}M 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%0Dw}s)}(r|BOxVJIf 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%0AGbd+`34 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 +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "net.h" + +// Lines longer than this are considered an error. +#define NET_MAX_LINE 1024 + +// The server buffers up to NET_READ_BUFFER bytes per client connection. +// Lower values allow lots of clients to draw at the same time, each with a fair share. +// Higher values increase throughput but fast clients might be able to draw large batches at once. +#define NET_MAX_BUFFER 10240 + +typedef struct NetClient { + int sock_fd; + struct bufferevent *buf_ev; + int state; + void *user; +} NetClient; + +#define NET_CSTATE_OPEN 0 +#define NET_CSTATE_CLOSING 1 + +static inline int min(int a, int b) { + return a < b ? a : b; +} + +// global state +static struct event_base *base; +static char * line_buffer; + +// User defined callbacks +static net_on_connect netcb_on_connect = NULL; +static net_on_read netcb_on_read = NULL; +static net_on_close netcb_on_close = NULL; + +// libevent callbacks + + +// Like evbuffer_readln, but read into an existing string instead of allocating a new one. +// Return 1 if a line ending was found and the line was read completely. +// Return 2 if a line ending was found but the line was read only partially (longer than maxread-1). +// Return 0 if no line ending not found within the buffer. +int net_evbuffer_readln(struct evbuffer *buffer, char *line, size_t maxread, size_t * read_out, enum evbuffer_eol_style eol_style) { + struct evbuffer_ptr it; + size_t read_len=0, eol_len=0; + + it = evbuffer_search_eol(buffer, NULL, &eol_len, eol_style); + if (it.pos < 0) + return 0; + + read_len = min(maxread-1, it.pos); + + if(read_out) + *read_out = read_len; + + evbuffer_remove(buffer, line, read_len); + line[read_len] = '\0'; + + // Eat EOL if we have read all bytes before it + if(read_len == it.pos) { + evbuffer_drain(buffer, eol_len); + return 1; + } else { + return 2; + } +} + +static void netev_on_read(struct bufferevent *bev, void *ctx) { + struct evbuffer *input; + NetClient *client = ctx; + int r = 0; + + input = bufferevent_get_input(bev); + + // Change while->if for less throughput but more fair pixel distribution across client connections. + while ((r = net_evbuffer_readln(input, line_buffer, NET_MAX_LINE, NULL, EVBUFFER_EOL_LF)) == 1) { + (*netcb_on_read)(client, line_buffer); + } + + if (r == 2) { + net_err(client, "Line to long"); + } +} + + +static void netev_on_write(struct bufferevent *bev, void *arg) { + NetClient *client = arg; + + if (client->state == NET_CSTATE_CLOSING + && evbuffer_get_length(bufferevent_get_output(bev)) == 0) { + + if (netcb_on_close) + (*netcb_on_close)(client, 0); + + bufferevent_free(bev); + free(client); + } +} + +static void netev_on_error(struct bufferevent *bev, short error, void *arg) { + NetClient *client = arg; + + // TODO: Some logging? + if (error & BEV_EVENT_EOF) { + } else if (error & BEV_EVENT_ERROR) { + } else if (error & BEV_EVENT_TIMEOUT) { + } + + client->state = NET_CSTATE_CLOSING; + if (netcb_on_close) + (*netcb_on_close)(client, error); + + bufferevent_free(bev); + free(client); +} + +static void on_accept(evutil_socket_t listener, short event, void *arg) { + struct event_base *base = arg; + struct sockaddr_storage ss; + socklen_t slen = sizeof(ss); + int fd = accept(listener, (struct sockaddr*) &ss, &slen); + if (fd < 0) { + perror("accept failed"); + } else if (fd > FD_SETSIZE) { + close(fd); // TODO: verify if this is needed. Only for select()? But libevent uses poll/kqueue? + } else { + NetClient *client = calloc(1, sizeof(NetClient)); + if (client == NULL) { + perror("client malloc failed"); + close(fd); + return; + } + + client->sock_fd = fd; + client->buf_ev = bufferevent_socket_new(base, fd, + BEV_OPT_CLOSE_ON_FREE); + + evutil_make_socket_nonblocking(fd); + bufferevent_setcb(client->buf_ev, netev_on_read, netev_on_write, + netev_on_error, client); + bufferevent_setwatermark(client->buf_ev, EV_READ, 0, NET_MAX_BUFFER); + + if (netcb_on_connect) + (*netcb_on_connect)(client); + + if (client->state == NET_CSTATE_OPEN) + bufferevent_enable(client->buf_ev, EV_READ | EV_WRITE); + } +} + +// Public functions + +void net_start(int port, net_on_connect on_connect, net_on_read on_read, + net_on_close on_close) { + evutil_socket_t listener; + struct sockaddr_in sin; +// struct sockaddr_in6 sin; + struct event *listener_event; + + line_buffer = malloc(sizeof(char)*NET_MAX_LINE); + + evthread_use_pthreads(); + + //setvbuf(stdout, NULL, _IONBF, 0); + + netcb_on_connect = on_connect; + netcb_on_read = on_read; + netcb_on_close = on_close; + + base = event_base_new(); + if (!base) + err(1, "Failed to create event_base"); + + //evthread_make_base_notifiable(base); + + sin.sin_family = AF_INET; +// sin.sin6_family = AF_INET6; + sin.sin_addr.s_addr = 0; +// sin.sin6_addr = in6addr_any; + sin.sin_port = htons(1337); +// sin.sin6_port = htons(1337); + listener = socket(AF_INET, SOCK_STREAM, 0); +// listener = socket(AF_INET6, SOCK_STREAM, 0); + evutil_make_socket_nonblocking(listener); + evutil_make_listen_socket_reuseable(listener); + + if (bind(listener, (struct sockaddr*) &sin, sizeof(sin)) < 0) { + err(1, "bind failed"); + } + + if (listen(listener, 16) < 0) { + err(1, "listen failed"); + } + + listener_event = event_new(base, listener, EV_READ | EV_PERSIST, on_accept, + (void*) base); + event_add(listener_event, NULL); + + event_base_dispatch(base); +} + +void net_stop() { + event_base_loopbreak(base); + if(line_buffer) { + free(line_buffer); + line_buffer = NULL; + } +} + +void net_send(NetClient *client, const char * msg) { + struct evbuffer *output = bufferevent_get_output(client->buf_ev); + evbuffer_add(output, msg, strlen(msg)); + evbuffer_add(output, "\n", 1); +} + +void net_close(NetClient *client) { + if (client->state == NET_CSTATE_OPEN) { + client->state = NET_CSTATE_CLOSING; + bufferevent_disable(client->buf_ev, EV_READ); + } +} + +void net_err(NetClient *client, const char * msg) { + struct evbuffer *output = bufferevent_get_output(client->buf_ev); + evbuffer_add(output, "ERROR: ", 7); + evbuffer_add(output, msg, strlen(msg)); + evbuffer_add(output, "\n", 1); + net_close(client); +} + +void net_set_user(NetClient *client, void *user) { + client->user = user; +} + +void net_get_user(NetClient *client, void **user) { + *user = client->user; +} + diff --git a/net.h b/net.h new file mode 100644 index 0000000..593ecdf --- /dev/null +++ b/net.h @@ -0,0 +1,38 @@ +#ifndef NET_H_ +#define NET_H_ + +typedef struct NetClient NetClient; + +#define NET_CSTATE_OPEN 0 +#define NET_CSTATE_CLOSING 1 + +// Callback called immediately after a client connects +typedef void (*net_on_connect)(NetClient *client); + +// Callback called for each line of input. +// The char array is null-terminated and does not include the final line break. +// It is NOT owned by the callback and freed as soon as the callback returned. +typedef void (*net_on_read)(NetClient *client, char* line); + +// Callback called after a client disconnects. +// The second parameter is 0 for a normal client-induced disconnect and != 0 on errors. +typedef void (*net_on_close)(NetClient *client, int error); + +// Start the server and block until it is closed again. +void net_start(int port, net_on_connect on_connect, net_on_read on_read, net_on_close on_close); + +// Stop the server as soon as possible +void net_stop(); + +// Send a string to the client. A newline is added automatically. +void net_send(NetClient *client, const char * msg); +// Stop reading from this clients socket, send all bytes still in the output buffer, then close the connection. +void net_close(NetClient *client); +// Send an error message to the client, then close the connection. +void net_err(NetClient *client, const char * msg); + +// Get or set the user attachment, a pointer to an arbitrary data structure or NULL +void net_set_user(NetClient *client, void *user); +void net_get_user(NetClient *client, void **user); + +#endif /* NET_H_ */ diff --git a/net.o b/net.o new file mode 100644 index 0000000000000000000000000000000000000000..2802979818ae79338b4242b775c549462303b0c3 GIT binary patch literal 25868 zcmV)bK&iifMNCEk0RaF2000000000104M+f00000000000002IUjP6A000Fv00000 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 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see +#ifndef RGBMATRIX_PIXEL_MAPPER +#define RGBMATRIX_PIXEL_MAPPER + +#include +#include + +namespace rgb_matrix { + +// A pixel mapper is a way for you to map pixels of LED matrixes to a different +// layout. If you have an implementation of a PixelMapper, you can give it +// to the RGBMatrix::ApplyPixelMapper(), which then presents you a canvas +// that has the new "visible_width", "visible_height". +class PixelMapper { +public: + virtual ~PixelMapper() {} + + // Get the name of this PixelMapper. Each PixelMapper needs to have a name + // so that it can be referred to with command line flags. + virtual const char *GetName() const = 0; + + // Pixel mappers receive the chain and parallel information and + // might receive optional user-parameters, e.g. from command line flags. + // + // This is a single string containing the parameters. + // You can be used from simple scalar parameters, such as the angle for + // the rotate transformer, or more complex parameters that describe a mapping + // of panels for instance. + // Keep it concise (as people will give parameters on the command line) and + // don't use semicolons in your string (as they are + // used to separate pixel mappers on the command line). + // + // For instance, the rotate transformer is invoked like this + // --led-pixel-mapper=rotate:90 + // And the parameter that is passed to SetParameter() is "90". + // + // Returns 'true' if parameter was parsed successfully. + virtual bool SetParameters(int chain, int parallel, + const char *parameter_string) { + return true; + } + + // Given a underlying matrix (width, height), returns the + // visible (width, height) after the mapping. + // E.g. a 90 degree rotation might map matrix=(64, 32) -> visible=(32, 64) + // Some multiplexing matrices will double the height and half the width. + // + // While not technically necessary, one would expect that the number of + // pixels stay the same, so + // matrix_width * matrix_height == (*visible_width) * (*visible_height); + // + // Returns boolean "true" if the mapping can be successfully done with this + // mapper. + virtual bool GetSizeMapping(int matrix_width, int matrix_height, + int *visible_width, int *visible_height) + const = 0; + + // Map where a visible pixel (x,y) is mapped to the underlying matrix (x,y). + // + // To be convienently stateless, the first parameters are the full + // matrix width and height. + // + // So for many multiplexing methods this means to map a panel to a double + // length and half height panel (32x16 -> 64x8). + // The logic_x, logic_y are output parameters and guaranteed not to be + // nullptr. + virtual void MapVisibleToMatrix(int matrix_width, int matrix_height, + int visible_x, int visible_y, + int *matrix_x, int *matrix_y) const = 0; +}; + +// This is a place to register PixelMappers globally. If you register your +// PixelMapper before calling RGBMatrix::CreateFromFlags(), the named +// PixelMapper is available in the --led-pixel-mapper options. +// +// Note, you don't _have_ to register your mapper, you can always call +// RGBMatrix::ApplyPixelMapper() directly. Registering is for convenience and +// commandline-flag support. +// +// There are a few standard mappers registered by default. +void RegisterPixelMapper(PixelMapper *mapper); + +// Get a list of the names of available pixel mappers. +std::vector GetAvailablePixelMappers(); + +// Given a name (e.g. "rotate") and a parameter (e.g. "90"), return the +// parametrized PixelMapper with that name. Returns NULL if mapper +// can not be found or parameter is invalid. +// Ownership of the returned object is _NOT_ transferred to the caller. +// Current available mappers are "U-mapper" and "Rotate". The "Rotate" +// gets a parameter denoting the angle. +const PixelMapper *FindPixelMapper(const char *name, + int chain, int parallel, + const char *parameter = NULL); +} // namespace rgb_matrix + +#endif // RGBMATRIX_PIXEL_MAPPER diff --git a/pixelnuke b/pixelnuke new file mode 100755 index 0000000000000000000000000000000000000000..e6102a6154b7756e1436f19f19e5bf5d4c907523 GIT binary patch literal 1143708 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 jg#% zE`dOhf2ST>CV_B}f2SVXLIMdv{+)VkO9`X|`FHBEtt5~U7Rb0BTcBXJ;XHZ`UeDdkhmn%n|84+I zVO$;lo4RWc0RXiJhIa;9m@XM+NbQS29sZlTYhOX{3?$06uZ35z`y$wSMlAnLJ^tFb zdq8q+R(9-=NuaD1O6*hP;9sZx{5SQ4EP4KUvr)9409@CIwc$<3&U%}on+d6|pPd%z zHH4lwuVMl&D19P?ZvXiSjHI?|pHC|#h?j`OKk`+~Vbnd#g8G+#TLhad&$=#l6it zD(-&o5pi$#UKaNb?_c5`@RH)F=T5JwxCg!N;vVv5i~C*LyOQo7)3U|=DQ&&b&!-&_ z_m{N4#Qinxw79>eeIV}dX<6~u_cwOjJR_-(wWG5#+Csh@rIbyN&*@>^0ZwxehLJ;$ z&*@@q2B$L!739$4bJ|$#x+nwnXlx{h9-mWYC9F}#280igLyu87Vafs{@u;;5GXmCt zP&Laa8dMAQ6{9@Ht1B}17>FG@W1M9S;f9&bZe&XrO{?q$Q=%0Da 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ℑ%d> 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

3*bJ$*A-(d+i>COOCs9vm9+01%5HO{ zPS%>7fuLE@fv~MjqS@_39V>ETt))wN!D=X;@CWOdcp{S#i6_!I95(HM8Hy*Eqqum& z&cSK%1hR|$h$ncPBc70`C9ENo)~Jl#I-~qZW}!!a;Y^e(nMG8fPfx>S780YFM2DAg zSqAwzvLA9J(us*Q!W=K;u|y>QB@vZt?NPfqaoKnu%8kN0V$ti!873PcFIPB)>|vO= zguEP}$wBJk@BU#*(s%!`kh1UoAtQeGkG&5C;5>)o_)JFTX@t9f_~?-D{_(h!EgB&& zCK@qNM!5SY#6*ckc#K3N;AC1ff`rKn+9|@El4HYIg;O ze?_UXU@TUXwW+1Z#FyD2>)57XPG`W*HC9KSlna7M3?cp`;#7%4fQELh zvZgJPc|Dijr*ugLTk{GrKVyk$LCF=IqsL)JntBYm(OA19PqqyuDv4W1efPQN^#pSX zmQY_svJN|_fU2g~2OJIj1GlVC=l*xNo9UQS1stnkWw^*x!{X+_{mXiIEUh3)QA4uG z7efKFB-8ao4-L;T6a6VvI0xYQnalk=oHwuywZA-L=^Su!;ssfHS7q&IKL@o{wC}&4 zSQ{0ByCI9yBmx_{FufWR>*7vjP*i}9V`m4TB`_@&GC2ZMcijr64w#yUi+^B?U~cZ> zl~ZhOy9~(k(0c<;;wEk|-JtwaY-sn|(4Gv7k} zNA2<<%vl~l&NY?e)gt{ZqVqYU{eHwyf0NN>uracKP?n5x)R_>JAl|DA)+2DxT~2l6 zl?5e>g9^g&z#DN)lpVItj59#iSrPzpq?m}+KcyXK56{>Ksb8aVGXoe5gI^VU-i~r9 z%0D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

oq@~dp$jQsNNVVaO_ZtwEdLJAm?8aiSVrRuO= z&6?Xu4XFr240%~pCK3_;mqtU<_T?By%D|8UhNOm0jEPcpII6N&Bukl!FvO6TMP(up zVOWV&^teh%wG>KWNC87qLq}|)#6}yqX+5KSZdnaOh#`Nr8(Iv*pySL4 z*<4B58ZN{nuk6W@Yd`d&6@68uq_UY(7*fEH%w|VyqQs^wxbLfkLq5uYHmSkxEUfqC zaER?~L+j89+9H>^BhEP1TX$If?hRAkZJ()wy_iE2dX)%vZtzIN0w; z0j{doC8|3jEz=CU|4g{sp!^#VhAMH=P8&l=YB_-sQ938wPBZ#lRAo_#sz79_emEub z>66vN(VFOCD94dQ^s%J2F2sZlg*;iT8uH^bIXXRG zY%CnIQ|sbFCdF>JY$3alWFZHvowhiv(H*lwRQ)nUBa_aCs@fghkMXt~0yatQ7Ou$C z?`6@)WTDImq%L+GV#rzaq`>tl-sCvQ(8n#8 z9?#Mvrd)ifi}-SeKI#%&29G5{;JyWyoc|M>jkP4yMR-cd&i|c!Q@y$i#3(*bj7H25 zBPJ?SlN@ad@ZAOYsC)`?K88!y-%^y1@9rZ0bcR0aA}))^)B*TER{A@~U9&)aAU-eN zc6iF^jXr>!V zNeZPCe2Bpdg9_!Sn=#}GN^l#sm&zi$JOyz$vE321xBzE{EUa(?@fUEV=m;M0cYnlQ zO_G*`G#5#JysprjtYS{GsTtjQG8CC7L!)Gfkr8#fT(jxOLzeQ8QJE!o6E0a|3zxNvTu45> zH8NB-rI<jL`DUSD)c znu?<_+1mTH9MR9_A(?;r$8DoavUOA;IR82oc%9%A@m2`FfYZHS`j*Syv)@m&lKw&@ zRS75pP3zKedM?7T8N}RzcYFa-ms294MzDMbnWhLRg9_AI^ic@}I9)U#h;crOJ1yes z1S>?`YXnYQ-H3b5ic20UbsCsB;dRj@A;s^~mQwaxdBBUb4x(6q1|BBh>W}$Lp>Nn1jGHctVz9 z)9%NQqj7Y)UJ+Mf6X`9D^p-}7U-a#gNE-x9kP%KF3`Li@R>^E&#O}9?+WmIb!Tomfx;3#F zq$qI_4mm_{3J%xgdRp}SLhuy==Dgrt4D!Q?!z8yvZc>$^4L%3xcQjFS0ik~mXNIdN zT8y*KAX)5pLH8UIhbnvPI8*qiaPq^+b5#9Gby=w5-Y?X0OwADPX#z9RJ_3ivq#x+z zaAqw6_geBqC^{oTBTR{ix|syJL=!A|G)mi4eAf7li1P}ZFf2!HVNoWyT@TR!)pUmU?vTnkrS1vB|G#KBhfwqE`!U0 z`fCIs#h1g(JK!PZuJ5B1%}SmSUe1pb7Az<;)QV=D%OuX{dwUpl;s$F^fnHtZYv9YK zE+V?UNNixoG|8lv@_*K78MH;67&Zw6m_OBP{J_)K2 zd{ewNf|KH%B(Eyqjc)R9@DvS7z9htcB1DQQPf;PoM?zs%l5u4bkAI)j2fzuKCNpoM z3{spGiYkFp`0?FQoEM53fl~PG3`g;=g`!TN6ehdh_sE3$P$jyFpj*OPA^2PI)(BRM zuCK2LP=Tg&Rsi|DgeOwVOk5|mp+dmvW-7I$STE=rfl?$=y9(%vP&5eM7q2guE*X&+ zuosTYb3|1ZTu+ zA~*#Eonh-LK8=(687a!1*X>QMjuFDrhPQss=$*L6Et3bkE1>D=#(~Jkrj&#wcj;-=}k1ZrN53RjKbn0OlmWYSq~NN~f&t^py< zp_Yi~jo{q{hx;|(Uc?G6B{13UHyNLUbH9T=^f_*}Y{yBzz;*J4cN1v)B zl~_3}VgzDeKJgSHR)h8DA*+#CW?&!JbU(8U`QS7{y5+ZO&o7&WO5r=xP$|rE3#EqI zu-%o1>0vbiq{%Hz$B|sX;H{$eVo9MiOAt$4SQ(kmP|?M0wAFA{Rx=H?NVDYOsRa*3&*8s=nAlV~fuM#MG!?ITmdt%fh>lg1ax*7o^ zNcOR~2?!F6*pJ96>^s^H!diDzbH76R> zPOyWYK+pv^$RODDUy=Lg$6E9#_v?Y%TPm!#4hmrpX8{IHj4UzXb939!KjcP>DlpJZXgGel*}ojHo{RCLKS9o2}mzYIfj$MSS?N? zVOqDghq`5!C>Z{UCL?9IDb-^PKKrSXJnJ}W>gQHkN zdN1Ez+>x0OdxZ^hmq`0OU=P>Dj3uQFq~}Afd)!6bwi& zOgZi)h2ahxqSR=83^4aS(zD}(Za}UO1wAEoA!;=obsF_oN z`bUrSO%-?3Vy6EBUzGSsw0!w@zPn_H@r&ywcLv|AM35D-WD3}y2p{Np&f*GD{tAVIyiIO#zM5jbjoxn*- z?)NiF{+$Iy`KTyHa8bOk5nNR)LE~K#yhbo3-U@*x!i;4wo*->l_;yf)Qkce~aoz{j za-o{+2l!OIcL6k_$+_LTt2yL}ZHly^IMKZnZ{Gn2PMICrh`oVzNX zGx6pyDVUIF@M-C|!B#wzu|U=Xxf{-G%Hhbir!-Y}$|FsF?DEJrG;8#_KGA34u$lFV zr|{zuY>loiY_T%lc{sLq!bLdfK|t37)qfKGc8mU#8sy?&cX9!Rz*J&w=wJK;81$~Z z-0uR~pQUK!cLD8eidKH-(V|+p=;5^#&ae7jfzBvb0;-NF$x-t4YjG2>5)e(ungD87 zA&6$h&`Rm;GMg9R4|@34iTZ>HS!wa2-?yDcWx=vim7=x2>n!0c1u2#KgQJ8IXubu` zGhMyE{;dy=3ixjCj6Fr@$ZP~S&<^Ij2q=(_c?Cd{zvJW|jSxvnx+6+T57?kSHX;iVL z5)qImOXL_XEn*+#h)5*3FWv^h@^=JF@R4{M1RpDwpkLzfMM{a3b_EVy1_3Fu1CEXQ zo)Fgv7$=Eqtq^<7#jXKVpd|{_2%PxjQ04TvE28TJPIO&F_lkr%fs>FO$5ud_b&?s| zHv&)s+WmU)Xl87`6tic>ged9<@p@s{G3HT=LvPC}=D8EmHd&e9U$aV~l0|FtP z8JO6d&H!~jCLz2nBz~PiqrU{?6$z*lT!ZV54j*gLqYQp5VpAabWjIDlcmob;R#_a- z7!ip~Is-Ccs~S?T6Qj6>iZKca=v7v&#$d%9V101EU0f;JZ>4DEcLDAH_q$2C^4rqV zPd(zgN)=4)JS|mZiWQEErFsh|hx~CfBEL3UX*e@l#Zs+?l@Aq<^-raG+kq){f0Sza z1!few?+`)7wM<|cL2PfB+oVHbWh;j3F`930;4R_9?+;X-TKpAonS0eQ8?E z=|CGN!X*()H8C<>ig?yA{X`6kdkr&}Vzl#NaU45bU0zcL%{~@%q-p zPQVef=>=+U5xG2P&=+tdBfJMEXW8lLg;@MJ-s*#ASbv05?rimBxdVqv=V**kfh#sb z!JwY#Ps-7aUk}rN+WdBkSV*Zi;PC$PHo}{5z0ofxzW2-5zW1FLe=*K);?Cu-*8S>x zznuEscO_s2#IA!Q8{v=O0vmrZ4H>o&^QxG{wg3%f2u1!@^viAEyZb$yr9C@OXAag=*i(gOmJ&n ziizM3obu7PY`+8$EQiwo`WRcHG_5LFA&1cGBEL#7{9{sYCvftstss9p<$ntfE5!sZ zs%neA;RDJHz*wn6a#HM~W~4VI(i(v#YSJdEW+I)miKc;UMbX zA!;)@4o#*c4^re&6c}n`I4=w}0`fi;b)S8yI|}?}GRcGl?na2N5y-s>=LP^W48Zk9 zhgS6*TG#X2E&f^$hcTF7Zz9l13gj;PxT!;7G5zYEL+c^T(8m}@&qL#eexT>j21EZe z=AMFZ*ySUrli@ST{ko$!r$ebeiJ9D| zu?TjkFQI*maKhz;ywI!m9SVoN>GyV`BmV=iw;weN<&l!W+z=&*5N}IR%UJmi)IR0ycg{Y9x@m;7ra?JEG>{ zs2!mSGuj2D7p5EwNnug+9uOCkNSyfv;*KCaJ3g)k#F-=|bs_2;9Caa7VMdpL^umcTBiw5+|-y0*J& zn^ty(PIH`<)DzQr1 zbYnur^aMU0<=%jRL;~Oe+sfSX=d^MC<1T78B2q$kLZ(dzV-3Pr$T4S z@svk;y`qT7(@9E}BT*m2Q4>NH=2sv~5~xToOgYXbg~3PyLUs0(jNuZ{SK$}~p^|uY z@ihjI^n4gdfm|Ua=-zK97wV=3y9hXM_mY2n9(I5y)fk%P71^P42T%t+z5aP${EcSNLF&i)jLerXq`c!^9=GPj7n0Ef>}ME%Dxui%f{a7IaV zz#i$7gOMJ{OG!%R4N=$Nq*MV_m@QS0^umxh-GjY_W6+L%O`1vXJ&*JP zF}(ruKAf4dQy@`&$Qx=$sKShP0qKP)$1=%LA1$m-Af^QA+0jP>@xCBEJ9=p#)+H&a z3sJ*x)P+!m`4~zPs7NnNIYyJhU`zs`(HdR$dZcH^^ajZJBs+B>>KGh#Ayi>Tmw@!b zl;dPl7`v}qsInUlOJVNvy|EvZw2KQJT!ZA=c{c*Ni3P(mC{~KV#$GSbQy@m6xF;=T zJ1OSjQdOxGF}xR2m_|aCSR*Y545BHDf4HIS34A=t-6wjO)R3O3xd4aSwgTZyJjJbs zSWTJFNnD{s;3*N}I}B_m0C7=}rp*$WqGX#TdK~U)e%6|8mOtKuGbu(d=8--DSg!(d zDoM%GCu$y!IuoieUzJJ{s7NnNITo_QNJp*NW)DF-`ZZ}Lz3+RZ7l_#jkZ0h`uutuX zItNGX2vwNTE+D-yp z<+za)hAIn$Mr-mVf*u)Nh%AeOo|3u{wH%JR5GtS1B_NG1L_P;+G8wYk{GG=c(ra># zv_kL&oUXIexAc3Sq;c7Tg6TJ5?6ixU(9MA;)?<=}ZQc^)7WmTK9YKtlRxumR0z?4Dl3n%FL2a>cZ z0aKyN{q*e-#j6BNhX&C1HyS{|lxP5bYb8xpg6O}CqoC(=IHjU*H_|4t)5A1t5PhfN zFgqb&>NOyhNV(jgFu0g;x--y!enR%+ekUESp!^{Tf*=GATH z)mtI+>NfN0t&n+jn|bwC$h*dI3dBKlS+t zV(FKnfF$~#17sP{&xo|bePDAZPj;ELDVAL}vdczx*~l&%*}AN+G33eaHL`n+>|P_g z*U0WQvdx2fx1k|ZV{Bg@;L|?_(y^N%96(*^ixzu(aANqk7ni{RC*~7r7L(M0RTvX7 zs-Qy67Sw5weFXOuURxXZhkm?eOlN_{yA2>Rd%=zci*v*Gv$Pqfq1D z{fePaMG{X*x8WpBfPKH9f3QWkTKsETgyZ60+ajD7|GF08Y4N|%BK$=BFSZD;i2tP) z;cfA+ZxQxE>r(V`i;yWOMc;1`GP_FA4_ZvlGC1N1SBn4T7U6pFuWu2Ki~pq-;coH2 z*dkmM{|ha`Q{rFOBK%nVYg>e$ihoUukY!`g|lj=PKa8|t+04}Nb8o&+p-UWz|CzK1Ig*_Dt+n+nIDq26) zRULN(9d|5;*nWv&$2x$G>TLk*R_`LfN%fuqIIG?Z0GHHz4d8})?*gcfJA#fof{uO_ z9b`yI_CFlcftF8Tre;+oM%8^%GPP7j#m)T345i~3g6QCNb+5bJRm%S7)WYyRENz^M$q%QR{BX+252v2| za0J&O<(3jI4tl zr}BGy4n-^0g)`JW!ofgec%$}ZBUEI87_1+HBP9l(NY9EbWP^Ggxpt43Qi0(n9LHk9+i*zYeE^kHkHAPd zq_EtMT1Ih@lf|S5RWc{mu60n3=9n>dqOKXF<&vb_OqFf|K~vLG#__KM`j!TLj#M(G zprVqD6J92kW{lxwf-%Vjms*ztEkc#DBe41wiI<}hPG>f2@Ge|da;y}k??u-H2g`}z z#vHwq1oy;SA?V#FSb}ef*H0@|MRMMPW4;oqlm=OOhRGHKW4;2Ct8nFL@nTntzL+7X zg;ftQ?v}_J3joK|>nO0qLm{G~F8~HE0DTM&=^=Puya@_kcw2r#Cd=vx(s5N`A#^o_!SouCQFI0$#c zDLZ|?h(icZ`w;rhz=56M&)~>T$iympr*z^%D^j{jQd%R3Q`%=!T9cH<$?LPptF=t> z`fT!QEhaBcQ=d&!t!2{GXVX+`F->to`fNfTZ0_k2%OstVB-IJxB$aKF>XM{eQh0TO zICW*4y1JxpHFQElBlrOv28_>6(8KgGlk1YwVf+FWL7eEaO>|unJ+DLrOgDF#@Hw0u)1~K{;Eif{ z6bR>IpMyh_Cs+Z;?63H)-%U($gl8JP0~|FY-0-GENH7d1vCuQB_|E_+J<%th0^bEV zG_N?#5C;PvsE^?&n($L0F*Z;@dOjovRQH9_BPr}UP`BVHj8I98uz>V@q6`$K{x|`5 z7vR2notl_d0-O&j>VaMXrSr5SAk(rbgd z4oZ!}r`IAqB|2zN>5-^4K)w%WZjvx(h&l^LT?jP>qf0<~VajnXDU2Dk3l(TL9NGr~ z+d#5?kf;IdloAn;CrcDX{Y{LzyG0hk3QtBKWgrrYOa77TQ{k!+T!O=vXD{LBaJY-} zvlcy0T&)$vc~e709)qYEkitkIARQiD?=lR2eFuFDh(Cifm4dnZ5m4vhn7f2ZVsbYi zeePnP5|nr05}m;nAa+9!69eiskXMtGjFzYyaEz8vg_&pr(nqTtHbLa4%wE&*wDA@aGTFq||2LZkI90P|&!^z4x!Hwe3@WWEqJ z4o6)GRhZEwAiXfJO2)7n=nZg;flw=|i6J08AGTYO$*gXsZ7NdPJtanb zQ0)~;kBkI4oMfjiL^a^33!(BET>{bzQ;w;mFzmr1`Dc?^V3CIXsHgNu9N_};SdyIz z5_KAm3KD7zM!|se!j$9vq%iDq0>Kt)nv5cE38iV;pLj|yle$pA1vuHcT;yp3{J05+ z9ty$oR}v~kdS*0gPwA1^&I9sNnjK9WsH<>HGNB4HNe)OaOgXM)g^`)*ahmdBdgD?qRw&P=;qLI@Wi z=AK|9fr*N#hgbTBhp)BW(F?DF-UFh$A3xCdB23d}*oYifCd%L+bs(w%M;!?F3W?DnAiXf2C6SRJv;43wLHIEo zwINh#Mw@{2+Tdg+C^ZV7UW@dU=t@1MN21mM`8k{!HkmU-U4x@8gc^gp<+z>{ z23r*wdkxNXi5BVEEz($}Ghn?a>?VCgek@3@5~hnlToI&~$)pgy7w&0Xt&#II{PB^{ z8FP$OiuBBAomnLM2Ot;I?0E7FsQ2KQV}vTqjC%oTVj%JqoauI{Gntt_UPs^&Ao?|F zKE3$*oktph=dwtgBLwn1oaylx3sD#0s4}6(U{nrB69bW-!5LvubOQ)>oQXmXNY8F5 zO(92MT`%lDeK3ZBXb94mydrZc_X?$tNVbcCD#Q7b=Z|$l=Sv=R9_g7e_0A&EDFV4H z$3m0onMp3=t>333<#rm(0o zQOsJZOsK+)$^q$xDaTY&7-Y#Gp9lDXJUmb#*Z`+PAbq16K)?q_vSZ@|5ots-Q2!Jh z%n5=%lpm(T1k1%+Ay}zcf&sW}gt68Dl=q&3lW>{~^nDD6oF`xm8bBYc3^EhAxUzY|ST>4; z8iA_XAiymju-6D2dpg-4f#aMoR|qbPcZ%TODi;5mzf16c4u=dNxGvt;Du|#Varw6l z@Jl|u*$2;aaBLlf{cy-rf|YPs06Ed3XN%&=<^D!dqID_U3IU7VG;mTa2kIrIARt4E zf>hsxgT4gJs%(K>LEN__{t5x5ro>$DNO2n!cU1<`8kI$c?UkeRt*+=V;h+k^Rk*Aw zfv9SUl7$|KYL+Njw1KE@iLCLC%#gp)|FJ9jF&s1_I4|Bwf|FiJ`p&^&#zH{pS?!&` z04aJ(iO4 zO=OKg)3VcYB=gUuA@J47cM1-bgW!EQ=0Uwh-+2j`3feTR?7VEpiUoL%3SWhQyt0=< z&wH9Wf?tTYPH-AdNa$f9AOoDHsD1M1v|*E@R!5PU*nA!(JSO>DWmYp1q8)pHpM&Wp zTu)T_uw4DHOg|Z)<-yJm%lIJmhh<9mB8B7c+i;GLe#TGFdl2MhU?o0)o|`>5di_Tl7$FI<^(StrDVLAC{dctl@x{L3qID z?{;~-&NN*VklWj0BqYR-V}4VryO19vwS-=r!aa>sE9xR@d5&77VAwr4q@17^ zWX6sY8N#nLbw`8GqxbfKmSQb^7ZHl|mR?ucA(P4VXwz0pPcd7vS(A@0d$bXu=|1%@ zF+GAq0Ks+fHV9Y{PjhFsXTu7g_hdTn=_VZ=x|9niR3HaP{ksy=bw}s}NO=VkpNc;C z1kIn`t8m@yBIsdkahQ{%@Fo~H{4o{WNl=07j^15p(X$auJ=jC-*_hN2Yk%M(1=W2-yvW9jJ{zgeKupCx>giaPBepmf4f`R>z%iytfKz-pnQ^F^QSLMVx0PLfLlf8P*EwGYdti&4I1P-+Dn)>8;Jz+o}+M2jBA zV%Aw00m+xcJ&X7C{!{Pw27mRvzyJR;_clOUW$At2eLuQsW_o5?yS-Vw)81|Gw$_x) zmf01Sh)tZfOe~Tm*|$Gtre~MZ5{F2nOe~~fJ*^eekP?ZBjU!ZxZ5)xjq(qgem_!|m z#Ka~RiHJ>N5)qq3*v1iwaYAgWOeMIMl8HCJ|2g-$=Q;O1Z}+gW<=o=WbMF5PZ&vu$7Wiv-uSA1yK1^QDyoi#Rp9b>J^sPn=rOWa zsA+hZ>ki*OPpULWsM7A^K9U zIStX4dVBCEI0*tym=e!HT>FI5p9~d!gf6eG&w^DY7+JaEv;QJvD|CMC6hj$GFPf6(;m`@=(oh`p*ki{SObbTzeX?$S^AIRdhia2IO@ zQRQYqyx#aAI;DRYZ(eV_x2l>atA&uVI|>=2KyH>ru$0lXJWVt**ESQojsWd-%x zbu?Hp1D$OTV5o>X3D?7roo!VY>)qMb$ZRBf6Ggh;&_1b-Moi$~{ls>6@J9AHHF4O| zY>;-%UrV#37rcz>XS~zzkI~O~r%%sSr-*#N$w&u;x~iRD(hJ>UYFQs~pyTHj7@4gK zqRQyjtn(n6t)@3Vh-RT_ZRXAEjrXQ$dHO@-76(e2=K*6aaXA!MtTlcHNWXR+4OYxR z)A9<2>J8>%GH&kZR~^;GdN(bN%(}ccQKb6~?UU+gXauI^A9*#KmSXRMd_6Y=9BwcSB=%iWcQwzU>Z1M-T6cwcO$h6B3jMI-mh-)B z(hN9^@hO0t(h6+oVJ0)oy(rt|0<#>BARO1+v z58iNN(hcs^q;?ITEeTYvsrurlL5Quw9^iiCQS}RCH<-jeZZ7L;mUMRo2dfg%SJNNS ztR0|Q7}ey8(2z|4t_YB|d+XwENi&+aG1h0noUqI(n47P652GCi@asI7q-oaZV5xOz%# z;L%U9TH}X;#*#$TXuex9A5mjDX*A!&O2cnwx4=WAae3g(ICH+ekKd`6o)|{Xn+N6Uls?X+~tS z|Vf_HY>KGYE9uCMoMBZ^8@*-=z(tplt-DJvm6 zIb4Of2AD_x;5W4b$;&=#;n+r*7H&-^i;$9kj=w(sSf@x#h2o0Dd}JkdM^>(`MpiGJc{aH@GH)XOk?AlKTcz2W}wrFET)57Ua){v@Yk#LYVnH;pZ?MC|L2D0%AbB% zYgIeZRiZsjVijUH`Jw7aNARn%hNQcH>JzTJqdR$Veb?#AwcuVh%Tk1H+yn6O={KDZ zHBufHL6~|+DO|E0>jJMuEYopelcss23CHlW4k${T48;|R^O2QMF#oAFcuG#blAL_S zS*CcgWCrSVvrt(kr+~_mir5}7^JO=^b;RBUVW93&h=(r&wTSfqgqk%9>WT0bi}|R! zvKIUhHYDBu3%>hf$IGSb%T8Bu1ZHpZ)FsOj7zJ!QQS9?|)Nn4jgwhodcACtb7Qsx% z#Wl?f__`chAaNxWS0rvmRw6breX0w_FR9M6e|VCShDQOe)@4aWX%CfUEqzND4|RK8 zTRL5lg73p#IG1g}(ubGYr!Kpyu=3I=^$2jE$rLVWyqh$d-yJeSwV7_|S$etMJEr1t z~E@!s@y&|z^yNd5f><`6(#71N#{$^w) z9)R`(1m1NjE6D8-WJ%&-D6UF80`UgAN>4+@mnD>eDprOnEdst}kXQ}HRf)qO8mn|H zRD4-NiALj;@{&(Ezh9pcO(muLS3)|=68A&#EeT7RpMwR@j}RJMMBwd|4PxvcE$aW%aY8or^C#!#hSpD0GX+`9d;9N#g|aSWX%gkvJ+-0{gn10rLEaGS$&-!GR+NDj%j~gU+(y{nUR4>X&+MB zt08c-Ryn3!Tc@7^~UxKS<^pV_Bgn+pwF zmH1RBE=kM-ZpMBvRAEoxSC1gn71@n|^9Gy$+pS<5jH+8EJhWc^zPpUjIM^wY#;ZKF*^5ETAVP)S!{{Xd_iug4UA6*@=*!#CZ_U-6}=%k!+Ls zax!1@=F7umzGh8~G8wNVDrVmCKUCFO%> z@vi7`K3U6E;~T3~kA^%35`O@ovS=zg!N|ANSmpltuTeHvwr{%Qq&jRmhERv?1;3l7 zhCiqKJqxegeB%=*I$`I)!qki3xA2MM)o=OqiEd!N4`y-U6Q4fO3%mQ+{hjO%58@;C z^+4HN1Wd&%2z4?=iR<9wyiRf7!YkkUmc@txKRvuh<&&tZ{+|Z?Dc%@0>Kv~=Jru1G zna`{0eCu@hTg{&ic+;Al{@h2`{Sd&b zgeLXqX(}l#d8K@nla!XdQhsVmN-JI|UnFRlcW{~>0P>O`DT;4P=m{BEiD~VQoK(H> zQZjx=#dghhXC5$p$exXe+97-`TkIaTamwmcoF%@p$f`h_f4Bl zYMsB7q?(J4g!ICZ-srntQi^YcIO$YRt* zck_N9cbI=IJIqgV*nBNN%)iz;%u~M}Qa1Zy(gzT+Uk^#Ffsb>j#lyUgVTbt%D$fFv zQeR&M-@zETq)u{}i&pQ?=T)^Yf0#?_Ho)H2B#s0AAo&L3UMxyH2EFRX ze`2UYA3t2(e`2V@T-^EkFtuVudFyvu_>njrR4`WIQrN**h3j$W>%&JBo&y$U68Z(w zboD-m!6&!>zn^@MIUN|-S7|BicYpH7bv=Wa1+S^MqONFB>W9}8%?E`~Hy@%1P;YyY z`vLP`;#erIE~2nMBy&h24*RN7j04b|P%f051Ri*jlzB;{uOZgaGopyNGfl3VzvsGd?=)EoRW+*O6#Npys94bUtZl$V$ zyC0O@9W;F5lv~tPoDP-mN^FGU+Y)~+6qh8f1MZc7FjOJBa{gJQ{3kr%4mb`as{d5Q zrbDalGf08@5LcngqM0*bs({?9bh+v;LJMRBDo*ug3}BsVf<=zATb+? zt_4#Nf-~!Mi{v8C1*fS1^7yIfKtc`5x@ZnUaAuuuk=%!K!D)sTRIC3DkFx{LaS{(h z@hcLieo0RP@e#T?T4a&*m!&VI_R2dtK1S_{;B8ex%KVw3DakW|UY58UimMWjA{(tW zcR327WYDXAq(5}(UMFek9;%dX0F@=>IJ|lMb4@GcIBxf;oTCBZ*`WmryKF~=McYx~ zSlHp4L>1KN_`H#M>L^noTjVKHYVTK+o9kb-x81*%KIhc*O*g-8Mm4r7ea4C1C^l10 zv>%pk<04Z|v{&Z#KVE+x@JpD3lb_+DZQI#85&x}CwE=k@xVhD>E<&inJ$e>N`Q?-O zK|V*+TUWY5mK!G!D7DWA>uAgbe;hO4d~gDa%qrY+Bdv^#2sr>MTa%U-F}o)%=cfjr%s1QzcFW9OderSy-VRBC! zb%T3jXB{ajZQEDt=iR;nrp>H%r7}yE z%}V8@t&&+VT4q4e^eKAvTXk}*50i2;5_S!|gx1SW3)#xlUx_`V5asmN}S4b!0k9>p9Q|1VnMnl6f{}GF`kW)1{=*JYB7`>*gs~w|$!_ zSR2QuV3*o&Gl0xDZ)4T#(|&Vk2WYgwu(5gGi#-u+v$;X}Uq#W!Fo|hzQtpUX&pjZ9q`moO-GY`U!*+-`` z=~h2((~2{inB9R*&t4?fjq0`#{-t702JgFC-g$dx9n*c+LPp*12yhY9xWgbcWSzoQ z+j&l*Y2t3$dSs-%eK`_bl&YJ^X0XYJlXARXxqGJS6eSQITC!d=X_Z_}q;o9j(e)}E zk2{BlS;l4=<+owf3)#F(ByK+_&S6XL6osY-NAuZFH77!8U5G`Ai-2FJteZZctYHp< zYZ~0H&)_lH;Jghr-BV9h)gVxnQKFbs!ccWZpQAS z>+>ri!?z?hLh&mSHvxBWj}BG16Zt2II1AHx@)g-d7Y*4dk=@CHW-pjtjqYt6;)j0A zhbz;R68c3z`M4#avRTB5ZWdghWT2!&3(O+yn283PZ$!{>jeZ%EN%ETH1rnAU`^U9! z(QMxWS~#_X0W!60$!j_vI;C(&xoO4ArldYl4~$P~vNV!YC31U-MWa1{NQK`l2SSv9IZ&mk(AOmQ~Z@PwiEvqhbQP&ymjObg?qO1 zfI9Ck>F1QAA-9OFbeEi zrOv$zr3n!uYbIzCWREd22Wy zz|}s|OP&&)-^!KO*ug1_j=DB>Z*#}3(>F5fQ-1Q==r;Fp_#z7O1juxGIsocep!wNY z8WyAThD0wT>WR+P`6Fs2?}^UUdyTsLL|j#iwGSp%%I`4bQQ&*Oa}Ywvey0|xuR?eE zWt@44th~6}VLZDAq2^_=64|WCs;;_H;O5)0KjyyusCw(Lf=jJaBD)RAZ(;hW@B6y2 z+yr^=#0$~v-QOmypQ7>FOzuDI?X&K|E>diW8Cz{ zy6HAG&P~-aEjN6nStB)wx#GX2CmMX+*>3$msTsWMcl< zpL7$m&xBIllNd=^#+12aSuT^EXup|G)#>$BA9dEukGoK$1rT385oQ6f#Jhs{bD=np zcoEro`eYB#lNyNqp*WCGPh~5^xU5PZ-<8Mc=H2AxUF+r6h27dH`#GTJ^Yu{XP0IJ& zzRJ()eLc-0&%1%?tE_~zuX+pDt9Y@I1u>bD{j%be+pLD>Ym;c6jNeVhTej2|pKlcD%!iSvYs@^^ z+^p%8G(Fj9_DhCz~@La#`7ALvzIpBk#L7(z7f zAABWfM6yX{`n5ucH%cL1n@O6D`5TUGGW2AlS#=b7e@Lm(tU4mvxnR`*pyrcnJ-5k3RrCR6)Mo5fYVKBxi!Q4`~D+7QJ67N<3FI2VrMI zM9W)max&10&ZrlXh<;*yJV<94kvhx&!!r^iC(9rF_WJP`V*DcP;E|Wr z6B-(}DH3 znvHdbL}&XVY6n1m@1nO|oZt_&#OB&*AtH+-jW?Cl00K%Jq3O|3rT0QdtVpO|a*q>} zrTCLgR{l~`Srdw6?sxmNl!cssbqwF_mG$HLp5M~qXz2KBhA<>xjNLOW!}7A9ZyQ`w8<@p59P`0l|At@QL?!JoO{ZF z+A7hQu#B$;2P=;dPeXClnwEXVi$U#Ln%oOC1KsC-2BnD5$+)@y!WV$lNk5+viO+61 zcgLtFK2z_FQBQoP&W}XuWZY-0Nd7e{_;Sbp`urZ$L*P!4Rp$nTkhdmswU2Z|JJIb*wYugI#Y+IMz?c_-vedTsMF1PrG}DI;Ds|0%G%2Iu6|NVoJxN(zOqUDn+H{ksDpnw)A95n|e}uTY563 zO+8ip{UkbwY5Olmt1{mW`l@RU^%$Nj9=cxwUG5b&TVL#G)b2RG@uEA9`8v$}b0nvu zus6n0Z>*zkQu2CApFjam<9G8Mx?kwVezUX|n2_d97OwRXz;D zf=Pwbfb=BJ8E-K^F(-3@|BaM90(COd5+8tkbtQ#Uf%U5^W8Lbizaxcc&Y2%+NWZj7 zth4`Eqv{^s`&h_1jz{Bk_G1>wJKg?_=Drt^IhdvLAglVt!buri{~a5sl|{%bB4`!%anQ zZO||38wU4jeUb3v-04#%gf``c>`VSnH0?Rcym_3iMG-S%Rt7Bha zN%f6Cn=Prt9&MdFa3=aNU~Rz?N~NgemQV#tT{O3}_}l8?A({a!#*ulTPW#J6JctjIW09(Z{h9`Z$zdG`k{kCu$OiDcPL zjH^2Dh85$e8j&M5?AGOpjW;B!BB;3 zfV-6v_l#FgC&Ngf6msXkPt2u2*?RXpW>)e7!4$jllZ#uCXp{U4VGU8LDex zutPs-ew6#Et-i(Fi0X5AmiMsov&j^8F3{pQ|60pHB_y*t3-ydkTFbzs5hi8SNZ0#J zBaC>MGrY#SO)?~I^=20n+&Wc@Nw9%C=03_9wz*mZ6hn8-9OCJH3y>&84As|Dx*2uqnXZ(GYi z)1pPD;~Ga7RHiZBkJl>u(E@L4KVGZsN6SF-!!j^soR(E+?5tbP3{4ttD)J+_Mq}`t zvqd~(q;phf5A{N887S)eLB0$WD~H)KP=Vz-TLvaF<=fSfEwBvy{9nwLfnv|L&K)#Q z^l1>6fht8Mw+t*;>ax0}2yU3 zj$~}Yf=Rj?u}b11FLw&dB2Dc+QzYz6Q`l`gSjMffmk~=NGofe(*@8)-VrtDmZ-2wc zY^jlGH`LROt|MPBkssM%Uj4ErvCjTuG)2nwa!F07mrK^l*^iZ+eXI$QB|b4}$}UD) zBdPKlV2yNHYb2GggRn+Y;Q?TcB=N#{_2o?H{A`Vs0;Tg0Ip4tSUhp!I_!W?^k)&`x zuzrnXtV>&GXC50v^;8(&x6=5&mBzOj%C`Cz(;=$w$FsbLWs&(0JG+`G*IFYfA(@e> z^^8keYow$R=Art|%|oq#l19l#u2J%Vzv}U(d4#?TIvPh-L%T?MZ%BJJrJY@O&8ak* zg=U~N(mtrzW@qd!Oo|cBn&IH<*qY4NGTnyuoz{?X+DncxhqOWo(@x~*v_D%Zi`*#)<}tTYor3%pGagjRtNFA z4#IUl&D+)*$+T#Z>A1$}2r!NDe!N!Mk5)fh`|(<3KUyQ1AJ#}I&Vwj{d5n#b|P75ZLAA_)9QeirD>pK#=!mzMLQcioqNMsA96ewFT zJ;6&qco|4+1NnkU3R8jg3npV-+B#M9j!#rK02Q0}Q(JwDxe?V*)ZW7y$^3_%K{Nka z3nnEbGZM0%aY<{zlr+MmRNuKtspU}8DEY`WNa`Td}%9xk$=GX~AUP{ejD$ULW-x$+DXm zS9RV^)mJ9%Y)WLWMAGAIXRfkj1WZkdC!zR`gx*7~m!AxpZ*Y>ug`l=1@pGX#kT8p- zf<;tYmbe`(Rwc|L|N8*SDeAA7+ic!*ZwHNy;AS8ZUzy!ZiIAsG7}a$uZ$>?dUkb$~ ziP`X$?YHL@dugObKd z(nyyNH1uBf1Mwy166>Luo$#X0TBul(_$tt4TT=R?iOH#Ic{P?-%BMq8TJcKhr95iD z%|F9qI)I*%*jx8Qd-6){PEcEtcoB-L5@wP2ob-PsC@o8vQl6m2kBTc2{m|QQOYE#u zSsAJ%4{jBv*Yq<*v8brv)zm@m2ue%R-xZ4rVcSEr9|M{y5j{4OUlUFmYSR>dPi|`Q z&EK&wv=(mH+=!I9@9F6JSg=`^co2%K5@wNi`$1~{Xi!>_Fr_pvI=w6K!f1*oX!AOt6D2l4S?OF* zT9PoOJaKtCAC#6QOexRxFf~Vm(m+Bsqv0<9$7Bo0Nn%h`(jZ9jZctp3cm(8aX{gf9 z5N1ijJmd+>gKhG32XFvNm?!?aBzsR|g+#y3WqGL5R0y#wvCvegv?o?bSnRwXEUu(t z$5yQPR;+~B&qM4Li5H;DA61mB@XR9mlvY3xQP58!@oNH4wXBrR%Xm;$c&v(xX@*F~^@>i5AXlD9ZKCptvMq9+rkGJ&6?( z<{=*%xsZn&L2+5aJS+zfk7I>|c}VRx>$5>=MZ%QQvBR)*Ciimb$A5K~lX>OYfuw&am3dHR098{D@*A@@)S=92(YQEdoNJAC}LMIO-u3S^!jU3}qZzbq0 zN$mLr>8%|@oQ}n_h%>=@?E)e?$`-}m$+Dar5B}bgkh)s$S{YIkPlGWl28oNIM+Oo<2YS_e$A>DY zcem-L*W_aQo5f9jRY!#y>#9(rsjJQkHP&6B#-=Yvo=x8Dj_qWrs}kAns;nmKs&otPA7fV~ zr~iNGs=ivb2HeGETZx}Ci%JGu&fB*E~ zbtAIPvTNi&#WZz`J8h@wtIL2{FL5(;9j9y^PVrQ;qT}Zu0#qd8(SwSP9vvy;4j3LT z$D4qLMSSg}iEQpCd$Q4-aheVJkrMf)IS*3)FUOz~|2SLpn}4GMeeyRdkm7W!3-nW5 z1}xjS>-*9v&XXSv7nbHO5Q})07)k$K)8`(o)OQ5+=GXXb^{w1@%Qb0?al)gR^^D?X-GP*!vDx)P$C)agfKZ_WM{C_os~dE#qm#Q7 zqp3T|y^kNuUUl|@V^Ce4x#7{Unr6{viFK!>H>%sv?zl9YsaW97WO(mikaZnp4ZJ(H znx;L4-$4T5Rk|wd4Lh79RM5~g*XVdzrbdO6p@vrpZ%`0Iqg1#VcDTr^pfeDEK4503 zw(PgIs}Of^phDBRciDL!)TmKmn$uKpt->4OoVBzMu|M!QK1@M~X;L^7cHB#j?Id%W zrfOJw`k-NxF6`KOGVIvNG3;39wxv2}4Q$h^i$*mATAZux^koqTnp8EM zkHR>yqe2`s0?F5I5MG$CfHh-uc!({QDM}76y;Za z4zgW88qiLHAtz%bjGCXG>T0Q=PS)#Hy?PQ1!6a7om>;` z&In06dpy8&eg9TFYrk3VNmCVtV4~Gsv2XOhI_(t5+$J)ORCOM$%Yg6uFa1Am6{@fH z#XkvN-myb0Yri5%=OzeCXcg{+9nO+w63)d^wM`~bixYd&V#hQT{H0x6#+$p23)+{= zT1H!Ety7O_(ec(YHwL-JTS=q2U8i>6s{4oGU*xYVJf!MhDU#1KeFU80#|z0Y6anz8QX{x`KT4Hq$y%^4+Ly^rB9n+dv- z9|5hImuPpYj4npBJ?*r4#YhMY8GNIES4!Pr$byBu{tz@)Jvwd^f>!&qL zbK}1omSA$1jm}<()j&4ii}gyHyodp!Ow;=?VLpOY`iitUMg*^pY>)k}3NH5lj zE=IIH?X-EPX34jwopwKHzlR0Kz--f!YPI%}UG`5vo&?!R?=XarwIou}Z92VqHk}Gt zkz%gqWx;sl`d+8{UO+gB#ZXLx+us8rxO6%tvRfkgYegmVosfd_+3gp|UWruqJ;V50 z(SgL&|14iF=@*cK3()Bo$Zm=3mB>zi0e^z?*)5U15~-xswO@=5BvwPwC4B%wZ~;2~ z0?E4sM>Tmb;3(PY&qE5%Cx4Z5lCfO#a6Y>wvR5LNwC2OlM+XwuL(%p0RS3Za==2L@w?y_zWT!ukKf(FzmdIX- zRMN`wm!boSJE7>3z6l|?0G)n; zkp?bMw?y)e=uu7H5j{$(d1}w^is?)24@K9!y%2(n+Li zw3I*qPaP=5)Bj)+v;8_!SP_u1chL_#G&xmVPZLQDAW~s7S z`OnYM(kvKpGoWbtZjMR)LG7N8UrD(cAG8;4-hNstT z8unVr+>?#DCmZwEKSWzzFNN@A6T*{C2tHFWYJ$6e%4e!kvcD~njnByv+0`iv2b;|o z78Yn63~|?NjNClw_Pc#)#32tF(sCNTes2qn?bY@z@_40srO_BSS*EM$EpmOWdTk4h z*Q?jJjAJ^R^a;~JwTHm=>JLp##!HN@4Syh~P;53?tOCYYn#W?%s<}rGG1gp_aTwE# z*~}ukYsIK~r*R{=b9lEz@{`kF;#2v5FU{;?bPxJIz=4FcoQA$C++0Jau+24k6RHlS2zjSL}`L)=6! z0QVJew=!MlAd#5^ZrzPKsJd#p;2d-slJ8#JU#qKj1WY8~JFI*4h# zd<>1eS&xfxv~EEb*vMAKqK|=WY(bW>4JCAkgbtl$HA45fg5>| z=RiL4#xnB9^O3h2H^|+-NWqc45?K#Qbrs#~Ahhrn>E8xnM}=Pw?OB#k)3R=m2eYQl zvTZeATk z*2v!^diCFGkoPvH@2X1d?gGou-|<7A^xY_PgAv#FK|X(sZ97T&&I$J)aUeL7`;Vh! z)2Fm$8icXEMkibcVMm2u485`}p$;0EKk5lt({r+IccKOPwqt}3KAXni18u6ec!_Lf zEZr%P&7Xn;{xn(bHFFUCwj5MFHC@Q&kCCnUGmGB?pj+*6GsRd2c|D&gR^!H#ZxwK` zJ2>&H3uD_(lD>1oHxW1x9LYBkqoj4JvR(zDM=sOcD4#NOQ>mCH^_ro(`MPWns3(_(|Y+B@?h5EVw|sA;QF1rc)nTIRvx#2z5ue3H(lp| zmp7IiM87QuRZmS9yn}{pjr?W&-U}JHkr#Ob_!9@cS+k7%xqRfU#tm|}FH&%1uS8mJ z+(-8j2%~bE^v{5>qry*z_AE=NX(J)Xvo7T(6kO#9K7vn+Q0@v^Sp4>Of z+R9x-=!YO1dDC?cx@8B^Z_5E6cWJud9W-QXDCe$8PlLx0f^Jx^uU zUfd{i_Z)IAxc1i!W7|%WzH`#;OI>heuS8m(sx7-f7~2zc!a4{$Dtr)nWm!TUG%|n8 znx2zwyA$gmruFhMbj>j9atuCU)-7KZ)O~ApINrVHLdL$*f#7SW%D4BW_zd;s#1H_|W<4&( zi@F8WTcdc4!Z*ukeq;(=(b{a}P1iZ#PZE?IM87QuRZmS4yn}{pjr=sx_k|4H$ctP6 zjPbpEjIG8EXSXuaPn5*AounG)q&Fcaf+PDS(mHPu-Gd+u;vQPN7la)Z{`t`SWeN4f z$V4$~x=6OI-m-~eS}z|%9?W`NjQw>B+%S=eZU&nJqpZ6`_JIq6MEU2tT-L|W&a zLH9fegSbFzcY?5^!fy}FUzSi$j7$`>CZ=p#y=4={v|c`jJec*k7-#DixMAXBy>FJa zmA`NdeGX(3#dMv6ZrMTf+j3C#)O5i+Xvo$?xk&UoAp+p`I9-C}vF;$+p#7Hc?FL z*EItSgdgXp*Apz5jVf_Ko6t%>r8=(FK# zGB;5~z5w|L4PzPknc3`1Ppff*-0h1L9N8<8)*Cy>VgZCv>688x2sxR=(pvd>Z$31 zchHcnk>5r1Lm>k<@*?*G#&{tgW2z?v27^8d2K_W8;(QnH^)l<_2@1P-D6XgVYmxHdGC?d}SKk|IOuUSTZPdRY1Xt^w$gFUw~;rkmyaP2W<4&( zRf4JoSzsfxf#dsD^frR78+p@p4!S|J=@)AYym{+2 ztLR@2rteCq9Y0)so|oNxbI&(FJN-jH_=7+A&Ch;vYW|y_{myTG?wi%;KTFM*K0EjM zPkd@?m8~>(e{N@|`e#0xUKYu@oA658-yKe@I~ur7)T-GNn2B`19!+HPP?tJR^gQ6m zkWg4R^!$#aA)8qyvl*WM-W{I-mpBea2VP41gVK_ODdht%r9(k!S;CaE;qAnuZ=U)+ zLG=eDV)2lK+`n4=NcDx!ZvRK0ILWJ{L>vIqdbw@GictU}su8xG{HuIy0`#neG8%1+ zl%;qzC@x7n22xxahEj06)JK?yyrt3pUa()5F#F|TFC#|5l9GJ%KXDr#keGzRmlKoX zj^KDnVzpLW8me?WR!EqKc4D$$3~I{~X1^TlWz2BjqlQ_5pY z=}u5umN2Dk_^UZ;emE!%BxExhE-5W}r950xTJ}og!mW6v)+wV}B#qUO)gcL~^7@)J zGx-X_}QT~O`#&br2E-BYm%>x8>5wge=)#p!Eb3;Wx6cdrC6Ir!Hz8KDA zg^)UX73dN>a+cCFiSx)YR^Bupvqvgqq- zP+OL`4(PNW8>(P7e!`rp`POv441E`H$VtfZ%hm3wMMnKo-}{O9zYeTeuDj(ky~Qss ze0rL9qMnME`>pk2uV=k@`hVnv3g`_9wcGu8MEw;v>D>%^OA>!M6bBM>n5YAnhAJ%t z2LlQDiWTNWQjRu)^|C|^*!lJ6C|+A;5}6w9S?t(cUtgWV#)%e%nwk z9)Q>RQ!Zcn&J)$Awc1+xZB4?ar>qyjHtd3eb`)hhhiYwO8A?v$b00uSLP?KKB`F;X zN=p)^lusoo9S=&&5~k$m&aRs8R6k%j=-e&(5SXey|C80+iRzO>?VSYEfnnwRnc2xt zHiND&u4SWyw^he?O#UP$+EL8O>T8wuEr8_Uf8YZhppg>F)cwN4G^KSkXe~*c3B|W0 zhM_o+knQMtDX;~r$aI4IiLeyAE8qH5fl)_mI&w(jM?#DQRer~8extglJUNe?z zRb8O&I>=U~mmsbM(tYL>c_Wb7QuXp3js`%VNT>zbYB`3I){UUGB=I~HzbvsIgV+%& zMf2uQ3d&ffzZ~?JC89<))04(Z(ir(o-$w1{JD9*HsxQ15E;c7Z2g&LI_zr$x*s2me zMPjOY?FhXpgJ(QFCjlO36SUy8Bhel6PX~iq$OPD##=Yyw#L`*0<-yDD*L=B0k(VVmRoY;`fVI7__gS6N z@g!KRN|;67m5LDcSIli|>9CH*#o%TjA%oVyO5 z{eXlFMVo_cRdj|*YfU z9LW;TL$P@@1V@v%bB#wWjs61&k=!DkZcdo}GQF*mwt{5Zk^bAz+j+s+sc<1toRe>MNU(jQF~*MDvATiSBgOKSI_& z{Zbbs(!aAZvLij*pR{!L1;zlT@@$X-O*Z_GxWqMmBZMn#_BmMKx#nF|G zDqUZ)c7PZO8|g8Q_*!7p5#Iom97TGJqZGwuRP~k3NJiZ<-7C|buG%VO{nHOrs|ymD zk8ZJt`;(SkYjk%%B@!n?F^w)q_dY16akQn;A3&@DGM;fqcah#!iB^zIJJRn! zGyXe9j&9kg()Bj2fEWoI=`oI~VAFEMLpmi#ksjkHMR6HbePuI}5r3wpMEA;cr>nLK zS^w~QN2pfjiS+M$jO<7c_d`659gf}acRPomgpBS5>W83R0~1NS`p-gC*vYz%mmKq3 z8t9RDlV$BlD<0!N-5URiQZjr_D*2D}7)Sg77n@eA`0lslDAHpbr6{g@s=it~(&BEJ z?v?5Oq&aCFraE0u{f#gl68l0i9j5&q5c43PHf5Suhtw`I?MQ!$s^UQ?8&$d{vlfCF z2^;A#j=0-7>WC*bN{%8u#!-smGOGH@W+WrtNLiwJCuNE5bk$ZN>z{t0T3wLH{2(m$ za6iP`9UZ4*rRpp|39W-r)Nco_fxVz7GCv5Vs!5T1=!+hSHyM14Xh&MEiw9vL8J;~U z`H%D%N8Gf-rqwE*ZYep6^cY7eitC=Luhx#Vn3oBZXkI5!qWhCZw+_O%w7mTHSlt1_ zN*sTp;@c8uLUAB*KC%**B5Ui?B<1K?aI_>59jzrtOUcn%a^&vct>Zbybe}X6+1zI9 zRYsOy!ZZ2x??sB1X2FP? z0Y!`Aryu%v>*TnRk(8V9u}_3C4b7i#a~jE!^12iI;kUj`KUhZeL)eem>or_9{w~)v zDcmg=c}=t7Z5t1FJ0vzhI>o^>i#URofW8pj+--af*GsxpE}D$$XHvA-F56hI$(r5P zwi(QN%~JH5&4HuWaBUu7Tc~dZ*j^&_8ZPstDQ4OF>Gn#=@YNE@JD6xxE3PM-hIz7S z*lQ(oPd4VBY|Qlaxw| zOBFO0L)t_@$!DHNMc76$<1E6u~PXw`Hm#8`7x#$ik|W;2WEt`&n9 zP2fgw=f!S`w5*sN=SUS`A@MX6-^BV*#ltG}9f0C0Oz z;$$eUO2{Z)B2t4_Eqbg-ZEjut7qLAA>}oF$YPRjma0jq`>+mSeT1S;xs%%#Nbevl- z;$}e6^xe#n`k+pZYid$%#wT7prKdDBf45RWii2quqgVgU-Nvi`OS)AqnvCjaQnc7E+gPv3nqB>E2D@{% z*K7_PUHvx?ur1WL0&Fjly84?hO)<;XPq$Y}hOd^$>8;4-I_Nce|$j0YniPY6!L$%p_;S&oQH$&Vt8zVPQboG}; z9P*$cEvKQY|K=LH`b%Sc9=iIQ#<dfdsM@>0UHx@! z_|=?3vDsvC8!*1od>D&X&3B0qW6f0=yD!a{%`Bq3R*b6m95;eHFLp~LZF|J^>hG`~ zt$ya%H%py19SYH|FMi(}6;H-HgHI2oAwP4~&m0}EWxX&? z%EMkj-V&$(kI;=0&;QSOT^$Tny7V|yNL&RvD-VV$ZG?(}#PRYS} zoCdK%rK_<*LLcvA#b&9_hg6p&u8|c7i-e`Rr z_06*S#@f9coc%&*_p*ego`2VAUZPCCR^)3gSidDFX*R_hQI>}IdHeM z^wb?cyP;+3c03=EXPXJOucoN8Y(E(B--z|DmUY;7)?weQqr6V+Uj|HMi9KN=uWDw@ zhYo11{Hma#YC6pFq^LPs_iwRBeNe^tAjBC+L}#nX*{V%=I!d$sTb*r8lBJfPaeskMx*h$#Q&$xT^sBGSa zaSf|3t|zFvSSKnbXqp4A$E7OxkdOS=dei_s?p*8#$`zGc2c^CEb zF6!r-sPS)nCyN8l;()U_&{)J61JbIGY3m9OWa|lc@{2uf>iV^|>8or8{#V>>i+#>w zpR?H4q!caqP)JhWZr8<*NO^AEb@6ZZCX4TJd47+}^Lv^+;}9SHuw7@P%Il*rISV?~ ziiA3ThDUAR@4cUX8PP-^tx+#;go(2vp~*d}l%iSbDq%GJbl^xn0{qZG;wk7=U;kjJ zLYxO*wsA$pJZNC#W%Nij4axhpLq0sp$K7x&H#bJqXIK(9Rkg?|dl0S%&H0sEjiY3@ zMD`}6DY)P0_e*4_s|#|x@HfjHju^;8!QAyxf#lC&j%xNNMGCHqCrV`Of2}pN0*Y(0 zgUrITbj#OkHeR_MmrOIFXcmPFsRHc^3!8z2Vsb`GwyVjuImIi~P883Bn4l@ey*wpp z$~AvudwQsX%=k`tdT3T*$Bg0$N=7f&{%_Y#cT}_~;+Fv9BXJZ=@Z*Lrd^V){XW}VA zLT8A&CR$c}#550CL*-+9L(O;}THkJ9`H=nQk>X`Ydg{`Ukqz+p^z1^>O79RJK6Jn6 ze6)yxjK)W@j*zD7h?k0_Y`2c&wREPo3FwzQwzl~7Wb-Q7Xg+1LK^+-7!P-0hx^#qa zXc+xkndWcB*4p_&#-BQ3Q{5%-;m;S`o&EOgwwLpm8pEqEj@H?YPQ8!>|7{OCAE4*X zkFS=m~Ay&B+OUfc{Ke1d&YA&VCL#^C9w_DFsSoD^RM) z0)0p0}FjfqldoAf@!2IV*lt7U4OT(nlm7nT5U{{-{l}X6ROjY9HvP z$3r_^(SlnbD0u&WWeo^umBj9cDrOf$X=#(@deB^wcm!gaD!qsm64SqG6)Jrc5K=*21`G}c+on?!$rD%2MC1$LTGg|BJqWuqcc2rYsJ%cZKgk%wt!<3--lECA+*>c$ zD)($YbbE3c-8P*c`la!c6 z&)&LK_gQwc>O7<>vO95?A+7|nX(2BOZ8RNunb=Avn*~PZeQ^!72f(vD-hT=ftPGl`5b&fXK-U1WV)QjJ@ zFjO(xzay~@>KYZJkLKhNJ*5BdVf+}7hs3i`d`n_S2tJT_6Lh&ZF1atzZ%OPA#eqbO z|5ggvd_;+%=FwS*>Jqy{aaHQ4VlidJ(#^8FvC}ctEPTu)4-||7hwy3n+XBv zFo`=rQ*kg<>29o$&|Hoc77ZC($iv~FxFivsEy?^|WF^czT}?V2)9zMZYSIexG}Ii! zN~cZ98^O_vgxvE8+iz(sES<+phF$-AXo$oOz(?hSl20Nnp=3pyl{G@vi$QHk;##zj z@w3QE$hdu+CP#8H7nGMJWGm(6p-MMng~a2gLZzp%Lc-jquO>PjOJ=l>RC55Rk0h@G zPIVH>zE}NtyN~qb?*YJ2OB@9K>iA!(hAJHnd+i@;a!(TerH%M=B$&zVgkEj&*$`os zT|!H&0oDZ{3{_BM_|%aqi98l7Bu)SfW``Qz3TJd zIaKj1pgSebfnN3A2SXLkM_%HB@hT`OccoDq_)-~iBUB6|t^-=}#!!XFpwx=1@GoK0 zwBasx0!c{R10iV@?nhqYf$=IRhmoX3J_{8Ci5GyRCx$94{LOOGPpNwen zF#|%HS%s_TtU5cZlRV&f({1Z- zd^ddyu7exEw&yDE;YFMTh4vzPTdxCv~#4u1pO0=K~v@D$jl@^kP)oU>E852nD3 z!FlaSM3|JgD&uY1@9v!YObDTmv`2Bk%;+c9illpcp5? zMQ{ly#s-k@hrl-J3epko*0B2Hzl)~wUUzxu_-Ca;oKLgHy zvtR?*cKDy8-+njeQ*Z*nK zJOj>w^WXxw1`Zt1(vv;`>%cazCtcfQa|g)gu+tZ3ctH6fcm!4jsAEWE_Ro+p@ zR?fDG7nGCFYcsy&N8CKv4fX=tF4LF72Dk=pfSceJxDD=td%(8oMLv1dm`5&vonSZE z2W&GPN$J^ki1HC|6fFE6<_Wk0Y&#Br0<42mz_yE&FM-RTWVeBjYv4M#0d9gjz&6zj zzW!FLUiRYJcE;a!`fJ}uJHSzJ9N2c2@{ZrjJl)TH2ezI00@n)mp98HEgq@75aI(g_ zAD1t3Jc8@s2DlCG0NXB8R(*-TQsBi&Up~Aa?_a)b+n{W9H*1@@8C?tvrp<2tbI2;3PUPPy225$+LKg_DhKm*MUe_zk#g;5xWf*UQ$ncD?b^ zE$L4))-zxh>;Q9M7qHFh#V97&+l~l=O`PlQ@#Oiy8881_Q5T18`yT9@{jI`|@Wka>XxPd7!|2F4UV4HNFfHpsiu3;bLMX(>(HlS=c>G;!> z4I7TXPTBB~@+0ur)jy|fn5TUUV5e*6Udo2Ul#hU;uKo^X!*j=1Z;^A2U6S>7gRWz5qMHF0dOM1P{Su(Elp)2iWHIq-&dOj?^~K9WTysg7P{z>FPaq{w4TR=z4vX zH-KU*XWPUJ;(cD5@g+avu7lg)F0kzmb8G4y&XHgS%z>%3i2KM#VC^drSC9|Dth2v| z{eAENJOq!xWAFl0wLkf^&2*kn{|r2@b^D52(BB8Q2=;?pz~^(J&S&lr_bhD)=<6A zOKTvtNAUCaD0AcJVRZjh&dI>GU2umTj6Z_TQE&_#`28G1VESK6b`|@3z%%dy*mfD6 z>);kxJ(Ba+YW^&i?=V-%4puV*2G5+S>qyO;b{XK(!4vxYfb8*B;U!2!p zfZGYT2Pi+=Zd1Mk?t%N@Avo|g`Vq{(pY$HV3s1mvP*L9p(_jYd0CT`L={~M?Um&GB z1*AI*q&p96ldgPASH7hy-_n(D=`H};)IVO<>zRWv?rpRj>vQ zfy3YkI0}w|$H2G0tt%aiAzj=_}6%;30Sf9)l;~DR>4}e~jZE*w)sS&J6XlU{fn`@unQ2y6h`4pTl0&Vh^I3b+bv+rb#jgPmZP8;{47g(u)CnEr9} zfNhU{l6vq2JO$4{^#Oecrob%N0p`FwSO9C_5V!^Ig8ok>fA`qG51yQgsQxYd)R;xu zcAWAFuntawQ{WM>?cr(m!BcSR4|DzmSAcCV;OGBs@&P-+E^zci=pFu$dS}o(fWL#_ zP{Hq6>d%4m-~zY^t^(Uibw~c4RKM#S=L@hG>;sEHZv@a!LiKx2{Ssd9U9ipTN!K>n z=tt+W(a(5o6K6P0`3%snjBWFrem`s5R{S}1y}rsff&I|f{D>FC`@A;eOMb-ZH@5e| zLtxvG5>y=ISTdx+uHTU-^1=Hcu}LmM<3X>lkzUG2kZs=z$#b+M}Tct zDDOBMv5Kt7;})<@^}YxkiwZ77m>n74eM|9$8#`CUOT`ZuotX? zHE;r~gY)15xCX9+d*D8J2A%_JgXA2rZ7=10U=i#G2SAu7wZb_52znR5MQ{_?_K5Oh z@C3~MvBdA8{1|BNJp%q%IP8vxaeC(eG(OIN^R++oWAzu{?}7W^0eA==0qF_TV8+GM zXRCRRS7D)sKcAh#@l!CMDehxqb!iO$9DWD7!a|LMNZV%WI$yuX)!(NqJOD4m^XveB zqOjT4&U5|+hie=`9s|e0IyebVwQz=g+e-FFot^24^M2btweS6IroWY*ulF(47S)~j zrQ{u;ingPY(sxC8D3+g`T* zZp(h|Pca7I95@eF|9$!!*rxiyCiU~wEr8u%&n9|aNB(R(LRmNljywJo<#Rwe-5c;ODX3v9be8?S*I;5N7e?p|b0fJeYK>1}|U;1-acV4LdXM|I{W=-}gy z^J8}6Jbz#IaM!^N(2hU*vs@d%99RIm!8Cfdt+9UyoB-?KG1Tm&1S9bbCu1^&PoUOt7(;0mzKxA7+YZQ%RiG5b%zGw>YP=DFGbAn|7?p9SZ^ z$^Vc!3r-DF{T28l1^z1h2Dk<8gGa#h9-{xG<>wwgAApCTe<}GFf4}BcSEV&qnyicyPHtx~xWs}!u-#R_|| zV3mmFTDAC8tUeX*=X1{co%22KoHLUw>+{?{?)&7EIiL6YeSg2_{e8}1T$Tf^K%WXX ziS}dzI8jpe=Mc_$-~w zUAfzc>k(i#Py$3}F?zN?18{%XK;oMOC+PneAcl4fHv=$SF=9Vy+3R>6Qu>TTFX|w1 z5)g9}_P2mLKr8IqfmML$E=51g-{tU&{;mW%fKGt^i;?iPoH}B}z3qp9>oFmKsYwph9L zPu$SobHI7v0ubgu?X-O!_dZbqs;V8B!SxZ~C~!g9lM|9lO~-KZ|aOGx!BW9v+(Ix zRDPX=d&Zmbq~3DmDf3m#QtjziSU!kG?2gFD@(~kKj<}Ttyv>;B5n;31U?d`BH z!mm-d*LCI+{J8?K?uZF<*Kgb{;Fo!F#JEd_xMMhkm`k{BGw!SS6>}Z-3&2g_79fUp zH^ffqx8gd?pOvuh1r7m+0Wn8$&G_a`d^aGjI=&|$I|a-FrvWkA?lSCccOpLvS(yA9 z!dn1t05<_K+OAXOo7mrhZonS?v#y?iJKqBp0^kV+^qt-fj(dW5Wo040*nE(z-eFre$$`Zz$pBhvHZIYKkpcS z!~8i0Kg5V`RQR?Y{AFAv-K!d;TkG9~8!=J#$CbZY z|D>|Ns{A=+?9bzu5X15y&KP^jE&*b0&{A` z!$9)t3fx`=?w}6d1y-T1bOWsjs}1M{`hXEY>d+xv*UW#Szb){4`G1oCUGP`x6zkj& zz&bYqi~(YXkT*$S1Q-RzfJxvGz|2!n zWn+H>zl4~pxF()6_LSWL#B{-rq>7)|vs{Ryz%f7!(=rB30xU-{QTB(Ra~L=R90iU8 zCx9~m+kG)%I;V|}^bc~6oMq$vtZOa|~`JtXbuct;e{W43Ud_%EH`h`Kb{1 zvCn3Rh9dd%DuMlRQ9`-ewVS|h+jes`%TI>{%|vMqmIC!?c_S z<^h(Ym?-;8aC;fJ0$c;G8;H9F@cvJGID}uK?*hUFl7N^S(7Op7hnx^YyQSFQhJF{^ zp8@Uyod_c=JkdK3oeRKx6aD3ocK{1YuUo}`srJvoAL6?4Q_`#L=%<)-xYltMd#1JD zfO$(C2JQl_Dt@BF-zqQzP*;qWZwRrc-9}}<9oIuZ5*PtSfjl5aWVF-v3_C1*#+hK8 zS!QAuW8W5{PdnTGDEvPL==wDZJz^3l0f&I2fEbbImHe=h(;a2B)9$qW5v9Ky*JA*~ zsshJ=%Yc|GwEtbSzrZy>%vIPw2iyQ|0=8Vs`jort%1wu|UoiF#?UX(JCT;;DYg6(W zTni2<`_9jxE?~`j6gZ;R!B@e)8`ua80Na7%fEbZcu64A$7qUJhr+Y#S-BaEV(7i3E zJIZW(?PplHjN=BAp2I3Vw7&~5ox2xde*(HEfiu8dh&wH#zhY*Un+0Wm+Sp&fFCm6; zA;y3VkOxYD7^Y<-FaWTe#6;N-eZnh8mL>O1h{J0Avh51)FQCJq6Te-+Dxez>bN*n=Es1KNR=b-X+*~Kv(PY zdI(_HjI$Wp6SUXyYGfbg5A8;P43G!JTtc3AUi2`DU*fDm%O9X$2Zjtz;Fq{&(DjEX z6CiJJ4!^`*gMrVXJ^;rIuHu*Ixa1*&Ut-SS9Dc6?r7!sLyNdV`&jAa7m>axCJX?U} zKr7G&v;!*vG1Mb&8hx>ka@zs7k{_#Z&G;+;VnoK@E)`BMuD1h2KoS@MMuFYH7$Amv zL?1wXF;Q+a(3vzS;rHt2gZU#e{^kKOGq^quoB&P&r+``DG;jtGLp|aUKz%V$Zs(wL z*5EvTFCspSlNgcl_Z%Q*9@p1^1>gp76SxE11sv2TG1Mb20?$!qjO~_gq<*&I`W)iG zxQG!Mf0rx&+i^{-1Ui6DpdZ)(YzM@I>GfK2?FZe;eKLaU(})Y>Bt~TXO)7tOzca2;3xZU8rdTfl8V4E2ah0QJR0xxE9Oy9O=jLk18R#z~CG`0GF}rWMy+ zz$%~{=mq+KeqaM2hI&LBKz%V$ZZ|?_z+ec!eTWO=Bt~TX-42Ku!F3)e0aaiII0PI9 zjsRk)M~nj07Zc_7D0Ge)oWO4v;=(wI5gC7v17c3$`W$c`xB$!p7lBK_Wk3w|h*^O8 zVxrt$fzDNfYxr$PTo@-YBIECKfS3hb-z7(%+X5^HT7fp89S}o3;)duOL6qB-a4X}E zE?l=DE{u~Hk@2@vh0~4e0bn~Y1SEkGU=-L5h@l?Q3s7H7l-n`rWDN57y$vu!qXzR|!u<@K#oUIN zQ{#SK6X$?=Wq;y-qfP;{z-izNa261=RQn5XI}cm}7L-5amw~ImbHFt~%a>~3@)hI> z&<3;vD}hcx%u?+K;8wsFZ;F}3wScd(6vJ0k3i!52F?;pCclPX;Djlgzb z2uK2>fS9G)^Ci#35#T6r3^)#)08Rp@fH^>3`7Ggd{Wb1qpd07|_=?%nfSA#*BOd_1 zxc59DrfmUv53B@M0erpnEFk9pKevZ^{sBKf_><(X*fbqg~i@dvkw>x&)jDE&%hu zHGm(&=2xsw0JDG?tw&ukbaNY^8-Bc84DAFhuwM@F+v;Mp9lshbrkQ;kbhSRO`Sovx z%{YspJwbaNuSWJ^{?KkaFba$TVp{(O?E}ybtOPm$ewDHdSOs(&^x^k8VD1L;_L~^X z1N?}Bn5FpBZ~VCnzr@gP1fbn2_$}rL?D#oGJ3O)H_ZxLQXg>?s_Sa$8`VEvX^!YtN zG3~JH1^NJf6OZ6GrU-rtOVTReQ=Efae)>_&O1SF)x`0){81O>*Q=(tS@au=-Z>NbD zzg#8XHWa;+(3=HL19QMx;2dxPxB)Od{KTJ_M*0^+^y$Yf;5KjvxC<~|{0w6&&<60s zhzx_@KCBtoX+5zQHyw}@b8vGOIABpgj4JH8EPoIzX@<$XCKd&vk3$*YSJH;0oe>6?hJ~28cNi`32xIa20qCpx-wD zx~2bgD@MYm{3alVb*vlUhs1~hAPLkA?w<~TpFx=gcyHtZ`P7isYk_<@&f8s|6Lafak!k@M?HSbwi^ zejN#>Q{*dLI`%E${7yRFI$q=VxqNqrm#%y9twWkjjovZ^suqY3_Aay1(-8Ugu?U>Hgm9JZ$kFw0MWb zUvBYNSp1b1@3i=MtNrlZ_?Y_PIN#^SPwIn%kF9@9Jjbv2 zKX2)0OnsrgHllwilLAU2%-Q{OXQ zeYmDL<#ey*eQ+ApWA z3Ayl}hkQiwUj-jk{CB{2EB@F%Jm{$SCCD?1V|~k+RQ#*pdBqvO5rTOaAsNIm=@}@qdKAaM3R*Im7Q$`A7GMl$_tM5H9X#l^ow=ci7%C+Pq8Y zpS0(W^8?N*$c5wEWNv$LTDgA`a^d2?^bZdDhaZJp_%d+%FYP#)_;SP3;I|e3F!){YP9whp-m%)(zZVt1OL2xj3ho&%e|9TQ z`BB9gzhjEK@mHMk%ZgLJvM=a=hvJlPSDfxwsr;h6syO9CN}uwJio4+}PI=ebVEEmN zQ=V6x?yHJZezrg8eqM3PSN?EN-laI@lWz{ns}?_`(ntO68-w~u#VJ3zDJVaqIOQ8v z{bYI$DNcFkZE^377rGunC2>u=d%yKt@@`vh@r=@6hx$dn8~!ab+eq{gL41H z+@8Gq>7cy*9YOBD*x1uQ@ngQ6`8oG(;rBT|t{&o-{NyCaGhX}PzbJKu^FHX4FE{D` z68K8RUyUhBCwQM}kNLqJzED;4{}g<;;;)5(FH=2>Aeo=<1#h45^}h<<0nYkE`6^6t zG_QbnD*3#{S6~X%rQ~n5_%DF3Qt}0hzyA9ir(4PQS^QVPdm-mchVi=vKA`xUFvS{G z{J(+c75^gmVZ|T76zl}}9pm42{ElUU<#9~$5$Ka&F!}cz;M@0L5x}^=4@2;);HQ*- zLz6-Ol8Q6DWBY>gvx-xGs2Y@?QJnI&13|g}B1^A6-aQzU`!7!P$8bdymg|K;XZi(32nksi2%Ms1o7RMOFK76@Eiy>(+S9XE`?Xui z---Mue-GTTeY^^O9lU7xCQPZ5FY@`Xg3p8RGx8T%Ik~jYXTVP={tfVxiqrjhmEH$2#V1EKM*7;F zQSgh3e+2xB;$H{9rubu661br_{g?Ftv;@vU$jMh4|33|WRq+ED9ll;2d`4evui_kD^}KBhR`PbyCN zzzN?y`PuLF>)$sJfAY1km;U!Q^3yY3|L(lR*MGTLVxe5p%a_l1W`*+x$jQgxMEbYP zM|?Ts=f7ym%b(MnRJq3MFV0w;FSQZ5o8FiC@p+}U#N&!3KK=`ERyc38gw@EF1qe@Qw-HN{t`s55p@?%!XsefAWtI#K(Q~E={?1xYN zq~cvz(jwRK*{$T%A5(k``sA#(jL#>)tKb_9|2Ocn;M%_n%02y?S9~3AEOMEj9|iB9 z3%VZw_l#G*+ZF#k=#y`R0^_qBOK?ZQ&l&y}@D0D>_uoHd@!tmDsO0}>@z-JrZ$Qc4 zZt?enZ&&h*7XMf9A;@PDS1+H%3D4Yl(#8Pc~`67K9RS-G1#7N zRPqgoANe8ZvHiWL6a5u<%<#3~w-nz8-nHT$CvN0F4?YUsV>rV*t@`IHkdsUQ{LrhA zABt1IL&a}5-V# z)0~IcH0Oaf&3ULza~^QhoQK?mGrc2Me9rrUhu^e(<+DDgoCo7XPR_$|n)9HX<~%H? zIShmC;cHe4o9?aA7 zc8l|%o|f~lp5{Ebr#TPrY0iUun)5K9<~-P^IS=<~&VzoM^RS=hJou+M5C3V-gMgaz zFrel<7^pc92WrlPf|~QNpyoU{s5uW0YR-d%n)5KBaMp*@I8-Q{<Net5Wyl4mS=XIs$!k|iIti=VXkyv1)? ze5KjX=KPiS$AHE27T;jy$DHc_SG)%Ed)42Mf}d5K{_j@qe*tna(!cr#h*vnjME`Ku z;Tn`=Jarg{cs=8_??)B?2K34Ml>T`oe|c9>&h~_dhsD1U$jLV-_qUat`gaunY3P#= zDE_vaZ(&qtR&#Z6~&?isAO7!Rc%9qps%Zju9w|zY*?^2xd+ltfu@&#X?@)L?v?jQK| z`oBAt+&@t0= zF}!UR>eB=FIFB2?54;4v+VENM)8H~6VS3N0_T?(%}2$hUm`9pJka|7#JM^if~VZ#mBW&b#5i z@MYlIFg=rLld&`(2O&TlQl`K=S+avp&D`@aY-`}^eQ!R36{GUq{ee_qa` zIVeTO=c@6adKDP;ztdZW|I6T>bz{}rs4=8gNu!Dav6^$(owU5Ak$e;8a0{htGu^C4|G z|MMxj$9gyK=lhY$KPFf4YmJL*`sX;W1>X?!_7~}Y%#v>b=lb?;liq?Q{|Ru87gxbA zmhZ>Gx!%6qgg*~{b*;CaO8@`fa(_P>W?lb&44m^*DW4C3bA5aHiHqI z7{>pjkK_J@`ypI2{QK96)GNPr;2pR>nctL;S@H@v&ubhr@{d!l;{P|6{=b9wEC1r_ zP#!2hxu28ZVi>=-gL6ISBCeVKp9Aky{$B;Z_F=65qf2A_z75Xv8dpty8bm|D`GR-< zwL3q>hM^PZ|IGb*44nI&{m3x7{{}eMGbH~XUXStSUtzpy^nV0A-|NY#|2A+jjPFm3 z3-j_XXUX3UKDXY_@3WTtS#Zubkqo!~w7$vf|86q;dsa9Pf^&aW%6ljH{Ox7#NnDoq zGvK=YIsz_+@%u|~uCHCjHS@Fchj9OW3=b@r^z8+|YQ_g`xXX*+obSo~_c3s;cX0el z_t(M2(Esnlz?}QjD{;;I`4Mn2l&8Tt-pk;c^7nyr{ejhl_sd0a-M;?~IQQ>Z|Ecf% zFwQ?9KCP~PyYnV+Id6CWJr6nCz_~sqBWqVwk?~fOGvz;@iCu_05cbSbx@obG^L-x(x4a;9P%{{5lEF z^&!dMKLQs+|Nm;EFvj0;zHRa4n^3=0e0#yUo+j}rf{UU1Iq=IEAM*ZWfATf(xzm1m zcWp*_qrS8LF}=IN#nAnK2j_aG#Q)d9xn3yY{d6AVd$fl%FTLmcoxio*e{`oS^5ppc zua^qV1j?%q`_;%&y8mJDd9cFYNX1KgutI^L}v0SGXVk9Gv@E z$Bci=w;{h&{5FGgy}kwhGymQR-iPv#^8GL1Tz?n&$HBS&C+S-NFL69);`jaAvEP95 zU^dggr@(c8c^sVQf9`y*m!2<^oAD0w>qUdmH-`E7fW;pH=lLHrn{IxLTJk*j&^kQi zWzzez;9PH81%3K|37q>mN5L7t`!PNc!|)yfKc>oSC%A5(bKqRhm;C=3@Jql?t?{`@&O*Hb0G-uR-zdSv~OH5nf)FwyuIMv ztNrlbXSIJntN8s0^H;$0s=fFsIL|9eeQ$jdO2#n$uLkFO`>S!y^4$*3{eV`Nw>v)$ z&hwI|U+l%_OW-_z!~Tfn^(}DjSBd|fNsO0O|B(XM^O+BUZ&2;+XTilVKF@;lJoQFg z)BoGx+;4b2IOF%qr{Mq3`R)5QaPD_5hn)5QFt`}{_d#%(4{^NlQE;xWW7z2W_Z9F_ z^jAqFfZ;v73-uf4)mbg*-wtpw^luED`=2woru-A&cTqo?Uv&RfaNWMN3}d{f#Ze;YXWBUZU`%m=_PEBUX1>-78|aPH^bff18 zG0dN*!1eg)xFtUg-ugp+d3=-lYP|D`QRK%v{Q2BZf{UU59|Gro;ayxa{EoMw|5EWC z0O$U#+%E^gkKlf~41MOuFM)G^@s_#&zYfm*>chsr_}g(|48z+3UP6AdzS8|$EqN7O z>ObcP?*Z5C)2F~Mqq20;J=)LT2j_Wee$lgdSdw&e=75d{YaE@0y!Fm3s8}*<5{~5R#`nLdn1Lp-F#5Lz<-vM7h{>uG* z-#fhhTypxq0i64BlHMZt1?ZDAKaPNN|4#Jh!MQ&w_5B~f+fcq^&}V$&DO?!imM^&O z-=4DM6X3T{za)PD1N@Y#Z=bjH{{o!PH%R{cGq|3gcaKTvj6dd5;JSS;g6sP9^Sc0kbHHz3 zeh!@Hv96$fW&ZY#BY#wV%YgGktKG)^yTQfK|Kk?_7&xC#xeFQn+hyhND<_aY=%2>! z@#2#L=l(g%hxO${;5<()?*AT~`@w5n`F+moabxX9`B0zrbsKn9<;Q!#xj%Cfa;EpA z;QX-Xkm2*-Vi^Cw2G{M)Ls_hsp#P=+biWx~4E5gv&i#Ce?_qGBpOE|Scfol+;W6m4 zy}kv$fcS}j5A8wwJB0Cai|2nCoaYI8jsC~MZ$IYGmwy-h7{~XJv;FxKaGnQ{@V^b- z_8EWt+p`z*FPu-GK?Qcp8~mcmpO1j+`NIM@&yPs_Upa~J5Fd&EF7N@2cM)CJzdhi5 z-iz_2|L+4YVLmcs_-DZ9RQ#`ii(&r#rNzH(@wObw8~$Th*E(K`9FZm z{te6HE;ye*VtA~NFMCFOWBf5T1;2LN8xOL*9J1u^0O#|Cj6d`9-QYZ5@g{Jl@6$@Z z6Lwz)=ktW9;%<6gl1F_*dR7|u4}*(w!v{Zv@$PYRzoo(3kw43!#Pt0nIQMrXKRy7i z*9-puoaf8fjWGWnoD$!?^sNQwd7VdH|L$}4g7f^gr00Kv>-G50gY$fal-Iw5%kzm$ z|7!{uU#R}zDR7?uX*KbE54b#!Nc}V5Vwm1fgC~(6)TjJe@D_|$m|pVlfDfqq`;j8r zaExyy|5D&QFC*a{1D{m&<>Qopd|7Qj<7?nz82&$6ytO1!FTY+3uGjO1!TG!$)fm5D z!i64Re+7IN_2Ci7Ss#|aGdO;Xfp5onc!P2OL*QaMaq&1fpU0E*ybGMqt5W9XANa*r zqB6N0;|1lO>G=!AJHh{1amrs@MtPw9VEtkJ*bL6|OcGuR{20RTf}Hoqad4iuWcy70 zuY&9T<=fz5UW$tcE2v*pzrRR;^La#$KbRjW@Qql1zX;Csyr245Z|pYw6X0U#-vw|! zui1fX>VE~C=Yym^I*(0P%8%u9_Mceus>ZXgXHPjjl}%-) zr=||ViDD^eRs*W}Z06A^H`b3%^h``RskaaH^}#abS*9kCu4)#36sJf4qad@`|X$Ijv2)H+iTi9~FDDwW)o7#Vq6YU^8eZW$STa%U<9AGbXn*u54J9il?>>J-K<)P%5=E z6&pf`sK?V&*Ai{Mj)`5Uo5Ovn=4$>bx11Lh%k{&Pxjofgrs?)Qd;SSu9pAKh%aVLuL>4sn^aaR_)xBQvBmM(J=nb3Y z#$w{##LI!WSEF7CuVRb$s%a4|C0@-vTYSvojqBqQqSef&CB!Kne)}yYGErVEB^Kdr z(~@El;l&FO3k+!Nrah`PYf{9E_o>1~Hsj9UCeZpP4R=uxng&a+*~BCT-;+8l$M5^1JuBS)n!#Avn13YoIsy_67tP zK;~dDG#XE0B-xva^}A!|HxzYqqD$nFHx^mg5$T z)gs5OiwrEhfqJ0=)0x*lh!Lqf^!5kgx!gGNGcpY$!+|lQUnq;pu>|hm#rhDQ4NLH$ zanrPTkD50pOYp175Q0A0)0Tv+PpL{sl3~?z3ju4bQb4exQp20E5sswXiy;*=fff@#G*V}WQACqUyG;^ zBTs+VS-dzO7Lh@V@~By}@79~e`P6hgx_G~$dh&!*b=Tv(xn=O~S?ev;tr@PS%hg0~ zUqrh&p4s#0o?@YDrl-Tz{?xAVRJEMV4(=PS_Lb7P^5Bkr$v`poZH0q1+wuoXlZnJ| zHP)LN&gL;+ja90Hn4QB4i(Hk;;68UE42wiOo_Zpc#i~hqBAc4T#5pxx$h~tqJNP)K z)$v#H&I~@Oq%`>t9EXOhy_J=t{YYnb=$Jlomg`7Mood)a8tLjJ~$r6vWs-k7%$|of`Zm7IQwtz zQ$M_TI#sa3SV^RJ+k>l#{^Gj8o+vlCCdY`_lRQ11Q6V`PLd$Utm*UOG);^ipIi0M@+)j|*u+K1T+nh6QUHqxC(Kpz zu-4VpyhQ{R;%E^e)wLgs38~(Z38_(Y6Ot8;>P~~=u5a|hrm2f4zmS=!<;t#E&0T~P zLvu$~Fz#$GndZ(3dYcLwPE6a_2rns9o{ukKg~avNrADT%0zZ$)48_;U3a#o1utx7L zgC~;1)zwq!(%{bF>bg{FVrC{5i^Z`&mzzkTOULwbZ~`57YyzDu1{i59V-HSngfM{~ zowK-DO!-NFlyCar{ z`v0$0h=@UM-PGM`RO;I=cWfS9FtFX!-BHcmgxt){9a&8g9oX~iVASeLF%j#p;P%5_ zH@5k67+-T)58gB^TDvMld1B3?gHZ_?4!a2sPB3jZ;W^vTO;pY{bQF@a)`ZoLSzSNt zrY1NawB3ZKrlFf9M=Uh?Q?i3;W-smxr@r#k7HQ(^aq~+9k0S@-+-nc8=a`7acxnZ0 zJf<}`Rbf@2=k3wnQm$yGR*m{oS*%Rv3f>~l`e7VtaW4~1c9di5M{rJ}ycvf@GBxLm z7+8fmYd(kzb=G{)v92zKi-=-~qoxrYipR#MD+f~t&)whCb1U3doQSAQW;69$ zA;H^!DBg=L-07L^>B{8lRX-$$=}kRDyjjXCFM4Cu_q?q1&hWbg|)6~ z1&;FBY{_d068S_t_RQls9yr;Q&leAHu&|SDM3Zt^vS)VOhGMjG}1ITTx4NpWY$${6Ih7L@Kd!fG6Mv-nMho6N6h|%_C*C!;+bx1xBc4glSHdJ-K!3aAG7ivT5^B zBIT64C2uYiXIxJ?LNOkz;MlLf%{Eai^Hf=4yq1Sk)79(@w%;b6(Y{I!ds3E@mf91@z406ssbJ-5a*o*B{79Gg){PgeYT};|t(^<5A7d;&3u9)uU~QJ$fyUob%3zan`>z59gGa(+62wD8A zId4|U-61`0OdRXno6A^tR(J|yYj>pc*>Zds$Lkq|Y&q74-(h!7A4r&;DEqW9+M2rR zP>XpyHeAY;vHuX9_=V0v^j&YA*0$r|m!+JKc4L7h!3ostiK$W`53;BgX?S6^A!awT zuAD1JSbDCAUeC8wU*v zA6nq1C_>nSt<#`WD=D=o$9mBkdFAg@tfJjQ@&!vq%^(Z3Bo4*SIZop>Mu&s({>0@xfV6mi$( z{jK@rK6i)TU8;6CYROHd_afIYimy~Nxk3t67h}X=&)TrO-Qv>4fZ|UT-E%!2$x?GRdPDSjm;DjCPbQoJpMcLe5}3jprjX?o)12cS*zm)6KSsvQWKhgZN`!)tfTSc|Kd% zTb=ZtW<|UL*=3hc?fwniez9J(&sbU8%m=L|Yt_+RaNy&XI58cp_g1OLW81Kanwu!& z$y++w!slMGYRGmqvf?)E?CUC4VCEUtAesS&5m_V4TC(H)Q4?~xTQZd*#%WwOkIp;0 zt#+CP6pe8sE9OeKUXJ$<=`HX4-C;UE5Zr2U~qwnxS#6CMI1B63wO5usT>-p zq1;pbp=!Kq__S8wuHgt;-z;_}#@1jX0XtH7)YTgwb84B(VK79^@Oz?pUWLzhv5<-# z1#gBET@jo6URN1SU5mxIJ2G4?a?Dyk&Gehe*xF5{QvP5t)ph4T>M|fu=W9A5F#pM8P9SYwA#JVCqm!~$;G%{u ze&b))`~@0?$WwLUZF!)2$=em2^mwrxxN}Rz16CP^dlxalYA|vNl#rFZO&9*$#BQ$5 z2QXHOtX=i0XrHEv`|YK&;9gm+;y28G^+F44=;qB-3)utF5pye2Jnr^LJf*KYsM++#|pJK2ZTKF=WYjiZ+?h{%<{}eoE?KW9~7v)yFhiVmCbA1 zlbG(!6xrV_ZS<*d^W5vPaKVkLf_u^_*z1}#3mvMT(O$nE9FOW% zTvS`U;m9fj-+AJ9suf(*&A^cTxVk+%R;_VN6BkuerH#|s z+rPvyvHNI4U=W|lE^QDWXz|T0QhO3HGPlAWfOlKWT8-tL$6Mg3EeCj~6fzjImWu}) zWKpe5V)a`)Avf>(+A-0!-un<#^Sf_69(X9Y<_#V78!bY+w9n z>o!z3m&JhoDi_my!0o^NMj zx5_t{v48V3O*V_&e7EljoMExr0BMIqPTBfdShtTJdbh~vtZ8??S{lf}%_hzx2IFBv zfIzDotDj}o>OVS*`b`8s&uXtSL+)5h7k(xLJEQt;)!W;~8X1<|C$Mh$R`;E6oazSa zx9?-v*&OxMtGE9gsN|`UC$`9uu*jG;Ydq_!mmed2uf*a5(^I9|Gq3(As_qDg%1FN9 zEf&~7cB={+nTg4AVcH%w1aACVG@_>K(VdEw#ld>9n60{6*#3=c>Uh*Zt7$EFN7sSg zz+ckA!`orUl}uUJ)^q~h0gsCea(mZWDNXK}+=o|qIPQRGB3GWMUvst!NahW}{g_%7 zL~kJ`oW1!y2M~|9qD3wq7@jOn=QCT}*H2o_N^Gq>mAk|~RCYyBWAGQK{8o!?y;d-; zIvQ^pSZfJ!xWkOxu%d>!b3_{$>q~l#{1$9$<86V7WZgnaEsyM>sn-)mwH=GAE5Xv1 z<}fh332OxXIH^saum;-OrnFY7_UT!Aap6CdnUcadE;Vt46Mat?h00NP1le8b1Zm8B_1{H#gmtzM_DlJqpbOH7O3GZ4GHhr zOQ(ztz>K{Ls{-8-amUo1d1B=FUdhnNxspXhtuMuQbeO0`R<>BLztQim9fij+s*4M| z!I2!ybJud0=t(q6u|C=8_jXq6o;|A7tELa8MUPFIjUmFf$}q~}E|Pz)oGXAhe2I4( zyJsLOcq2z`0^-KLZcEr*Hh0glyIbPnxfeR&ahqVZ4TVP_>eA;o9@07VKaJP3@a#w$46;n5rKT*CNogeRE#`5;%~{4Pchul4b~;!(`Iv;sZMw z`edg$(pe}L#(8=lhbP$?1sBi#sUVYN4gdTK zs#L5bcHsp8&K}4r`Ub7*FUz77I zW%#i~Y#B|ItTi61(#vrrWOyJ(ez8R#{$RuF?HF+b!+n2!x;jy}sa5l;KKH#|&u{tz z`}KGqe&f^Edf3Y*04HRvHVxx3tbXZ?ugwT>v>Q{?RJK^xjjCJ?J8f6jG^q61yE_TT z`)GiUK?=vr$0t$~m1*~BEIZ>>=(RVTThE#JBcbQj^k7Vc*KS0Ni6~jbm}pIkuNes+ z6Z!cOSXGGe>@aR{tdMwphHm2BH5B)B_n!JK_&xY4L2!71%Iar={qhmDz3ILPh2zT5 z0U$=Flr18;@svAQ^p0C2@IZs%#(h1fyWSh#INgxjDtMYH318d}JJ|8mGAwFvXu2GE zo4R>gH#ALrinrhfy&X+KXCsB`#`hlgj{UE95%X~-t;Y>|IjC#v3t&5O41d8Fub5mDWJ!`;2+H7x9bxCFj8<9@fL z=soyVJLV9$kNt#4Zr1pD8*&b0HHNrIv0m2lg4JUb9&HJ1k9v=K(YiLdcH}m`A*vELonzri3cJUug%dqPj2!B!+fGV#&z=e{@!*^{ zZD4RqpHXuM-19K8YhTy~xHTcGrJ-pC;3zbX+Lz0PBA?t&^Q%FD($x(H;%;TMU)p$i zEDrD=$XbijRsjcE&xBK{AX5TMS@jvXM}5wS5r}9Cn@J@L+Id~wD)R~uDup$Dbv@5;rGBi+5l@UoPi z7OlT~9y@AjC}N;fAFDupu5HZMm0&G<>u1gM)4HjA?Xay-HxfE|fjIbkwz?tDy6-C2 zjXzgI{02#T=iky^&2PAJ8wk69OR;p2+wlClQE%O6mHcD{`u>`uz&0BlrLwCA$#MEoz8LlkxK^`rz zS`$C%b{fKVr2G)*Wf^eGO^ROrsEakJcS>sjG#467|9Z z4$@6oQ{6schpy`?bou(#=4b>HB<`T|eodLJ1>V0@CJG+oZ7 z_UFpg=`?oP)q@-;w7vM;R`3NV>>uR)Q-R)rW0y&*YYX%jwdBVe4-rkn6HIr_as3*Q z+dKrDslYwwmP2?`9@?-rf2p)?3%rE~##zRH-ubBM0xSNaD!jhe{l=-TAD8>lzH#j; z!I#xGIwNitYTX7Ng_fCaG_&^6K zcu0x*-bE>2b$U3ZcY542pgryYp{HDQUxU%JY1b1yc*-_2Cr=>fW1^99Lbg z>BRNDjJG)- zTY3QLcmVN$orKG92!1;HJ4SEv!DY@QKAJlZJBCYLNyocz{k;I)ta=FFZhpwi7x9mJ zjK+TjsJ9u|4!!NrE1C52d%U7|4A+b+!#V%(G63H!#cgH<|_Z?{zi)%#hlVA*&{$-$-fu6{yDA%9H_4flT<8!O-1?u&v`#In~qjw&9 z=Ogs~3_1*#{#}6H1?aUi(~XgEuY=Q?dROpm^D900emfkBD)pF$-vq=zrx)5#>Sdyg zp&s!Mfavwc?{#|d{ppofxzWjOfc`Sv?d$FZmN~2&VkCb53JdzzYXsDLjVKuz<@ewp z{K6NpJ@X9o9utCJ>d?Ft7jjMh5$H`a62^$^RhHg8_)hr13Eugh5xqw(y{&(`+-c=a zV~ps*c_7?fgWu~UUm{Xpw$0KzJ^T`<|CQpKUtidc(Y55uwem}xFForggfb#!^u&i> zANYRfEf4qwM;)4dmfnls-sa4_-IMXZ=<(Ng?Kp?ewK=m}yf$zK0+t)wE4BrGY#gWa bPMgzSg{3j#-~HfPuP=YUGb2LC +#include +#include //sprintf +#include +#include +#include + +unsigned int px_width = 192; +unsigned int px_height = 128; +unsigned int px_pixelcount = 0; +unsigned int px_clientcount = 0; +struct RGBLedMatrix *matrix; +struct LedCanvas *offscreen_canvas; + + +// User sessions +typedef struct PxSession { + +} PxSession; + +// Helper functions + +static inline int fast_str_startswith(const char* prefix, const char* str) { + char cp, cs; + while ((cp = *prefix++) == (cs = *str++)) { + if (cp == 0) + return 1; + } + return !cp; +} + +// Decimal string to unsigned int. This variant does NOT consume +, - or whitespace. +// If **endptr is not NULL, it will point to the first non-decimal character, which +// may be \0 at the end of the string. +static inline uint32_t fast_strtoul10(const char *str, const char **endptr) { + uint32_t result = 0; + unsigned char c; + for (; (c = *str - '0') <= 9; str++) + result = result * 10 + c; + if (endptr) + *endptr = str; + return result; +} + +// Same as fast_strtoul10, but for hex strings. +static inline uint32_t fast_strtoul16(const char *str, const char **endptr) { + uint32_t result = 0; + unsigned char c; + while ((c = *str - '0') <= 9 // 0-9 + || ((c -= 7) >= 10 && c <= 15) // A-F + || ((c -= 32) >= 10 && c <= 15)) { // a-f + result = result * 16 + c; + str++; + } + if (endptr) + *endptr = str; + return result; +} + +// server callbacks +void px_on_connect(NetClient *client) { + px_clientcount++; +} + +void px_on_close(NetClient *client, int error) { + px_clientcount--; +} + +void px_on_read(NetClient *client, char *line) { + if (fast_str_startswith("PX ", line)) { + const char * ptr = line + 3; + const char * endptr = ptr; + errno = 0; + + uint32_t x = fast_strtoul10(ptr, &endptr); + if (endptr == ptr) { + net_err(client, + "Invalid command (expected decimal as first parameter)"); + return; + } + if (*endptr == '\0') { + net_err(client, "Invalid command (second parameter required)"); + return; + } + + endptr++; // eat space (or whatever non-decimal is found here) + + uint32_t y = fast_strtoul10((ptr = endptr), &endptr); + if (endptr == ptr) { + net_err(client, + "Invalid command (expected decimal as second parameter)"); + return; + } + + // PX -> Get RGB color at position (x,y) or '0x000000' for out-of-range queries + if (*endptr == '\0') { + uint32_t c; + //canvaspixel_get_px(x, y, &c); + char str[64]; + sprintf(str, "PX %u %u %06X", x, y, (c >> 8)); + net_send(client, str); + return; + } + + endptr++; // eat space (or whatever non-decimal is found here) + + // PX BB|RRGGBB|RRGGBBAA + uint32_t c = fast_strtoul16((ptr = endptr), &endptr); + if (endptr == ptr) { + net_err(client, + "Third parameter missing or invalid (should be hex color)"); + return; + } + + if (endptr - ptr == 6) { + // RGB -> RGBA (most common) + c = (c << 8) + 0xff; + } else if (endptr - ptr == 8) { + // done + } else if (endptr - ptr == 2) { + // WW -> RGBA + c = (c << 24) + (c << 16) + (c << 8) + 0xff; + } else { + net_err(client, + "Color hex code must be 2, 6 or 8 characters long (WW, RGB or RGBA)"); + return; + } + + px_pixelcount++; + //canvaspixel_set_px(x, y, c); + led_canvas_set_pixel(offscreen_canvas, x, y, c >>24&255 , c>>16&255, c>>8&255); + //offscreen_canvas = led_matrix_swap_on_vsync(matrix, offscreen_canvas); + + } else if (fast_str_startswith("SIZE", line)) { + + char str[64]; + snprintf(str, 64, "SIZE %d %d", px_width, px_height); + net_send(client, str); + + } else if (fast_str_startswith("STATS", line)) { + + char str[128]; + snprintf(str, 128, "STATS px:%u conn:%u", px_pixelcount, + px_clientcount); + net_send(client, str); + + } else if (fast_str_startswith("HELP", line)) { + + net_send(client, + "\ +PX x y: Get color at position (x,y)\n\ +PX x y rrggbb(aa): Draw a pixel (with optional alpha channel)\n\ +SIZE: Get canvaspixel size\n\ +STATS: Return statistics"); + + } else { + + net_err(client, "Unknown command"); + + } +} + +void px_on_key(int key, int scancode, int mods) { + + printf("Key pressed: key:%d scancode:%d mods:%d\n", key, scancode, mods); + + if (key == 301) { // F12 + canvaspixel_fullscreen(canvaspixel_get_display() + 1); + } else if (key == 67) { // c + canvaspixel_fill(0x00000088); + } else if (key == 81 || key == 256) { // q or ESC + canvaspixel_close(); + } +} + +//void px_on_resize() { +// canvaspixel_get_size(&px_width, &px_height); +//} + +void px_on_window_close() { + printf("Window closed\n"); + net_stop(); + //led_matrix_delete(matrix); +} + +void *myThreadFun(/**struct RGBLedMatrix *matrix, struct LedCanvas *offscreen_canvas**/) { + while(true){ + offscreen_canvas = led_matrix_swap_on_vsync(matrix, offscreen_canvas); + } +} + +int main(int argc, char **argv) { + canvaspixel_setcb_key(&px_on_key); + + struct RGBLedMatrixOptions options; + struct RGBLedRuntimeOptions rt_options; + + //int width, height; + //int x, y, i; + + memset(&options, 0, sizeof(options)); + options.rows = 32; + options.cols = 64; + options.chain_length = 6; + options.parallel = 2; + options.hardware_mapping = "regular"; + options.pixel_mapper_config = "U-mapper"; + memset(&rt_options, 0, sizeof(rt_options)); + rt_options.gpio_slowdown = 4; + options.chain_length = 6; + + /* This supports all the led commandline options. Try --led-help */ + matrix = led_matrix_create_from_options_and_rt_options(&options, &rt_options); + if (matrix == NULL) + return 1; + + /* Let's do an example with double-buffering. We create one extra + * buffer onto which we draw, which is then swapped on each refresh. + * This is typically a good aproach for animations and such. + */ + offscreen_canvas = led_matrix_create_offscreen_canvas(matrix); +// canvaspixel_setcb_resize(&px_on_resize); + + //canvaspixel_start(1024, &px_on_window_close); + pthread_t thread_id; + pthread_create(&thread_id, NULL, myThreadFun, NULL); + + net_start(1337, &px_on_connect, &px_on_read, &px_on_close); + return 0; +} + diff --git a/pixelnuke.o b/pixelnuke.o new file mode 100644 index 0000000000000000000000000000000000000000..0037dd45175a219eb2f99fbf418f1f499492ae3f GIT binary patch literal 22988 zcmV)XK&`)jMNCEk0RaF2000000000104M+f00000000000001NRR910000Fv00000 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

snDlLR4DiNDbg;KR_*oyY2(^5 z8>Bzxz~W^gn0+&wsL3x`QAF^LqR`ghA;xszcD4^cR#P%c4wWvDkwrHrP|hR+$GXar z3tkvD+*%tHuzTTX2o^fAA^KgpEf{(6w48PPv<+2xv$D-yRdUh_S;y)Z`9j}c>Fpx$imDQnhjWQ6d~%o?UX$TBkLur@`IooOZXOwHgzEfP08U#>yr#PR7QBQK5fV z=+nTqbL^2L?0RA(R+1x&M3;>BK-Xw<^&?Sl6i&c1Q~rf*p4%>ZFC0lb6q9@*4TFyTdS z=}%Y8oWqMultr=oK=I7bThCjr1y+)$^?)$~1SiR%=II9@+s|35rucxzR<#3Ivu~Mh zmRHPL{g3<~ph*083qxM-sS zYJ@m*u_+Xa??>mBJ&TQD|Hq-z82RUqE|~76VrSt*z)lnLIba9Xk;x$GqCqUZwx3GM zgEVI^H08d&s}Is2g8YIf0|b0N|GmbbdbsYs9{$(u;jcT-Pd0~Tau0)%e{4~8fvkGC z9QB=&bq@NL>@07f;c4;e1nwb)gsLs#H*&=CFYnjV6$-TU<$78gkEmC0Z3?t> z0c+_3Y>0m-^u^je%*Zb*^d+r_8RZqm`?9--8MU86`>GE5m+l(BqE-(xmRCJ`xUcBp zsrnvfye|Q}zGpen-K2dXCBBgCety`bFJf2vvaWo^k9TE&nnzaXD~e6aV-VLc9OCtd z-ym=Ue^bGtKkv%GX-jVswdS|)Tk~n|n$M^_ebyW{i}0d{pumPAWvsVa^crl-P%>Su zx}vLkgW0ZA0h+g`Lb%*H<;w>+@NbW z;nX)3I)E9hB(Ev-ttM*~UxmIMeE1h=<99+Xgn%DSK3_TWq^u$7=ug7LzdWEcKtO4( z9!iY&Ens&;=?7u_EjN}1K9&L8;z$IBA9}<9p3Y`y5kgP zU%qVOO5Wz49Qg0pbvFJU*-pq;+|p=x6= z6z(dtX^j!WGv$N^?%xzr)jtHDLLlq-Fdzhln@za2OxrXT=H749Sm18!^3CgS)3Eab zLt*TrSyk?04MR(FVbf?u7OI=ZBHgCZe9qm|Hj$ZC*>_8Zad+WAcxL25bQ3h(3C5kN zCVVF_k;PijEh=1#)YEfSw(GkjE@4)vlduhg##YMmM;zaM-;h#5ivW>BO z*UCvWkhL7N+L?b*>w@CE`*p!`cNgTWIWgK2RxI-_Xw3v>R~*v1;Hy07f;MD@+6CX} zx}bIW**~pfhnRYP;%F=P%13{s2`6=Z2%ky$=eLz>uH$hTcM%&|1$xO!c7|T9?IYqq z@5^;w9DA^eeJ8gOLe}uD?^q5IXY{`|@vYm$S|Ea6?s)DT6Sw21cf75K<85b(KY!d= zuyTf#YxO1TQR_OUwS+s)E<8*jY>uDRA_TxIh`&a+`*BL3LR*OT0k&!4cG3VA1Yc)P zX^4Ew>hd*G*i{AiZgu69#>nTY%hv=Jpf9F5@7Wa*1@MlN$OhgOe$4Lx<^6h!+Yr>aW<`7_jrLIu4It#g#iuVP^%bqA=jH_1`X}+9f-$nTxg~ zo77A850Lv9$m+me?2;W1S6F;Z=*2GCZI2Y@sK*9=$z~?sQ|QO~OEx180y=u}F}M`Y zFWC{gYZ6?t=g06%cA|F4PJ~N#8+OSa)Rteed#w0zQ6MHfviQ^}FAd`^2mZ}Up~0Sj zlRW{q*$ucY0vc1jxPqph3aF=ot!@R|Pys(c?)U8A_64wuN@RPz2T1%&6v~ku`~bP& z`qzuuzTAP7O5{g56nFHz)%nJ-%c5o-QBm&HYZHlDGd%irB0HgEOw&*7P#FxdxM(y# zujkQwIVVn(yXrYnE+@4d++FKL2_#(dJW=iuC(5X;W5&;Nr{L&D1OVqM62E1rW%}VVWT$~U1>q7Rc z_&WeAJ)k;Cu?&Ah0Dt(H9Lw<6eq!lruUhzHCO=SU7SRKcQPW@n-N=IOc)uM-U# z6@gn82n42U2uueAMll4YwdV-z?%X=ZhAHp3V$>LuhQNgm{A;d4L;t5&-a$8j4!IG? z6g2ZxVDMB>?pAQvjllAH5%`NhVD{DB)4X&D?23N}W^&{RN8r*qMd!RZ0^zuGlp%2T z)tP<5oRk->8|o>~nv`!-i?$YAdW0NL_Iw_&Xc*G>Zf&oBUt05X&RQDEoP;g1nN0Xllo99)X#@as~uWsXgQU$qLqPc`^`3h?X1;P**qgkKKr zT6+2mlX{vyi{CWs?W^?}Pi+U-Z#l`}sx}?LjW6QD4-Zrn~7a zE}T-IMLfS>a$7vTXI70hY=wbaj6s2g6Q-Wk&hJY=e@}8*HF!m5@R5b$+xsOVOQO*T zqrsysHF20DDLHenqhq{eicd;(Bxe|s5|bSyo~CA`(e#WoQ<@_^GbzKAn&x;nahM#R zF2|=DUVhy!b$>4T!?>ix1bckSkRfr&3HAubuvABUh9kkA;D}Eg5|?C;OSiw9n3kSl zPmN298{)`tq(w^YJ;c%-@hR}D@z~QGA7mz`IT9kJ9{-b#x(XsCUvRKZCi@@V{dKA5 ztAi5L^cIFBrl%(+zh_TLvnL7*5$S_cGLsVQ10D83j$vRhDFqZg`6T`dN`k{aBom?m zmM-n>-BCKm9zO`Qf=6lT_M{Y08S&a{?d^S^c>-7A=kZ9%*zdUkPfOl7+S??+f63JE z)yH4$CpBb0_S9jq;3$NU48M}`*{5H4S(-v1f?@WLV(rg3GPpDLILKp4dSXUmO0qp- zSo@D6t(?c6miFFz0|!RL#YM*2pGu1xYLBzCy4oX#CT0w>r=+3?rYb3QP#ij(oa{)7 zw4y^oe;gzsoy(*re(bO^$71b$9T}Nv$@cV&xQxW~jKuhK$-jT{;N+B{$!bBQ{|AOj zgBf_7jgUV}f>9L4&-0$^`)Xx=fE=71`UDNN^*zENif9Siy00dt6t#pwy@f^e2O=7p zw0iqzOH(;HG&og5&?ty@t{R0cUAUKX9?tW74%Z=21w?~HG$I!Pf~B<{b=;r@?p6%d ztyEVV11(srAP;??6<%k2?xgFy%pMbzwAJm_bJ(;%OxoRgsW=cn)Ht-vX{mM|a77Btq7L3P=%|n!B z`Y7AbzEqZ}T%U5xuI#Rm^63@Hjkl#t#1J>FekX7I zxEBM-@{;Fq(B!}5jvQn8S6=xi??Lh;hRnaI&L1Hw9!Hdc*~$6D^vv8;Vt9hS0EtJL za(J9|kHVw^=-8c0wp?~J3C6x2fBLf-TB zOC%Q}M4K!p%Q6e;2W>1jRv_XgDnufubKkoR^1uh@-S2tld(Y?G`%(m&c8H2ZbXo!l zg3?-_O+mqlgabB0RnrWFN~b}C%3%!RCXX|I?@s>6b^# zoSl1?vvdf@y%o5bIASzEl5x16sJENA%;&Yy>yK|an|j&WYK zIGgkPtb!<2 z4Hb{EW7Rf>f?pHerspI>(B90u=8-yT)wIXTl_rEYsGEif+QN`OawhURV#mn>ZKGZc zCyMP&x(1F_vsc_6r{rj3%$B=@S}^O{6Oow`QAL2+OXsgtF7#dQt(+LA z%KbeRb+Nx^;6EEs*spk;ZBt866Hyqw-+c3GnbL(ZanVI3nji}|ZVW5e@+%Cji9vzb zXk^9o0fmaeXkajP>L5x;NF}&%Ba~uA5GwKri4hSW7*Ggmq6iwO_ud(C)0@o9y>rg_ z&iU@0Q3#N3B;+(9Ji?_F%PKdgOpmGdEL2@A3fg~Fe z!>TMOi3jZmDW-1CeygCEvX7|%e5R{F8U++3Sy7=8u3-nlk6+18o{Bz->scdJ(yTWf zGHEh{UiN^;P(gX$?=@p1E0PE`7D3OF1PWn3k7mgih+C_j0xwMs&AxoW6@y4vHBmBITjNM0>FZ0TKo6FK?jt@VV)$X&W_oi$N`XHaH`9H*irN=cNHsFkcqg_X8PoR zqr!08f@72;Fu89ejlY|pbBtovpU$FYB?do`DQ6R24K}w(td<5X0D174=;6g=2LwG!x%lya#pyutQ8{uYMKn5VHhc&=8#WS+QAy&6>z}ZfQ147hu|E-H7iRX=Ukrvq z!9b;-!j(q@{(lTMXC(S`lfP{9RIPZNZH~Q415pr#=iJ$3BN{EWPzb3cg&=tWdmq3D zNVW)uL=e#~cQ>mN!7{EO7ZzfXPAshaTl-Yjf+$2$ECdCyNu1rJbYNhZbLKl^6KD}c z3p8plL20d5Y&WBTc(QZ`)KF;PklT#!pOb#J&=o~T!RO?j-kmc{6iAN>mnaa4^Z9(x z&Ze!gge#;ajOgq>73slnUq=re{H|I=EhbNJ7IZ`htlVU7M)VFpd<|4`DLm8d4JUkf zZpJVI78b7IBbLJcX$Se4P#@Iu5af` z)%vDWrayy}XTf-!g_iqMQ&$kj&)##BTw(%N?ZcWYTwX03zv!kVKngA&-Zi$m7Vbq)J!tq7 zt2b<1YI21cXnhSxeZEAV1Pq_6kLLAj>AQvJUm+l0-MrdUwb6Js{Zul6z}kZ42iag54fD)X6RO z*pZnNY&-lW*1%IG{$!8$y>%d5xI0*-m;LB*k}^Ipl^3CKA>A+6$<;k6!{V?j=eAnq`+kiD*)yH z0{{a2B>+W_yN}x?AjqI?g0MG~I4waT!WBUXZ0;HZNwCA!3BbP4jA;RM2)HHy;kJ_9 zNfMyIbqUy6STpnxEJDq>@uj!$iWs(Hku21V;Zd{lw>Jz=jo%5EdjowLWD>FI|?e8i9?0 z9y6KTOE|=xajrqtfq$$s#@?Qk*vkX``0uz=r^Fr_?ueWFDy7>|80J>CzHLP{qGRSk zyu9-&xSUTXjqErVkxNnWRLe3*CO*fT^ zNwlYIiS$t70(%T<7Ku87w6ok(x)-c>_=T5Ik}7GfPDvLfQ=?xVz0hz^j1lTNx(eIJuG%t>=$p_MoyH+E#w0Y!1b^M=N~}raBomc^ z4^8?(!Ln2D4FZR^J<907X$7wzuOAKrez$>43FoFOH|NXjRjb#1nw_znsaf8Y%jx5b zgteb|v$Iw#%UR*{u3fe!cWus^)t@`8znV9D<+@c_UY79DyPsv{=4N}@e{{16V|bix z($7m2VHm*i=b2}AR%ds1*Y(H#vUJtTGBx{QKQ0#Zmxy%f*s;Si#(*69>l8EZ0ukX8Vzn;0wm-q8N^A5u#0b$q%0IQqff$#e^PHzD) z!1By3WdMmXO!gdYsInz)uzDEh-tUb5H&{YFnCP_3y+Gz(w9NxgF@1UI{2r^Cu}Z@5 z7$^Qb50`>9|E4*ymu>k~`q=p!{5qWGE z8AiD*!xgTGK-BtnezAgak|^`=>pKghtg7k#0~>?9s;3J-5aR+-{@b$+!l+D?)fKDC zJo>eW7~WB}@njD%x=Yluz5CO};2u$~wi7gCa9>U63RUG^1XB)1HB^f_W1Xv?9;?;o zDlhYS_-B_zv=#bZCGFEx=^Jer>eU>D7Crkz|d7UOh7Y+gc7J@T)oF&E44L~p$ zh0*WcztsvtN3#<<3R|!MiSu#_Vg(HPg#BNFbf9!XzM#9IJdie_T~X;pwsI}1ObxBIfy8d$N~`r5=bKL zf5UscM^SxT=loRN`~Lgi?~nK1_a0gmQkni*rTT?NrOF4|fsdU^rRoGa22=y|8Bilo z8&EsYBcL9j$3UY%lR#5I^FYf$&wDOl z10@0_1Em0^16>8W22=!83{(Tu12hga2eb;b2J{AKlgJZPDlL#5kPFZepbvqL1AQOp zZ-9OdWCN`K6~2D~^edph1NwWQe-u=T&oRt+PXiqUI?U}&@c)MMB90$%nexvMVZ3&q z@t^G@BhiYC?}3cJ-bV)U_gmZt#D;S~gFy8_zvlAEJY8_zm;388kp0g<{~hRGfc}TD z>)%3|&&3$f2`pyB*l-he<3)@gqJtjjB+w(^afk2!3G{n`#hw^%p3wFNG72m%#h4Uh zRg7Kou~)Hp_zHOc2xJzRzl*rlx2rk5IiPlhLHLZ2G{;dV7|Kq zbd38jTu|1Z51<_(DC^Uo2`nf7H~jVjItTQBfDAzY7bpbCQN`*GsTIVIf5Yp?ab8bI zY>?U_uUppQpUv%1~?-};)(2;E1ARHzai7bpM5+vG2* zLYQ14S5P%N%ESrfBYAnYl88t6C+H#Y5MC~Uij#yqKu0Zwpwj0X&DimR+3agh^)ny* zIh9d?j-YY`RSDG~M>-h3fw||^y*G~dyF>vzI-Av^1wLdClwb}ro0tC|sz>&!AR^10 zVYYc&g}!$L9Y3N%wSb9SQlSPIQ3sL}%(k=#gkBhrSay^nfPNW*M&!u#AwPk?Hli>? zVBT&Ou^fC1MSDB+E@tS9?4X^O5q|?)pzj8GT~yv9ioTPfe?-xTmi69I z%h5klpzq=6dno#{Tg}tW_lf9x8G6yy2f3{$62`N58kudOUDDr^ zudzTs0P^~&yg`bdN+sf27J@1@a^!;w#}xTe?cz->%=KG94j&RX;Xb1ij;xD_ z%Y405;)p+Dzw7Ic+6PIJRgzdVg6IGek7yV=he+orvWG!aHIL^tOua+U?2dkN&Z=pi zh^851riq)Yf9c4^9){-q(t;;8%rdFOQpttgHFg%3nE-L)RNN%B%oFCrMer*O{La0LJ$7vLL(*O>Pk*Ul=;Mgd$2XH!ERFsW zYJ9Bo~H#nOq*d-O=rAf!#+qg3JOD z=PMi(h0+Eog1+-riq!+UWdQsHh8@01gl&fR@Lc-=H0L*#-q>5keqP|%{RN7BDYkip z+x>^chqD>?c);H!c28Ix>a`5`K)@bAu?JD?R48qbkjb7aQfwW96xf3~_F#%VIL*(` zg-!nf89TF(h^=A|5wTxj*el037P-?tgyw2$akiFW9}}Rx(SI%3a@7t6>=!BaFp52d zVGpC&$3|yLkQ{rM0{bP7{Sw7KmK&AFP4|70tC`C^)^{8cBKB~GJ!>^|i-Rp9hMp;3 zakao2DKI~&P!z=)!LUYAtXmMUQ2zDpA1##FZTsv0LM8_Sf9>6k9ygO5UU#V?KK3rTL`sHx<$* zfb#KF`9!LG98*4#D*vjfZO2Bge4;}6B(8iCRle*=S*zNfZ$N{-b^{9BLDA(INP#9< zkf-YvdAeSqXtJN?mnzbgjMzn!!qKEqG!t#XxrzmWY-M+uQ#o@gW$sQWiqxnDw$(;o zs0qNN=PB#aP!TjmJPwK|mdU2}KwfLULzb9( z9n-veq>>B@nXVqO!=F+hk8(QVIqQ4S90N$6BO zxFl69Uu%r0in{yin18B99@nSjC8An*Te^8r6w^56^e1t4XH0!82YO!-{SWy359s^> zCDjdD7DHMRZlzPf)|cfPF@_$p7)q@Sjp3VETiH?IFh2^s-mcGZu?Vp`uyrl@0ESOA`(7 zuI@!!3$V=qwuypmpKuxotzJ~aZ1s-Gq>x;s2w0MnO z8@<%ruf-SG4XQi!#Sbt}WR1kZg=&m*SVO$4b&%cFy0W!$L4!-#wf_01*In>K*2o#V zzQs3VZ$q=TIq^EeZS2})OIe&V9$}4^S8-)(yuupOZ7uoEc!M?WT?{C9!Ty*wV&4p; z2snZ@9>>Jz+Ts}2@L6fBb;60PG5ad8-vQ^dMo;^-F20+rp?4xiBC-)LlW+j~=BoMn z6DUi&pQGf@A@YZni~3jJO=)9w3KpJzNc-1<{JvK#b$SK)O$v;!xq310fRCR!?sqgU zI`{y#y-?A!jS963N2Gc*lI)yduJ*Sf;)g864+>H}V(csLNZbQfzgsQ7d!H?AGI+y`7hzr709poG2igQ$0a^oE1)2wX z3G@u;DbO3BEubZ!=RgZUb3m`y+Q{6xo$^kapSj_8G-~=R0QT(Fe&n2_&gA|PsZjo3 zOWaSa1c5BX7IS1+daYn#;-Pj#U!C-jS8*ltHm~B_?0^wFnQDhSSP^Qi?T*vpVcNji z8I{BKTz^b#EF@e$;M+1+r`140|Fbw*-5!Dc8Z zi0shdRn{nde*TsNe#07Vg~5f+I7m$zHqS!d#MvNP-HuA`7jIglK$tEFGxvw$qbLNw zkAi_N0A0lI?}qzg!EU&p=Yzh+Cr!sBZhs5zT8n7^P~r~QU$)GF+l9PFfKkwnz}Uqa zQEQRJO&^jR1|CHYgO&V(3yKscXXUhEnE4jI_dkj}$(}kZ_FTfWYdj?9sh!vtF7^d1 z+gd%GL}GF{iNO4D;xkektT+|Ibs2XQ#}vgdy>7THjKT?>Jd{Fesux1+FMJcC?H%!h zSU>a%?2EIKhByRCJpz{@KE`GPNS}%cmdRz;*@WUp#rTo-0WF=Br9nBBtFdksC{O&%>qdGn@ zSFaU1OTx$|KS?Gm$wF8%6*dyyUh0Uam@sog?~0ZK+s=1n!h8f8l2>HHu2=|5p~8Gh zW}Z3YB__<`D5J=NG@1op@FeK&O-XiuiK}7a4j-Wb#vCUsC{>!3OhKA^CQhdlhh4w( zJ8ahc3G-&+uQ@_lO_bD6QaGLeekMZ>dy%a%9p{*$Ncd)Dx$FF#)itZIF-SAU0ePeK7Kp{hku8Tz9AcZLmFL7 zN0;7?n6ksUY;=)Nb+!{OW{r;X8Bo6k6}m--?A4j}?3CQ=Wqulko#`E>aY^s`GLr6+ zm9S3neSpu{`v3{otCHBlQ3`80eWcyBGr@X3Jc7#Dpt`(Ul@7R!;dv147m6uE1?W@G zI0hpxjBD_H#?g>BSgs|AD}mu2v8iH-`jAcZVko{sgB#e8wyNSBauwZ&A=Oxos+imd zE1hY={(*%a01J9Z9d}oBTx;C(Atz$^R5&Mrsx86n~c6G zd7*}S;mX}Ivw)`=rhxLaVRA4%Vvlx^?7rF&c3&+wC8x#-Z!q4uvhYL)`+Z&?Xuxy; zy(v=3~XV2t>)NE zPGVmx>$|x+(4@wGHuR;9D*-W2wbC0G^{@V;zaL4uPQ3418|?tQlW)8_u=v8o!>xg7 z#p@28iakje7VjgC&s2u9c!WOG#^AKf&U7QI8Tg1gvRicI#_jYh4bPzMRw(bVwgC&O zmE};as1y_aPrvsxT#^Czdxa`I-1lawL-3}$10;#C)xA>^)QU+SecmPLc$zG}u( zd^L7NE9Jmr)){p1dXBRg_Cq}EGg@k1If%pA`cXWw?LvD#ID$sl(1P`(M;bBwMYkQenPD_AX@Ee)y+Qp-SEF6g@5=@2rKH9!oQDLm6?GlXNBaagQ)zn0$$ ze5zP!pANjZOcsh|(5AiZz1Ff>bI?J`geD|KW{Dybk|J|dk>uy8@r_&wI8@yqzNE4? z6xm9v?4zt%qxzCCM4K%0jakf$*_y>z%2a6D`%1D!ix6#=vLss~Sw^x&$&w{fl9b*5 zPE4lxzR&kRo;&xvzu$Y_-`Vat=Xu=caa|x3!NTEc}j^s4;gdH_4w{a!K!K#1Ywe6B?-mm&`O+(?s*6PUJ9crW{S}7}p z9-H}v9_-5b(7E5I8XxP2w}(6lhb>q8(|RbqE;2$geV3G8FBA7#MfY`o!AGaN4Z7&S zQ&q-qdOJ+B4bIS_g;R=U(AK)BjJ&@vZt)o&=Tgo~QywnYkSL%V*+NvXSyKnP4fp;C zzx^47K_~7JbH}X#mOO;UusoutrDC^C+Xm&W%P;Nzk$g6p+4jEYRoOwwT-Aqbl=Ig} zwW4q@Uma={Yeg0t7we}S&^RNred1i2iBLlp(M)za^CWBVo%0=uYXw@dl@Lj+oze6a zg96vdcln_y2!?8_ZHjTcHokjVxxS%S-r(K=56qT7yD(`i{W6%g&J^D8t4oH%r3cez z8+PGLAlm9y4s~C4pMfNH#Es!|l$;J;^0lkDAf~l&gXW$!8nQd(QXrciG`AUHUfy{2 zp@P%#PO~=Z^SzTc$Ln&1+l=Lw?l@-n;VQt^*HWf@hTSe3TNi5ntWedK)68*EW|@ryT}tiJJN`)*j>7DqdoEi4ku1AuIRUh zREFelQP`;&YSrYF{sBf0J!^l(JlfI1^yNghP`grh&G+2V8qO={7w%3MgCx#3@7rI# z_4F;P?Nludyq$Jl>fNj#=~5z;8z0lNA46}b-&8-n&3S`#96~))D{Ggl-U(ZEVKrg5 zC}w7nSxKcYtt;PK(f zNndHUZUf91S28JYcm1xGffjDj^`$4uxA-95Seq*9jW8=B7Tp@!rtw}`R6JWdG*I!Q z*4@CI^98Y}2z+M3GD6RjGK8Y%jVYr~uF8;euR63OcLxM?5)C~rSg`}m{rXDN?ViQz zhzz}R>O50-?o%rBS!yoCXOAJ|xj1d(yDjZ67cAWZN#0%YNBnsaOU;HaWp33hR)+Az zN}MH0r7&b!%f;gZP{qSGdSod>^60&h+7Xpn)z#{Vt1GGT>mNi!SNIU_?#l=ePk@D_ zkDB9OA7b{%wm$WR6^7!`(EH&V4V)y04khdrW$H^$P1Zz37nB(!SziAk;$pRO$ogxa z%et`DEH6om;&1!I#&pZXYc?&#u%Aa=O)GnC9tibTm5M3YhB9y~!(Kr>bW(heb2D7x z7xm(#I_pcd`*ydq6K^vRIgR)=iQy?B&9~2f4ZK%n)bG%Rr=B2Hmwn56ZrLw#L`U1; z*+q%ipsjI3$zn+GC5%_K_Y*HHO5QWb=x_bnn8r36TWl~Q9M-I#UElvKfpe5 zg~y)mb($HR2NU^=Z1fc+qqI29!#FS+#AWiRV`@Nf73OeVE0Gl!;Hin&%L?cS}tbyy)d$-!u>4vLx@r+C`%i z#D*>}YLt|?pJb4|c3D!l+(516UXjKXi;ZoH5+ZwqWv5uTU!vmlt6ea5j*qG$>{sJ# z14}Dgmj>j&+V}N^@JH=WpR_Z5$3xy(xZkvNMOnJuw0v=Z?3p!XG@g#lalOJ$E(&`y zVPT|<#Vp#A@^FI8_Dy|D!{^B1bI=&>uW@YSdtz7Vf!zm4;mXKxrT8tQhqLuzs6YA+ z5lTHuJ|=XEt~YybXI2@~owAs~9(8VhhoNV7;co@kDrM~VAF5hjA}$}l^Vb~0Ru-S8tM1k;xs>`7W;qS2cf=cxd`#Nl`nN- zlRhK4tlV{pLYDe72bqq%lSx@blV=xWl$H$YiYW)I3mz#I?l217{D`QsJ^PZiWVEYT z*88WKli_2Z%R)XK5Y_iNnd+vaDpSr%cS7Y}IN`69f2`^1ksr|=L9b4)wK;5(@c`3` zpL8zje;zfdo>5ZN`RI7lHT`jy?&lu&g2fetPP$qL) z3r+>S*=?XNQNQT}y)!!Fbvs_q|D*lESWbQMXp{52yBO>E_8KP9(C&6`5fiH`XgRviZFsU&CHT(sWxt zX=LjFvF;3d~XZreeBw zO1j>aSz2FVHz0LMQmw^t<(HSay-ysE+}H1$ZgkCS4|z9O=?V$UjbKmNDI6|TPCUe* z1>?@{35gvHxns>Nt#u$z=VXm1*KSzgerV8?xud6>WGdx+Y8QLwo8pliP8uA8iwnWCu<5Isxwi4+$w^7Hr~rn4$>J#Wpc6_@BY6(T*49W5&kDPcCbFlB|@tT(6VAqPy-h}U_K6<7f>DR6?*a}7;cGjNv5XmsR1iuvT z7d%q#`lN6|J3+q^5;d$7+Bc!pHkoPfUz$8*?tkf6_rB?}OI^3JdK6>TBn)Ej2vMuo z8xc7ls*lFJRBH}9!93?Vwv7B~P}8qhHd&fFi6}f(ZHqG5wlntnqmLnKA^Kt-<<@SC zzpu>*t>}5%VxMIDS6oAweI~*x*732@siG$iao!e|qeW}dUJ$V6i*ff+CR5WwWsr3+|A^CYjAaACJe};g2gTYWZ8ijxW+dU`uU4VvR z5C}8l!_OKMV9id5IhhFo0tQDQ@C$GwayyDfCsX+CV!!MNDmb!pf-Ar*h5mD3;ox*Z z(82jP=hX(Y+>V^>gc$<-?^A28#KwOtfuWL#a59D4$22&Cgo0D)Jjfr;5G>5!m*Bu5 zy=G?6T!fuqR!s*(BI}STXcCd4wt5aBkVqb+;LzMG5knv&=sE~5oCOv^Ma`Hf3=3b( z&w@lcfu@7PAqe0TYvD~|{PZKJ#MwI%YXJgZBdr;>qaN3eA<)Tc0ARCio9SwGX9SJn zg+q{5Z-(kaH|iK^Q7O1h8Z!v6hJq6nfd+#ELhHfoLL*?&B2ghRA#vfQBC9*;AH|>RshQhV0i(&TmUNo+!}MognP*V zU#FD>Fz|B?ATfN|}G?Pnem-wrhoYo=o0wgjbsYaw*w|3&@x z9-oop-^}I_BqDI6dEDGd;YB9ENn{jy-XWr*G4uLSXe41?!p!WOuPWeb4Ng5InMefB zEC7^5rlX-Yu)R7oIs)kfK&_n}pa?p+?RzokXz+0H|0m_yXNI@h7zh;Qt$Ax^dAwEZ z-+16s3~*Pb|Ke%S>VdbT;018?_*WcWTu0D8n?DL>fvw;L?)bkFj|ZL>e&Z#8xSVfE zYpc!ym z3$}%C3*!|j65yGs0)RHp$*1>Ofakpd0L=bjJfy%Fv&DbLy{QENoPW^c9!B_i6deGt z +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#ifndef RPI_THREAD_H +#define RPI_THREAD_H + +#include +#include + +namespace rgb_matrix { +// Simple thread abstraction. +class Thread { +public: + Thread(); + + // The destructor waits for Run() to return so make sure it does. + virtual ~Thread(); + + // Wait for the Run() method to return. + void WaitStopped(); + + // Start thread. If realtime_priority is > 0, then this will be a + // thread with SCHED_FIFO and the given priority. + // If cpu_affinity is set !=, chooses the given bitmask of CPUs + // this thread should have an affinity to. + // On a Raspberry Pi 1, this doesn't matter, as there is only one core, + // Raspberry Pi 2 can has 4 cores, so any combination of (1<<0) .. (1<<3) is + // valid. + virtual void Start(int realtime_priority = 0, uint32_t cpu_affinity_mask = 0); + + // Override this to do the work. + // + // This will be called in a thread once Start() has been called. You typically + // will have an endless loop doing stuff. + // + // It is a good idea to provide a way to communicate to the thread that + // it should stop (see ThreadedCanvasManipulator for an example) + virtual void Run() = 0; + +private: + static void *PthreadCallRun(void *tobject); + bool started_; + pthread_t thread_; +}; + +// Non-recursive Mutex. +class Mutex { +public: + Mutex() { pthread_mutex_init(&mutex_, NULL); } + ~Mutex() { pthread_mutex_destroy(&mutex_); } + void Lock() { pthread_mutex_lock(&mutex_); } + void Unlock() { pthread_mutex_unlock(&mutex_); } + + // Wait on condition. If "timeout_ms" is < 0, it waits forever, otherwise + // until timeout is reached. + // Returns 'true' if condition is met, 'false', if wait timed out. + bool WaitOn(pthread_cond_t *cond, long timeout_ms = -1); + +private: + pthread_mutex_t mutex_; +}; + +// Useful RAII wrapper around mutex. +class MutexLock { +public: + MutexLock(Mutex *m) : mutex_(m) { mutex_->Lock(); } + ~MutexLock() { mutex_->Unlock(); } +private: + Mutex *const mutex_; +}; + +} // end namespace rgb_matrix + +#endif // RPI_THREAD_H diff --git a/threaded-canvas-manipulator.h b/threaded-canvas-manipulator.h new file mode 100644 index 0000000..a7ca678 --- /dev/null +++ b/threaded-canvas-manipulator.h @@ -0,0 +1,103 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2014 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +// Utility base class for continuously updating the canvas. + +// Note: considering removing this, as real applications likely have something +// similar, but this might not be quite usable. +// Since it is just a few lines of code, it is probably better +// implemented in the application for readability. +// +// So for simplicity of the API, consider ThreadedCanvasManipulator deprecated. + +#ifndef RPI_THREADED_CANVAS_MANIPULATOR_H +#define RPI_THREADED_CANVAS_MANIPULATOR_H + +#include "thread.h" +#include "canvas.h" + +namespace rgb_matrix { +// +// Typically, your programs will crate a canvas and then updating the image +// in a loop. If you want to do stuff in parallel, then this utility class +// helps you doing that. Also a demo for how to use the Thread class. +// +// Extend it, then just implement Run(). Example: +/* + class MyCrazyDemo : public ThreadedCanvasManipulator { + public: + MyCrazyDemo(Canvas *canvas) : ThreadedCanvasManipulator(canvas) {} + virtual void Run() { + unsigned char c; + while (running()) { + // Calculate the next frame. + c++; + for (int x = 0; x < canvas()->width(); ++x) { + for (int y = 0; y < canvas()->height(); ++y) { + canvas()->SetPixel(x, y, c, c, c); + } + } + usleep(15 * 1000); + } + } + }; + + // Later, in your main method. + RGBMatrix *matrix = RGBMatrix::CreateFromOptions(...); + MyCrazyDemo *demo = new MyCrazyDemo(matrix); + demo->Start(); // Start doing things. + // This now runs in the background, you can do other things here, + // e.g. aquiring new data or simply wait. But for waiting, you wouldn't + // need a thread in the first place. + demo->Stop(); + delete demo; +*/ +class ThreadedCanvasManipulator : public Thread { +public: + ThreadedCanvasManipulator(Canvas *m) : running_(false), canvas_(m) {} + virtual ~ThreadedCanvasManipulator() { Stop(); } + + virtual void Start(int realtime_priority=0, uint32_t affinity_mask=0) { + { + MutexLock l(&mutex_); + running_ = true; + } + Thread::Start(realtime_priority, affinity_mask); + } + + // Stop the thread at the next possible time Run() checks the running_ flag. + void Stop() { + MutexLock l(&mutex_); + running_ = false; + } + + // Implement this and run while running() returns true. + virtual void Run() = 0; + +protected: + inline Canvas *canvas() { return canvas_; } + inline bool running() { + MutexLock l(&mutex_); + return running_; + } + +private: + Mutex mutex_; + bool running_; + Canvas *const canvas_; +}; +} // namespace rgb_matrix + +#endif // RPI_THREADED_CANVAS_MANIPULATOR_H

huER}u98cpVyoPu1 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%0DC4%GxbsDjCmaGyQtN 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 E}mohvFTbKfQO6xKwyV;5_QhW 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 BY+3*S literal 0 HcmV?d00001 diff --git a/lib/led-matrix.cc b/lib/led-matrix.cc new file mode 100644 index 0000000..abc8307 --- /dev/null +++ b/lib/led-matrix.cc @@ -0,0 +1,763 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2013 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#include "led-matrix.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "gpio.h" +#include "thread.h" +#include "framebuffer-internal.h" +#include "multiplex-mappers-internal.h" + +// Leave this in here for a while. Setting things from old defines. +#if defined(ADAFRUIT_RGBMATRIX_HAT) +# error "ADAFRUIT_RGBMATRIX_HAT has long been deprecated. Please use the Options struct or --led-gpio-mapping=adafruit-hat commandline flag" +#endif + +#if defined(ADAFRUIT_RGBMATRIX_HAT_PWM) +# error "ADAFRUIT_RGBMATRIX_HAT_PWM has long been deprecated. Please use the Options struct or --led-gpio-mapping=adafruit-hat-pwm commandline flag" +#endif + +namespace rgb_matrix { +// Implementation details of RGBmatrix. +class RGBMatrix::Impl { + class UpdateThread; + friend class UpdateThread; + +public: + // Create an RGBMatrix. + // + // Needs an initialized GPIO object and configuration options from the + // RGBMatrix::Options struct. + // + // If you pass an GPIO object (which has to be Init()ialized), it will start // the internal thread to start the screen immediately. + // + // If you need finer control over when the refresh thread starts (which you + // might when you become a daemon), pass NULL here and see SetGPIO() method. + // + // The resulting canvas is (options.rows * options.parallel) high and + // (32 * options.chain_length) wide. + Impl(GPIO *io, const Options &options); + + ~Impl(); + + // Used to be there to help user delay initialization of thread starting, + // these days only used internally. + void SetGPIO(GPIO *io, bool start_thread = true); + + bool StartRefresh(); + + FrameCanvas *CreateFrameCanvas(); + FrameCanvas *SwapOnVSync(FrameCanvas *other, unsigned framerate_fraction); + bool ApplyPixelMapper(const PixelMapper *mapper); + + bool SetPWMBits(uint8_t value); + uint8_t pwmbits(); // return the pwm-bits of the currently active buffer. + + void set_luminance_correct(bool on); + bool luminance_correct() const; + + // Set brightness in percent for all created FrameCanvas. 1%..100%. + // This will only affect newly set pixels. + void SetBrightness(uint8_t brightness); + uint8_t brightness(); + + uint64_t RequestInputs(uint64_t); + uint64_t AwaitInputChange(int timeout_ms); + + uint64_t RequestOutputs(uint64_t output_bits); + void OutputGPIO(uint64_t output_bits); + + void Clear(); +private: + friend class RGBMatrix; + + // Apply pixel mappers that have been passed down via a configuration + // string. + void ApplyNamedPixelMappers(const char *pixel_mapper_config, + int chain, int parallel); + + Options params_; + bool do_luminance_correct_; + + FrameCanvas *active_; + + GPIO *io_; + Mutex active_frame_sync_; + UpdateThread *updater_; + std::vector created_frames_; + internal::PixelDesignatorMap *shared_pixel_mapper_; + uint64_t user_output_bits_; +}; + +using namespace internal; + +// Pump pixels to screen. Needs to be high priority real-time because jitter +class RGBMatrix::Impl::UpdateThread : public Thread { +public: + UpdateThread(GPIO *io, FrameCanvas *initial_frame, + int pwm_dither_bits, bool show_refresh, + int limit_refresh_hz) + : io_(io), show_refresh_(show_refresh), + target_frame_usec_(limit_refresh_hz < 1 ? 0 : 1e6/limit_refresh_hz), + running_(true), + current_frame_(initial_frame), next_frame_(NULL), + requested_frame_multiple_(1) { + pthread_cond_init(&frame_done_, NULL); + pthread_cond_init(&input_change_, NULL); + switch (pwm_dither_bits) { + case 0: + start_bit_[0] = 0; start_bit_[1] = 0; + start_bit_[2] = 0; start_bit_[3] = 0; + break; + case 1: + start_bit_[0] = 0; start_bit_[1] = 1; + start_bit_[2] = 0; start_bit_[3] = 1; + break; + case 2: + start_bit_[0] = 0; start_bit_[1] = 1; + start_bit_[2] = 2; start_bit_[3] = 2; + break; + } + } + + void Stop() { + MutexLock l(&running_mutex_); + running_ = false; + } + + virtual void Run() { + unsigned frame_count = 0; + unsigned low_bit_sequence = 0; + uint32_t largest_time = 0; + gpio_bits_t last_gpio_bits = 0; + + // Let's start measure max time only after a we were running for a few + // seconds to not pick up start-up glitches. + static const int kHoldffTimeUs = 2000 * 1000; + uint32_t initial_holdoff_start = GetMicrosecondCounter(); + bool max_measure_enabled = false; + + while (running()) { + const uint32_t start_time_us = GetMicrosecondCounter(); + + current_frame_->framebuffer() + ->DumpToMatrix(io_, start_bit_[low_bit_sequence % 4]); + + // SwapOnVSync() exchange. + { + MutexLock l(&frame_sync_); + // Do fast equality test first (likely due to frame_count reset). + if (frame_count == requested_frame_multiple_ + || frame_count % requested_frame_multiple_ == 0) { + // We reset to avoid frame hick-up every couple of weeks + // run-time iff requested_frame_multiple_ is not a factor of 2^32. + frame_count = 0; + if (next_frame_ != NULL) { + current_frame_ = next_frame_; + next_frame_ = NULL; + } + pthread_cond_signal(&frame_done_); + } + } + + // Read input bits. + const gpio_bits_t inputs = io_->Read(); + if (inputs != last_gpio_bits) { + last_gpio_bits = inputs; + MutexLock l(&input_sync_); + gpio_inputs_ = inputs; + pthread_cond_signal(&input_change_); + } + + ++frame_count; + ++low_bit_sequence; + + if (target_frame_usec_) { + while ((GetMicrosecondCounter() - start_time_us) < target_frame_usec_) { + // busy wait. We have our dedicated core, so ok to burn cycles. + } + } + + const uint32_t end_time_us = GetMicrosecondCounter(); + if (show_refresh_) { + uint32_t usec = end_time_us - start_time_us; + printf("\b\b\b\b\b\b\b\b%6.1fHz", 1e6 / usec); + if (usec > largest_time && max_measure_enabled) { + largest_time = usec; + const float lowest_hz = 1e6 / largest_time; + printf(" (lowest: %.1fHz)" + "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b", lowest_hz); + } else { + // Don't measure at startup, as times will be janky. + max_measure_enabled = (end_time_us - initial_holdoff_start) > kHoldffTimeUs; + } + } + } + } + + FrameCanvas *SwapOnVSync(FrameCanvas *other, unsigned frame_fraction) { + MutexLock l(&frame_sync_); + FrameCanvas *previous = current_frame_; + next_frame_ = other; + requested_frame_multiple_ = frame_fraction; + frame_sync_.WaitOn(&frame_done_); + return previous; + } + + gpio_bits_t AwaitInputChange(int timeout_ms) { + MutexLock l(&input_sync_); + input_sync_.WaitOn(&input_change_, timeout_ms); + return gpio_inputs_; + } + +private: + inline bool running() { + MutexLock l(&running_mutex_); + return running_; + } + + GPIO *const io_; + const bool show_refresh_; + const uint32_t target_frame_usec_; + uint32_t start_bit_[4]; + + Mutex running_mutex_; + bool running_; + + Mutex input_sync_; + pthread_cond_t input_change_; + gpio_bits_t gpio_inputs_; + + Mutex frame_sync_; + pthread_cond_t frame_done_; + FrameCanvas *current_frame_; + FrameCanvas *next_frame_; + unsigned requested_frame_multiple_; +}; + +// Some defaults. See options-initialize.cc for the command line parsing. +RGBMatrix::Options::Options() : + // Historically, we provided these options only as #defines. Make sure that + // things still behave as before if someone has set these. + // At some point: remove them from the Makefile. Later: remove them here. +#ifdef DEFAULT_HARDWARE + hardware_mapping(DEFAULT_HARDWARE), +#else + hardware_mapping("regular"), +#endif + + rows(32), cols(32), chain_length(1), parallel(1), + pwm_bits(internal::Framebuffer::kDefaultBitPlanes), + +#ifdef LSB_PWM_NANOSECONDS + pwm_lsb_nanoseconds(LSB_PWM_NANOSECONDS), +#else + pwm_lsb_nanoseconds(130), +#endif + + pwm_dither_bits(0), + brightness(100), + +#ifdef RGB_SCAN_INTERLACED + scan_mode(1), +#else + scan_mode(0), +#endif + + row_address_type(0), + multiplexing(0), + +#ifdef DISABLE_HARDWARE_PULSES + disable_hardware_pulsing(true), +#else + disable_hardware_pulsing(false), +#endif + +#ifdef SHOW_REFRESH_RATE + show_refresh_rate(true), +#else + show_refresh_rate(false), +#endif + +#ifdef INVERSE_RGB_DISPLAY_COLORS + inverse_colors(true), +#else + inverse_colors(false), +#endif + led_rgb_sequence("RGB"), + pixel_mapper_config(NULL), + panel_type(NULL), +#ifdef FIXED_FRAME_MICROSECONDS + limit_refresh_rate_hz(1e6 / FIXED_FRAME_MICROSECONDS) +#else + limit_refresh_rate_hz(0) +#endif +{ + // Nothing to see here. +} + +#define DEBUG_MATRIX_OPTIONS 0 + +#if DEBUG_MATRIX_OPTIONS +static void PrintOptions(const RGBMatrix::Options &o) { +#define P_INT(val) fprintf(stderr, "%s : %d\n", #val, o.val) +#define P_STR(val) fprintf(stderr, "%s : %s\n", #val, o.val) +#define P_BOOL(val) fprintf(stderr, "%s : %s\n", #val, o.val ? "true":"false") + P_STR(hardware_mapping); + P_INT(rows); + P_INT(cols); + P_INT(chain_length); + P_INT(parallel); + P_INT(pwm_bits); + P_INT(pwm_lsb_nanoseconds); + P_INT(pwm_dither_bits); + P_INT(brightness); + P_INT(scan_mode); + P_INT(row_address_type); + P_INT(multiplexing); + P_BOOL(disable_hardware_pulsing); + P_BOOL(show_refresh_rate); + P_BOOL(inverse_colors); + P_STR(led_rgb_sequence); + P_STR(pixel_mapper_config); + P_STR(panel_type); + P_INT(limit_refresh_rate_hz); +#undef P_INT +#undef P_STR +#undef P_BOOL +} +#endif // DEBUG_MATRIX_OPTIONS + +RGBMatrix::Impl::Impl(GPIO *io, const Options &options) + : params_(options), io_(NULL), updater_(NULL), shared_pixel_mapper_(NULL), + user_output_bits_(0) { + assert(params_.Validate(NULL)); +#if DEBUG_MATRIX_OPTIONS + PrintOptions(params_); +#endif + const MultiplexMapper *multiplex_mapper = NULL; + if (params_.multiplexing > 0) { + const MuxMapperList &multiplexers = GetRegisteredMultiplexMappers(); + if (params_.multiplexing <= (int) multiplexers.size()) { + // TODO: we could also do a find-by-name here, but not sure if worthwhile + multiplex_mapper = multiplexers[params_.multiplexing - 1]; + } + } + + if (multiplex_mapper) { + // The multiplexers might choose to have a different physical layout. + // We need to configure that first before setting up the hardware. + multiplex_mapper->EditColsRows(¶ms_.cols, ¶ms_.rows); + } + + Framebuffer::InitHardwareMapping(params_.hardware_mapping); + + active_ = CreateFrameCanvas(); + active_->Clear(); + SetGPIO(io, true); + + // We need to apply the mapping for the panels first. + ApplyPixelMapper(multiplex_mapper); + + // .. followed by higher level mappers that might arrange panels. + ApplyNamedPixelMappers(options.pixel_mapper_config, + params_.chain_length, params_.parallel); +} + +RGBMatrix::Impl::~Impl() { + if (updater_) { + updater_->Stop(); + updater_->WaitStopped(); + } + delete updater_; + + // Make sure LEDs are off. + active_->Clear(); + if (io_) active_->framebuffer()->DumpToMatrix(io_, 0); + + for (size_t i = 0; i < created_frames_.size(); ++i) { + delete created_frames_[i]; + } + delete shared_pixel_mapper_; +} + +RGBMatrix::~RGBMatrix() { + delete impl_; +} + +uint64_t RGBMatrix::Impl::RequestInputs(uint64_t bits) { + return io_->RequestInputs(bits); +} + +uint64_t RGBMatrix::Impl::RequestOutputs(uint64_t output_bits) { + uint64_t success_bits = io_->InitOutputs(output_bits); + user_output_bits_ |= success_bits; + return success_bits; +} + +void RGBMatrix::Impl::OutputGPIO(uint64_t output_bits) { + io_->WriteMaskedBits(output_bits, user_output_bits_); +} + +void RGBMatrix::Impl::ApplyNamedPixelMappers(const char *pixel_mapper_config, + int chain, int parallel) { + if (pixel_mapper_config == NULL || strlen(pixel_mapper_config) == 0) + return; + char *const writeable_copy = strdup(pixel_mapper_config); + const char *const end = writeable_copy + strlen(writeable_copy); + char *s = writeable_copy; + while (s < end) { + char *const semicolon = strchrnul(s, ';'); + *semicolon = '\0'; + char *optional_param_start = strchr(s, ':'); + if (optional_param_start) { + *optional_param_start++ = '\0'; + } + if (*s == '\0' && optional_param_start && *optional_param_start != '\0') { + fprintf(stderr, "Stray parameter ':%s' without mapper name ?\n", optional_param_start); + } + if (*s) { + ApplyPixelMapper(FindPixelMapper(s, chain, parallel, optional_param_start)); + } + s = semicolon + 1; + } + free(writeable_copy); +} + +void RGBMatrix::Impl::SetGPIO(GPIO *io, bool start_thread) { + if (io != NULL && io_ == NULL) { + io_ = io; + Framebuffer::InitGPIO(io_, params_.rows, params_.parallel, + !params_.disable_hardware_pulsing, + params_.pwm_lsb_nanoseconds, params_.pwm_dither_bits, + params_.row_address_type); + Framebuffer::InitializePanels(io_, params_.panel_type, + params_.cols * params_.chain_length); + } + if (start_thread) { + StartRefresh(); + } +} + +bool RGBMatrix::Impl::StartRefresh() { + if (updater_ == NULL && io_ != NULL) { + updater_ = new UpdateThread(io_, active_, params_.pwm_dither_bits, + params_.show_refresh_rate, + params_.limit_refresh_rate_hz); + // If we have multiple processors, the kernel + // jumps around between these, creating some global flicker. + // So let's tie it to the last CPU available. + // The Raspberry Pi2 has 4 cores, our attempt to bind it to + // core #3 will succeed. + // The Raspberry Pi1 only has one core, so this affinity + // call will simply fail and we keep using the only core. + updater_->Start(99, (1<<3)); // Prio: high. Also: put on last CPU. + } + return updater_ != NULL; +} + +FrameCanvas *RGBMatrix::Impl::CreateFrameCanvas() { + FrameCanvas *result = + new FrameCanvas(new Framebuffer(params_.rows, + params_.cols * params_.chain_length, + params_.parallel, + params_.scan_mode, + params_.led_rgb_sequence, + params_.inverse_colors, + &shared_pixel_mapper_)); + if (created_frames_.empty()) { + // First time. Get defaults from initial Framebuffer. + do_luminance_correct_ = result->framebuffer()->luminance_correct(); + } + + result->framebuffer()->SetPWMBits(params_.pwm_bits); + result->framebuffer()->set_luminance_correct(do_luminance_correct_); + result->framebuffer()->SetBrightness(params_.brightness); + + created_frames_.push_back(result); + return result; +} + +FrameCanvas *RGBMatrix::Impl::SwapOnVSync(FrameCanvas *other, + unsigned frame_fraction) { + if (frame_fraction == 0) frame_fraction = 1; // correct user error. + if (!updater_) return NULL; + FrameCanvas *const previous = updater_->SwapOnVSync(other, frame_fraction); + if (other) active_ = other; + return previous; +} + +uint64_t RGBMatrix::Impl::AwaitInputChange(int timeout_ms) { + if (!updater_) return 0; + return updater_->AwaitInputChange(timeout_ms); +} + +bool RGBMatrix::Impl::SetPWMBits(uint8_t value) { + const bool success = active_->framebuffer()->SetPWMBits(value); + if (success) { + params_.pwm_bits = value; + } + return success; +} +uint8_t RGBMatrix::Impl::pwmbits() { return params_.pwm_bits; } + +// Map brightness of output linearly to input with CIE1931 profile. +void RGBMatrix::Impl::set_luminance_correct(bool on) { + active_->framebuffer()->set_luminance_correct(on); + do_luminance_correct_ = on; +} +bool RGBMatrix::Impl::luminance_correct() const { + return do_luminance_correct_; +} + +void RGBMatrix::Impl::SetBrightness(uint8_t brightness) { + for (size_t i = 0; i < created_frames_.size(); ++i) { + created_frames_[i]->framebuffer()->SetBrightness(brightness); + } + params_.brightness = brightness; +} + +uint8_t RGBMatrix::Impl::brightness() { + return params_.brightness; +} + +bool RGBMatrix::Impl::ApplyPixelMapper(const PixelMapper *mapper) { + if (mapper == NULL) return true; + using internal::PixelDesignatorMap; + const int old_width = shared_pixel_mapper_->width(); + const int old_height = shared_pixel_mapper_->height(); + int new_width, new_height; + if (!mapper->GetSizeMapping(old_width, old_height, &new_width, &new_height)) { + return false; + } + PixelDesignatorMap *new_mapper = new PixelDesignatorMap( + new_width, new_height, shared_pixel_mapper_->GetFillColorBits()); + for (int y = 0; y < new_height; ++y) { + for (int x = 0; x < new_width; ++x) { + int orig_x = -1, orig_y = -1; + mapper->MapVisibleToMatrix(old_width, old_height, + x, y, &orig_x, &orig_y); + if (orig_x < 0 || orig_y < 0 || + orig_x >= old_width || orig_y >= old_height) { + fprintf(stderr, "Error in PixelMapper: (%d, %d) -> (%d, %d) [range: " + "%dx%d]\n", x, y, orig_x, orig_y, old_width, old_height); + continue; + } + const internal::PixelDesignator *orig_designator; + orig_designator = shared_pixel_mapper_->get(orig_x, orig_y); + *new_mapper->get(x, y) = *orig_designator; + } + } + delete shared_pixel_mapper_; + shared_pixel_mapper_ = new_mapper; + return true; +} + +// -- Public interface of RGBMatrix. Delegate everything to impl_ + +static bool drop_privs(const char *priv_user, const char *priv_group) { + uid_t ruid, euid, suid; + if (getresuid(&ruid, &euid, &suid) >= 0) { + if (euid != 0) // not root anyway. No priv dropping. + return true; + } + + struct group *g = getgrnam(priv_group); + if (g == NULL) { + perror("group lookup."); + return false; + } + if (setresgid(g->gr_gid, g->gr_gid, g->gr_gid) != 0) { + perror("setresgid()"); + return false; + } + struct passwd *p = getpwnam(priv_user); + if (p == NULL) { + perror("user lookup."); + return false; + } + if (setresuid(p->pw_uid, p->pw_uid, p->pw_uid) != 0) { + perror("setresuid()"); + return false; + } + return true; +} + +RGBMatrix *RGBMatrix::CreateFromOptions(const RGBMatrix::Options &options, + const RuntimeOptions &runtime_options) { + std::string error; + if (!options.Validate(&error)) { + fprintf(stderr, "%s\n", error.c_str()); + return NULL; + } + + // For the Pi4, we might need 2, maybe up to 4. Let's open up to 5. + if (runtime_options.gpio_slowdown < 0 || runtime_options.gpio_slowdown > 5) { + fprintf(stderr, "--led-slowdown-gpio=%d is outside usable range\n", + runtime_options.gpio_slowdown); + return NULL; + } + + static GPIO io; // This static var is a little bit icky. + if (runtime_options.do_gpio_init + && !io.Init(runtime_options.gpio_slowdown)) { + fprintf(stderr, "Must run as root to be able to access /dev/mem\n" + "Prepend 'sudo' to the command\n"); + return NULL; + } + + if (runtime_options.daemon > 0 && daemon(1, 0) != 0) { + perror("Failed to become daemon"); + } + + RGBMatrix::Impl *result = new RGBMatrix::Impl(NULL, options); + // Allowing daemon also means we are allowed to start the thread now. + const bool allow_daemon = !(runtime_options.daemon < 0); + if (runtime_options.do_gpio_init) + result->SetGPIO(&io, allow_daemon); + + // TODO(hzeller): if we disallow daemon, then we might also disallow + // drop privileges: we can't drop privileges until we have created the + // realtime thread that usually requires root to be established. + // Double check and document. + if (runtime_options.drop_privileges > 0) { + drop_privs("daemon", "daemon"); + } + + return new RGBMatrix(result); +} + +// Public interface. +RGBMatrix *RGBMatrix::CreateFromFlags(int *argc, char ***argv, + RGBMatrix::Options *m_opt_in, + RuntimeOptions *rt_opt_in, + bool remove_consumed_options) { + RGBMatrix::Options scratch_matrix; + RGBMatrix::Options *mopt = (m_opt_in != NULL) ? m_opt_in : &scratch_matrix; + + RuntimeOptions scratch_rt; + RuntimeOptions *ropt = (rt_opt_in != NULL) ? rt_opt_in : &scratch_rt; + + if (!ParseOptionsFromFlags(argc, argv, mopt, ropt, remove_consumed_options)) + return NULL; + return CreateFromOptions(*mopt, *ropt); +} + +FrameCanvas *RGBMatrix::CreateFrameCanvas() { + return impl_->CreateFrameCanvas(); +} +FrameCanvas *RGBMatrix::SwapOnVSync(FrameCanvas *other, + unsigned framerate_fraction) { + return impl_->SwapOnVSync(other, framerate_fraction); +} +bool RGBMatrix::ApplyPixelMapper(const PixelMapper *mapper) { + return impl_->ApplyPixelMapper(mapper); +} +bool RGBMatrix::SetPWMBits(uint8_t value) { return impl_->SetPWMBits(value); } +uint8_t RGBMatrix::pwmbits() { return impl_->pwmbits(); } + +void RGBMatrix::set_luminance_correct(bool on) { + return impl_->set_luminance_correct(on); +} +bool RGBMatrix::luminance_correct() const { return impl_->luminance_correct(); } + +void RGBMatrix::SetBrightness(uint8_t brightness) { + impl_->SetBrightness(brightness); +} +uint8_t RGBMatrix::brightness() { return impl_->brightness(); } + +uint64_t RGBMatrix::RequestInputs(uint64_t all_interested_bits) { + return impl_->RequestInputs(all_interested_bits); +} +uint64_t RGBMatrix::AwaitInputChange(int timeout_ms) { + return impl_->AwaitInputChange(timeout_ms); +} + +uint64_t RGBMatrix::RequestOutputs(uint64_t all_interested_bits) { + return impl_->RequestOutputs(all_interested_bits); +} +void RGBMatrix::OutputGPIO(uint64_t output_bits) { + impl_->OutputGPIO(output_bits); +} + +bool RGBMatrix::StartRefresh() { return impl_->StartRefresh(); } + +// -- Implementation of RGBMatrix Canvas: delegation to ContentBuffer +int RGBMatrix::width() const { + return impl_->active_->width(); +} + +int RGBMatrix::height() const { + return impl_->active_->height(); +} + +void RGBMatrix::SetPixel(int x, int y, uint8_t red, uint8_t green, uint8_t blue) { + impl_->active_->SetPixel(x, y, red, green, blue); +} + +void RGBMatrix::Clear() { + impl_->active_->Clear(); +} + +void RGBMatrix::Fill(uint8_t red, uint8_t green, uint8_t blue) { + impl_->active_->Fill(red, green, blue); +} + +// FrameCanvas implementation of Canvas +FrameCanvas::~FrameCanvas() { delete frame_; } +int FrameCanvas::width() const { return frame_->width(); } +int FrameCanvas::height() const { return frame_->height(); } +void FrameCanvas::SetPixel(int x, int y, + uint8_t red, uint8_t green, uint8_t blue) { + frame_->SetPixel(x, y, red, green, blue); +} +void FrameCanvas::Clear() { return frame_->Clear(); } +void FrameCanvas::Fill(uint8_t red, uint8_t green, uint8_t blue) { + frame_->Fill(red, green, blue); +} +bool FrameCanvas::SetPWMBits(uint8_t value) { return frame_->SetPWMBits(value); } +uint8_t FrameCanvas::pwmbits() { return frame_->pwmbits(); } + +// Map brightness of output linearly to input with CIE1931 profile. +void FrameCanvas::set_luminance_correct(bool on) { frame_->set_luminance_correct(on); } +bool FrameCanvas::luminance_correct() const { return frame_->luminance_correct(); } + +void FrameCanvas::SetBrightness(uint8_t brightness) { frame_->SetBrightness(brightness); } +uint8_t FrameCanvas::brightness() { return frame_->brightness(); } + +void FrameCanvas::Serialize(const char **data, size_t *len) const { + frame_->Serialize(data, len); +} +bool FrameCanvas::Deserialize(const char *data, size_t len) { + return frame_->Deserialize(data, len); +} +void FrameCanvas::CopyFrom(const FrameCanvas &other) { + frame_->CopyFrom(other.frame_); +} +} // end namespace rgb_matrix diff --git a/lib/led-matrix.o b/lib/led-matrix.o new file mode 100644 index 0000000000000000000000000000000000000000..0407b1b3ba3776b9a9620412e8cc2d21b7b88960 GIT binary patch literal 267268 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 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#include + +#include "pixel-mapper.h" + +namespace rgb_matrix { +namespace internal { + +class MultiplexMapper : public PixelMapper { +public: + // Function that edits the original rows and columns of the panels + // provided by the user to the actual underlying mapping. This is called + // before we do the actual set-up of the GPIO mapping as this influences + // the hardware interface. + // This is so that the user can provide the rows/columns they see. + virtual void EditColsRows(int *cols, int *rows) const = 0; +}; + +// Returns a vector of the registered Multiplex mappers. +typedef std::vector MuxMapperList; +const MuxMapperList &GetRegisteredMultiplexMappers(); + +} // namespace internal +} // namespace rgb_matrix diff --git a/lib/multiplex-mappers.cc b/lib/multiplex-mappers.cc new file mode 100644 index 0000000..3a19542 --- /dev/null +++ b/lib/multiplex-mappers.cc @@ -0,0 +1,476 @@ +// -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- +// Copyright (C) 2017 Henner Zeller +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#include "multiplex-mappers-internal.h" + +namespace rgb_matrix { +namespace internal { +// A Pixel Mapper maps physical pixels locations to the internal logical +// mapping in a panel or panel-assembly, which depends on the wiring. +class MultiplexMapperBase : public MultiplexMapper { +public: + MultiplexMapperBase(const char *name, int stretch_factor) + : name_(name), panel_stretch_factor_(stretch_factor) {} + + // This method is const, but we sneakily remember the original size + // of the panels so that we can more easily quantize things. + // So technically, we're stateful, but let's pretend we're not changing + // state. In the context this is used, it is never accessed in multiple + // threads. + virtual void EditColsRows(int *cols, int *rows) const { + panel_rows_ = *rows; + panel_cols_ = *cols; + + *rows /= panel_stretch_factor_; + *cols *= panel_stretch_factor_; + } + + virtual bool GetSizeMapping(int matrix_width, int matrix_height, + int *visible_width, int *visible_height) const { + // Matrix width has been altered. Alter it back. + *visible_width = matrix_width / panel_stretch_factor_; + *visible_height = matrix_height * panel_stretch_factor_; + return true; + } + + virtual const char *GetName() const { return name_; } + + // The MapVisibleToMatrix() as required by PanelMatrix here breaks it + // down to the individual panel, so that derived classes only need to + // implement MapSinglePanel(). + virtual void MapVisibleToMatrix(int matrix_width, int matrix_height, + int visible_x, int visible_y, + int *matrix_x, int *matrix_y) const { + const int chained_panel = visible_x / panel_cols_; + const int parallel_panel = visible_y / panel_rows_; + + const int within_panel_x = visible_x % panel_cols_; + const int within_panel_y = visible_y % panel_rows_; + + int new_x, new_y; + MapSinglePanel(within_panel_x, within_panel_y, &new_x, &new_y); + *matrix_x = chained_panel * panel_stretch_factor_*panel_cols_ + new_x; + *matrix_y = parallel_panel * panel_rows_/panel_stretch_factor_ + new_y; + } + + // Map the coordinates for a single panel. This is to be overridden in + // derived classes. + // Input parameter is the visible position on the matrix, and this method + // should return the internal multiplexed position. + virtual void MapSinglePanel(int visible_x, int visible_y, + int *matrix_x, int *matrix_y) const = 0; + +protected: + const char *const name_; + const int panel_stretch_factor_; + + mutable int panel_cols_; + mutable int panel_rows_; +}; + + +/* ======================================================================== + * Multiplexer implementations. + * + * Extend MultiplexMapperBase and implement MapSinglePanel. You only have + * to worry about the mapping within a single panel, the overall panel + * construction with chains and parallel is already taken care of. + * + * Don't forget to register the new multiplexer sin CreateMultiplexMapperList() + * below. After that, the new mapper is available in the --led-multiplexing + * option. + */ +class StripeMultiplexMapper : public MultiplexMapperBase { +public: + StripeMultiplexMapper() : MultiplexMapperBase("Stripe", 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + const bool is_top_stripe = (y % (panel_rows_/2)) < panel_rows_/4; + *matrix_x = is_top_stripe ? x + panel_cols_ : x; + *matrix_y = ((y / (panel_rows_/2)) * (panel_rows_/4) + + y % (panel_rows_/4)); + } +}; + +class FlippedStripeMultiplexMapper : public MultiplexMapperBase { +public: + FlippedStripeMultiplexMapper() : MultiplexMapperBase("FlippedStripe", 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + const bool is_top_stripe = (y % (panel_rows_/2)) >= panel_rows_/4; + *matrix_x = is_top_stripe ? x + panel_cols_ : x; + *matrix_y = ((y / (panel_rows_/2)) * (panel_rows_/4) + + y % (panel_rows_/4)); + } +}; + +class CheckeredMultiplexMapper : public MultiplexMapperBase { +public: + CheckeredMultiplexMapper() : MultiplexMapperBase("Checkered", 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + const bool is_top_check = (y % (panel_rows_/2)) < panel_rows_/4; + const bool is_left_check = (x < panel_cols_/2); + if (is_top_check) { + *matrix_x = is_left_check ? x+panel_cols_/2 : x+panel_cols_; + } else { + *matrix_x = is_left_check ? x : x + panel_cols_/2; + } + *matrix_y = ((y / (panel_rows_/2)) * (panel_rows_/4) + + y % (panel_rows_/4)); + } +}; + +class SpiralMultiplexMapper : public MultiplexMapperBase { +public: + SpiralMultiplexMapper() : MultiplexMapperBase("Spiral", 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + const bool is_top_stripe = (y % (panel_rows_/2)) < panel_rows_/4; + const int panel_quarter = panel_cols_/4; + const int quarter = x / panel_quarter; + const int offset = x % panel_quarter; + *matrix_x = ((2*quarter*panel_quarter) + + (is_top_stripe + ? panel_quarter - 1 - offset + : panel_quarter + offset)); + *matrix_y = ((y / (panel_rows_/2)) * (panel_rows_/4) + + y % (panel_rows_/4)); + } +}; + +class ZStripeMultiplexMapper : public MultiplexMapperBase { +public: + ZStripeMultiplexMapper(const char *name, int even_vblock_offset, int odd_vblock_offset) + : MultiplexMapperBase(name, 2), + even_vblock_offset_(even_vblock_offset), + odd_vblock_offset_(odd_vblock_offset) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + static const int tile_width = 8; + static const int tile_height = 4; + + const int vert_block_is_odd = ((y / tile_height) % 2); + + const int even_vblock_shift = (1 - vert_block_is_odd) * even_vblock_offset_; + const int odd_vblock_shitf = vert_block_is_odd * odd_vblock_offset_; + + *matrix_x = x + ((x + even_vblock_shift) / tile_width) * tile_width + odd_vblock_shitf; + *matrix_y = (y % tile_height) + tile_height * (y / (tile_height * 2)); + } + +private: + const int even_vblock_offset_; + const int odd_vblock_offset_; +}; + +class CoremanMapper : public MultiplexMapperBase { +public: + CoremanMapper() : MultiplexMapperBase("coreman", 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + const bool is_left_check = (x < panel_cols_/2); + + if ((y <= 7) || ((y >= 16) && (y <= 23))){ + *matrix_x = ((x / (panel_cols_/2)) * panel_cols_) + (x % (panel_cols_/2)); + if ((y & (panel_rows_/4)) == 0) { + *matrix_y = (y / (panel_rows_/2)) * (panel_rows_/4) + (y % (panel_rows_/4)); + } + } else { + *matrix_x = is_left_check ? x + panel_cols_/2 : x + panel_cols_; + *matrix_y = (y / (panel_rows_/2)) * (panel_rows_/4) + y % (panel_rows_/4); + } + } +}; + +class Kaler2ScanMapper : public MultiplexMapperBase { +public: + Kaler2ScanMapper() : MultiplexMapperBase("Kaler2Scan", 4) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + // Now we have a 128x4 matrix + int offset = ((y%4)/2) == 0 ? -1 : 1;// Add o substract + int deltaOffset = offset < 0 ? 7:8; + int deltaColumn = ((y%8)/4)== 0 ? 64 : 0; + + *matrix_y = (y%2+(y/8)*2); + *matrix_x = deltaColumn + (16 * (x/8)) + deltaOffset + ((x%8) * offset); + + } +}; + +class P10MapperZ : public MultiplexMapperBase { +public: + P10MapperZ() : MultiplexMapperBase("P10-128x4-Z", 4) {} + // supports this panel: https://www.aliexpress.com/item/2017-Special-Offer-P10-Outdoor-Smd-Full-Color-Led-Display-Module-320x160mm-1-2-Scan-Outdoor/32809267439.html?spm=a2g0s.9042311.0.0.Ob0jEw + // with --led-row-addr-type=2 flag + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + int yComp = 0; + if (y == 0 || y == 1 || y == 8 || y == 9) { + yComp = 127; + } + else if (y == 2 || y == 3 || y == 10 || y == 11) { + yComp = 112; + } + else if (y == 4 || y == 5 || y == 12 || y == 13) { + yComp = 111; + } + else if (y == 6 || y == 7 || y == 14 || y == 15) { + yComp = 96; + } + + if (y == 0 || y == 1 || y == 4 || y == 5 || + y == 8 || y == 9 || y == 12 || y == 13) { + *matrix_x = yComp - x; + *matrix_x -= (24 * ((int)(x / 8))); + } + else { + *matrix_x = yComp + x; + *matrix_x -= (40 * ((int)(x / 8))); + } + + if (y == 0 || y == 2 || y == 4 || y == 6) { + *matrix_y = 3; + } + else if (y == 1 || y == 3 || y == 5 || y == 7) { + *matrix_y = 2; + } + else if (y == 8 || y == 10 || y == 12 || y == 14) { + *matrix_y = 1; + } + else if (y == 9 || y == 11 || y == 13 || y == 15) { + *matrix_y = 0; + } + } +}; + +class QiangLiQ8 : public MultiplexMapperBase { +public: + QiangLiQ8() : MultiplexMapperBase("QiangLiQ8", 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + const int column = x + (4+ 4*(x/4)); + *matrix_x = column; + if ((y >= 15 && y <=19) || (y >= 5 && y <= 9)) { + const int reverseColumn = x + (4*(x/4)); + *matrix_x = reverseColumn; + } + *matrix_y = y % 5 + (y/10) *5; + } +}; + +class InversedZStripe : public MultiplexMapperBase { +public: + InversedZStripe() : MultiplexMapperBase("InversedZStripe", 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + static const int tile_width = 8; + static const int tile_height = 4; + + const int vert_block_is_odd = ((y / tile_height) % 2); + const int evenOffset[8] = {7, 5, 3, 1, -1, -3, -5, -7}; + + if (vert_block_is_odd) { + *matrix_x = x + (x / tile_width) * tile_width; + } else { + *matrix_x = x + (x / tile_width) * tile_width + 8 + evenOffset[x % 8]; + } + *matrix_y = (y % tile_height) + tile_height * (y / (tile_height * 2)); + } +}; + + +/* + * Vairous P10 1R1G1B Outdoor implementations for 16x16 modules with separate + * RGB LEDs, e.g.: + * https://www.ledcontrollercard.com/english/p10-outdoor-rgb-led-module-160x160mm-dip.html + * + */ +class P10Outdoor1R1G1BMultiplexBase : public MultiplexMapperBase { +public: + P10Outdoor1R1G1BMultiplexBase(const char *name) + : MultiplexMapperBase(name, 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + const int vblock_is_odd = (y / tile_height_) % 2; + const int vblock_is_even = 1 - vblock_is_odd; + const int even_vblock_shift = vblock_is_even * even_vblock_offset_; + const int odd_vblock_shift = vblock_is_odd * odd_vblock_offset_; + + MapPanel(x, y, matrix_x, matrix_y, + vblock_is_even, vblock_is_odd, + even_vblock_shift, odd_vblock_shift); + } + +protected: + virtual void MapPanel(int x, int y, int *matrix_x, int *matrix_y, + int vblock_is_even, int vblock_is_odd, + int even_vblock_shift, int odd_vblock_shift) const = 0; + + static const int tile_width_ = 8; + static const int tile_height_ = 4; + static const int even_vblock_offset_ = 0; + static const int odd_vblock_offset_ = 8; +}; + +class P10Outdoor1R1G1BMultiplexMapper1 : public P10Outdoor1R1G1BMultiplexBase { +public: + P10Outdoor1R1G1BMultiplexMapper1() + : P10Outdoor1R1G1BMultiplexBase("P10Outdoor1R1G1-1") {} + +protected: + void MapPanel(int x, int y, int *matrix_x, int *matrix_y, + const int vblock_is_even, const int vblock_is_odd, + const int even_vblock_shift, const int odd_vblock_shift) const { + *matrix_x = tile_width_ * (1 + vblock_is_even + 2 * (x / tile_width_)) + - (x % tile_width_) - 1; + *matrix_y = (y % tile_height_) + tile_height_ * (y / (tile_height_ * 2)); + } +}; + +class P10Outdoor1R1G1BMultiplexMapper2 : public P10Outdoor1R1G1BMultiplexBase { +public: + P10Outdoor1R1G1BMultiplexMapper2() + : P10Outdoor1R1G1BMultiplexBase("P10Outdoor1R1G1-2") {} + +protected: + void MapPanel(int x, int y, int *matrix_x, int *matrix_y, + const int vblock_is_even, const int vblock_is_odd, + const int even_vblock_shift, const int odd_vblock_shift) const { + *matrix_x = vblock_is_even + ? tile_width_ * (1 + 2 * (x / tile_width_)) - (x % tile_width_) - 1 + : x + ((x + even_vblock_shift) / tile_width_) * tile_width_ + odd_vblock_shift; + *matrix_y = (y % tile_height_) + tile_height_ * (y / (tile_height_ * 2)); + } +}; + +class P10Outdoor1R1G1BMultiplexMapper3 : public P10Outdoor1R1G1BMultiplexBase { +public: + P10Outdoor1R1G1BMultiplexMapper3() + : P10Outdoor1R1G1BMultiplexBase("P10Outdoor1R1G1-3") {} + +protected: + void MapPanel(int x, int y, int *matrix_x, int *matrix_y, + const int vblock_is_even, const int vblock_is_odd, + const int even_vblock_shift, const int odd_vblock_shift) const { + *matrix_x = vblock_is_odd + ? tile_width_ * (2 + 2 * (x / tile_width_)) - (x % tile_width_) - 1 + : x + ((x + even_vblock_shift) / tile_width_) * tile_width_ + odd_vblock_shift; + *matrix_y = (y % tile_height_) + tile_height_ * (y / (tile_height_ * 2)); + } +}; + +class P10CoremanMapper : public MultiplexMapperBase { +public: + P10CoremanMapper() : MultiplexMapperBase("P10CoremanMapper", 4) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + //Row offset 8,8,8,8,0,0,0,0,8,8,8,8,0,0,0,0 + int mulY = (y & 4) > 0 ? 0 : 8; + + //Row offset 9,9,8,8,1,1,0,0,9,9,8,8,1,1,0,0 + mulY += (y & 2) > 0 ? 0 : 1; + mulY += (x >> 2) & ~1; //Drop lsb + + *matrix_x = (mulY << 3) + x % 8; + *matrix_y = (y & 1) + ((y >> 2) & ~1); + } +}; + +/* + * P8 1R1G1B Outdoor P8-5S-V3.2-HX 20x40 + */ +class P8Outdoor1R1G1BMultiplexBase : public MultiplexMapperBase { +public: + P8Outdoor1R1G1BMultiplexBase(const char *name) + : MultiplexMapperBase(name, 2) {} + + void MapSinglePanel(int x, int y, int *matrix_x, int *matrix_y) const { + const int vblock_is_odd = (y / tile_height_) % 2; + const int vblock_is_even = 1 - vblock_is_odd; + const int even_vblock_shift = vblock_is_even * even_vblock_offset_; + const int odd_vblock_shift = vblock_is_odd * odd_vblock_offset_; + + MapPanel(x, y, matrix_x, matrix_y, + vblock_is_even, vblock_is_odd, + even_vblock_shift, odd_vblock_shift); + } + +protected: + virtual void MapPanel(int x, int y, int *matrix_x, int *matrix_y, + int vblock_is_even, int vblock_is_odd, + int even_vblock_shift, int odd_vblock_shift) const = 0; + + static const int tile_width_ = 8; + static const int tile_height_ = 5; + static const int even_vblock_offset_ = 0; + static const int odd_vblock_offset_ = 8; +}; + +class P8Outdoor1R1G1BMultiplexMapper : public P8Outdoor1R1G1BMultiplexBase { +public: + P8Outdoor1R1G1BMultiplexMapper() + : P8Outdoor1R1G1BMultiplexBase("P8Outdoor1R1G1") {} + +protected: + void MapPanel(int x, int y, int *matrix_x, int *matrix_y, + const int vblock_is_even, const int vblock_is_odd, + const int even_vblock_shift, const int odd_vblock_shift) const { + + + *matrix_x = vblock_is_even + ? tile_width_ * (1 + tile_width_ - 2 * (x / tile_width_)) + tile_width_ - (x % tile_width_) - 1 + : tile_width_ * (1 + tile_width_ - 2 * (x / tile_width_)) - tile_width_ + (x % tile_width_); + + *matrix_y = (tile_height_ - y % tile_height_) + tile_height_ * (1 - y / (tile_height_ * 2)) -1; + + } +}; + +/* + * Here is where the registration happens. + * If you add an instance of the mapper here, it will automatically be + * made available in the --led-multiplexing commandline option. + */ +static MuxMapperList *CreateMultiplexMapperList() { + MuxMapperList *result = new MuxMapperList(); + + // Here, register all multiplex mappers from above. + result->push_back(new StripeMultiplexMapper()); + result->push_back(new CheckeredMultiplexMapper()); + result->push_back(new SpiralMultiplexMapper()); + result->push_back(new ZStripeMultiplexMapper("ZStripe", 0, 8)); + result->push_back(new ZStripeMultiplexMapper("ZnMirrorZStripe", 4, 4)); + result->push_back(new CoremanMapper()); + result->push_back(new Kaler2ScanMapper()); + result->push_back(new ZStripeMultiplexMapper("ZStripeUneven", 8, 0)); + result->push_back(new P10MapperZ()); + result->push_back(new QiangLiQ8()); + result->push_back(new InversedZStripe()); + result->push_back(new P10Outdoor1R1G1BMultiplexMapper1()); + result->push_back(new P10Outdoor1R1G1BMultiplexMapper2()); + result->push_back(new P10Outdoor1R1G1BMultiplexMapper3()); + result->push_back(new P10CoremanMapper()); + result->push_back(new P8Outdoor1R1G1BMultiplexMapper()); + result->push_back(new FlippedStripeMultiplexMapper()); + return result; +} + +const MuxMapperList &GetRegisteredMultiplexMappers() { + static const MuxMapperList *all_mappers = CreateMultiplexMapperList(); + return *all_mappers; +} +} // namespace internal +} // namespace rgb_matrix diff --git a/lib/multiplex-mappers.o b/lib/multiplex-mappers.o new file mode 100644 index 0000000000000000000000000000000000000000..44c01c0ca6379746f38cb24e3e0bfdb812b0d00b GIT binary patch literal 247440 zcmeFacYIaF);>P7&pv0)$<9dvgoF}8kQRCZp(#p&AXNxWK$ISeR4D?Y(wkHTrArW0 z6jZRHSOQ8>QBkiQy-6^FS-rs-k`7nFRde)k?*3`ZC>@c@e zk1M2`ZQ>hEJjcX0nfPWC-(upqh#x@M zWAgJ5=OgSuAlv36>_)iX8k65^ z;s+5wWYP~K-e=PLP5cPrM@{-M6F-jl36p-(#0L;RWztWZ_#onEO!`?9KZp2vlP)mv zA;gDG`UMlei1>&}A2snY#K%qgB@@4l_!W~rVd7U2zh=^}oA@N+H%$6X6TgM{A13{_ ziQhr|u1UXV;`b4MVA3C&_!Q!gO!{LJ{}XYcNf(*881ZS7{=~#3h(9&yGbTQZ_%oCK z+{9lX{?erXh4|kl{T1S`P5K+e-h$<0Xn$Q6q!r?zNrw=}AWX?_@>%fYmBsz8*k00a^!5@vdre_r z*qTC-@sE3>t7+U3YOn+gBa`g{HfN6Fa-e(JM6%z<|HLZ07B&5dcRirx9~dS?IpDK$=v*+1fF~Dzq|u19VP25 zAJ)djCA0<-zW~2PKL{q=QDTA5XLu44wv`A0KJb8kdc9>AitPE!XN$EZq{G*p!4IAU ztiQ2X|ENFl8afX$^Ye=`#I}+Ilye#Ck3~NcX{$<7)~*T6Z1e@T#|sb{p+RA zo+Z8HJm{6ZwnR+HFR~zaSItF*7HmBP`M$MUPhZBOVj=pS_GRbq_XCqQY+Ff3*}Et< zW5eUVdCT^RdCN-@GB%X>vKJQbtho?%^u;=szn^4Wo}*=8PAFP0>_XxvePs3`_-RSW z|B@c}K#%KHunR6{;h=~e+7KBsYF56U-1*+qW$#KnrF|F%rDQKd--#WU2Z$n zm#{X{cK6p@UT6(7y3W)5vDq6+$mi64Y3M^_pD$riv4q|o(KggB-0#Go)4qb`#i4@y z9X;gLXe&`DvpYT_6FTmb35)XQL5Af1vy9t1fc#&vgK!Z$7IS+G(Fb)cD7H{n2F6y8 zqJ2fOFs?X}`eEUu4zgfUah2S)CF@ff7b>w5eeasnq97l)Kz&Xtv7lHLoH&iXxV`4t} zatHa+FA|Hsp8sr>9X023Kc_xJJZ1ZS6^upQ{}+}3k6R7wg~j{=Ar_&(EQEjW_k_`X{P6$!L$wMI*CJnTD_Ow(V`Yg*Sjh7q`$s?q+R83$QsRfd;|n_!XQQ2L z_}dmk7DDF*Hh4va`Gx6XJM$iHpI@}LVnJa+!pOqx%#no>G?~_+(3iQe(8|F4lCiSH z{(9RdV@8i2O>K&PRJ3o{_7aKqqI()2?DFO27sZPw&Zc3`rT!BOJHpvC4hEc7^OhFJ zi(O~cy!;*U;?A=@P5-05C&Uogef)I1Saenut}bkY{uC6Vn#h=0tTKGXYKkfrQ%3el z!@R7nUsxC{TwR=&kzC>fmg-R%D~n?@;Ip)wim4yIkcn|Z?NKnIkM9utR=BuC6wEJ4 zqd6FDzgq}FV}Qp5^d?*4(AQI-caK9D7tA}MgD6~ElAaA+3Rab@?2Ud|FrnB+8tryE zAs2D>s*+gb)3Wa>$-=sj0{PVEsSOe!UlpJo3i5Zv3i!J4`eKzGSA2rn6zwSs<`s(s zj2AP$R-;{Md{LiSSz$Q*8COhWD~NW|V+(yPA*Yzf7us5+tt?5PdquQy5c0V_(Z7-~ zX1E`jK0x(S+bhUJyPu}IMZ%;$^H2xNGxfW5yY;$tM%PE}pFp;V`Gu+w`lG%$k-uMw zg3~f#UST5966P1uSRuX0ZdWfF%VqTDVSK`T$klVs|GG}1;%U-L6y{e7 z7UugbAzRVMR$_cuY4eI`+=;Z+ zJT}NalCO;KgTRXdv^)BfXQvnj|4%@>55ZWR2Ni}Vh>G(?8;rwV3G*wGytT~>3dwJW zYvvbaXXao`qOEZMPGgeBqfF?4{N62eH7yYaW&1E#Vn|@&r z>rk9Dd2-RcBl3%=Ujz!aVvZbEYy;M6;r3u~-)*!_|z&Yi0!4xuiwx^ShOS9luZ*uof}0vle#b0{0>$w{(Jm>%i9wpFO*>h~{szUKFk>$+lLV zrS+nXSt|%b>*TXt0rQWoDJqKDTyT;u|HNWy==Lhar)hJ=WeAo z_pi;DAEM8I|8uJ24Eh=Er*VIH+K+V=ee3g{nHf{Zj2Jp``1GmcW@TpPj+>P?;mYAt zrsPfSB(N9YUnxwRag(O!O`SA+LT1Y=XH1wrZpwtbSuO+6E)OwYfUj*Cz7E5u<#i(b zf9GwU*%x|F$txoP+<$?$%@q^I!LU&m67g4LWL-WsZ{+yAsd=N$SK+VlXZD>kZtCy} z=QIBW{hMEX0nPtAZ)S_jCr{0rIDC@VQh$M`Rrlc&@}@TLJ2HyxFW8uwk(-&J>$y78 zhc4V7+V&ndeA1X6<9fHDPVg7>YT0$t4S7?i<&84__^W-VE%fR&WBRDclc#3($?Tlj z!D|K61OI#7Et+3YhPF8Kui5ZlLBI=YjvfJ)ls59|3D8zl%JF-|q;&BK(Y?r(z+z^#C|Mw+mtBC2{qn zE5}WpI(e#_AF1bH5t&y#Z2w7lH{?x%42;7jna$hG%4%}8@Fqr-mznbj7d`NrV1II6 zS@UwrTIjM;V;x1J^cWPP)LJQ$@yZ#yWc=*Ka@-I^Z}$+QXeZ7kV8iMDng!MS4++uC zR^J@Mb7E=xu~!gF<+SOeaG&+{r9v!|EsqOP(Uv*yVs|*e>MBH)@RiOR$keWX5yXa9 z#Qg)}hBm5)YdRH$Z?hKm#(9mQ`V7HcDECoD5>9qT%HY;ppN-MDCs1~@H12xBg}=nE zKD;r8IEASH+c@N|$@n=3a+XVF<90!W?~0{2){}lrrKX>p5ZkR2!5c_4D;Y>__P{F2yiDHvr@x)!D&9 zoCFDvd!m$=&7qO#zNrc@2~r)#jmY-^_%ZGy7HUxao3aR1_ z=?3}%Ac+pgs>zm6R%ExY3rsJmUYRJwMWD&rC}x`Wa&{7)G=&FB)dvP#ULN4+5demx zmMu7`(?8!HeM~Qf)+>1&)gd#M;wE zbZ?FcF}zNyS!ku!pmjjdJ?I{)p!Re#pvjDyQ0`O?H z|05Ok9j;<8@P|AeYP9n-vMiN@KE&`30sW#hJWBTpmKumhx{UN=FHjAk%zO~7M-5B8 zzQDk<0B!HV_eA{B#!?;O9F{ot^nfg#Rs`hr4I=dnI5mJZNHOVvZg`-%5A094R5n>(=v zJ#VQeyBSa|02+HB9w{31vZem@ya8PSKyMGkgI$A8St=QaE4aGx0Nmh#wA)yx>OK`y z+kn;ru*CzB+k|bs48hWuOAD`+~-SAfq2~izE^Vg@xE8!6thoFqKf9r|NV4wP6yT-^40CpiT zHM^)^cLV6dTON&oNBPvJSo;YhC*v}Mz^s`)t`)!&eQMCbo?< z|1fBeNBEEQ1^-;18ok#@|QI@dMyuR!}gLhp(Z5MJw3RbUM37mvxP zGJ?^s##Nwi@~Pcj4ZRs?EhF^d=e+Sk1^h+b9&LA#)4{6f%w_Ni4{!P^w&ZHeZo zAZp4^0G#uwpAQ4j3&j2|K-i=Af~IUW<37Fa%E_S3AUd~y{V^Dd;lZsN&x`TvIHeXslpMQjXVg60R*NtIxUx$C$Z9 zz8JL0R{v>gK!pH&;eqt@#h|-wb5D-R+bZ=H18N9BOAn-Hru5m+ z>4>d5Jz_w;0Jz!%X`LAKj;*X$4QM(5%S(auI;NLOh8No^VUdCF1oTl4?k#)5X5?44 zdhULMd=;qoN+AtM_|>|b4Cq?`tT@-$$S~64V*Kix+YK@WsQMm~Ev{MfR#@E0ujb#0 z&T}b*NBNDBTm0&&ss`!DG?jp$+h2DQ2JQ8$T9~?7#fAV} z?17^E#>nG-^@uV^T4#oONZnJaqpyX3_p5NWS%YQ+u-XIht~MgGCd0c2)THAuau;Ba zc~D-#qJ$0&sAErYUk=1j;rVpR3|V2v7iPD>YK&&Z%^?CMqs{4eG3L~f(CZZ`!h zpLpEVlZahe0|e~@4=H)lX`4hF+#^9X7aJoozXOohc<4yiinM#%+#_IlDX2;?K8a-p z;A_fZiL_(e=huVf)u0+}l-dpW0gojDw6CBg_~W4J+r#YN-UR9lA$fnpZQv;-YF5Th zHGDRxk}k)9_#LodW!F&BOxSC16A=D3s9uA4T+KxQq!UPQV_x40`X52{@&rTg09uy_ zy|^#v6+&tX+(b{1h&G2R+b-I^Wf|EbMt#uTARh(lxQ8sOEW>kR z)Mq0Nycp1L&xZ?}k^N&-&v^zJTSbTzg!8&VGxYWF$Qae;L4#}s)D<2wN?ArOiBWgB zwGRVohKDSxEW_6WKG+Ce1L*ei;lgI*y)mjDmK*l$Q$W4sA)`F|C?OUSbN?As}7o%Ed8Dtn6!ix~f?*uIFI7l-ja0@KwsH!nbkya(s7qGi37#?E(Pg!P3XNvdb<-yUsmA}?3R8;%{73n zjo_<9B9eyoo5HU*rVbr?11InhwGgn{PsC{1>;6o3EH)vKeKZkI2!NZ7FqdRkEnl`2 zfp#D}SG5IO&n8sQN;$eCGHXKN+5_QJ8Q&x3T|lN$Cca0bCh6FoLzp~CV%cgDcnIlL z@*CU}#rJASXdFS4SMNq#ZBWeg+b}E=numvXJ0L`btne?`1r50LINGj4FXu~S!VjVc zSLhw4XNqEtBvOUG34d(Cm_|uEc&;;ok1~=moj<)8kp8jpoACYvq~R`EbgnQ9l&fMp zuLmT)+H$Xb& zlI8q}h&G%0D(H1Q%u<#^Pb(|jpw8e9XB7(MrJ#55 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 jr{vrD*u1Q}^_j#u4=3Nj@(VLAvZ#lZENyWfPTc +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see + +#include "led-matrix.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "multiplex-mappers-internal.h" +#include "framebuffer-internal.h" + +#include "gpio.h" + +namespace rgb_matrix { +RuntimeOptions::RuntimeOptions() : +#ifdef RGB_SLOWDOWN_GPIO + gpio_slowdown(RGB_SLOWDOWN_GPIO), +#else + gpio_slowdown(1), +#endif + daemon(0), // Don't become a daemon by default. + drop_privileges(1), // Encourage good practice: drop privileges by default. + do_gpio_init(true) +{ + // Nothing to see here. +} + +namespace { +typedef char** argv_iterator; + +#define OPTION_PREFIX "--led-" +#define OPTION_PREFIX_LEN strlen(OPTION_PREFIX) + +static bool ConsumeBoolFlag(const char *flag_name, const argv_iterator &pos, + bool *result_value) { + const char *option = *pos; + if (strncmp(option, OPTION_PREFIX, OPTION_PREFIX_LEN) != 0) + return false; + option += OPTION_PREFIX_LEN; + bool value_to_set = true; + if (strncmp(option, "no-", 3) == 0) { + value_to_set = false; + option += 3; + } + if (strcmp(option, flag_name) != 0) + return false; // not consumed. + *result_value = value_to_set; + return true; +} + +static bool ConsumeIntFlag(const char *flag_name, + argv_iterator &pos, const argv_iterator end, + int *result_value, int *error) { + const char *option = *pos; + if (strncmp(option, OPTION_PREFIX, OPTION_PREFIX_LEN) != 0) + return false; + option += OPTION_PREFIX_LEN; + const size_t flag_len = strlen(flag_name); + if (strncmp(option, flag_name, flag_len) != 0) + return false; // not consumed. + const char *value; + if (option[flag_len] == '=') // --option=42 # value in same arg + value = option + flag_len + 1; + else if (pos + 1 < end) { // --option 42 # value in next arg + value = *(++pos); + } else { + fprintf(stderr, "Parameter expected after %s%s\n", + OPTION_PREFIX, flag_name); + ++*error; + return true; // consumed, but error. + } + char *end_value = NULL; + int val = strtol(value, &end_value, 10); + if (!*value || *end_value) { + fprintf(stderr, "Couldn't parse parameter %s%s=%s " + "(Expected decimal number but '%s' looks funny)\n", + OPTION_PREFIX, flag_name, value, end_value); + ++*error; + return true; // consumed, but error + } + *result_value = val; + return true; // consumed. +} + +// The resulting value is allocated. +static bool ConsumeStringFlag(const char *flag_name, + argv_iterator &pos, const argv_iterator end, + const char **result_value, int *error) { + const char *option = *pos; + if (strncmp(option, OPTION_PREFIX, OPTION_PREFIX_LEN) != 0) + return false; + option += OPTION_PREFIX_LEN; + const size_t flag_len = strlen(flag_name); + if (strncmp(option, flag_name, flag_len) != 0) + return false; // not consumed. + const char *value; + if (option[flag_len] == '=') // --option=hello # value in same arg + value = option + flag_len + 1; + else if (pos + 1 < end) { // --option hello # value in next arg + value = *(++pos); + } else { + fprintf(stderr, "Parameter expected after %s%s\n", + OPTION_PREFIX, flag_name); + ++*error; + *result_value = NULL; + return true; // consumed, but error. + } + *result_value = strdup(value); // This will leak, but no big deal. + return true; +} + +static bool FlagInit(int &argc, char **&argv, + RGBMatrix::Options *mopts, + RuntimeOptions *ropts, + bool remove_consumed_options) { + argv_iterator it = &argv[0]; + argv_iterator end = it + argc; + + std::vector unused_options; + unused_options.push_back(*it++); // Not interested in program name + + bool bool_scratch; + int err = 0; + bool posix_end_option_seen = false; // end of options '--' + for (/**/; it < end; ++it) { + posix_end_option_seen |= (strcmp(*it, "--") == 0); + if (!posix_end_option_seen) { + if (ConsumeStringFlag("gpio-mapping", it, end, + &mopts->hardware_mapping, &err)) + continue; + if (ConsumeStringFlag("rgb-sequence", it, end, + &mopts->led_rgb_sequence, &err)) + continue; + if (ConsumeStringFlag("pixel-mapper", it, end, + &mopts->pixel_mapper_config, &err)) + continue; + if (ConsumeStringFlag("panel-type", it, end, + &mopts->panel_type, &err)) + continue; + if (ConsumeIntFlag("rows", it, end, &mopts->rows, &err)) + continue; + if (ConsumeIntFlag("cols", it, end, &mopts->cols, &err)) + continue; + if (ConsumeIntFlag("chain", it, end, &mopts->chain_length, &err)) + continue; + if (ConsumeIntFlag("parallel", it, end, &mopts->parallel, &err)) + continue; + if (ConsumeIntFlag("multiplexing", it, end, &mopts->multiplexing, &err)) + continue; + if (ConsumeIntFlag("brightness", it, end, &mopts->brightness, &err)) + continue; + if (ConsumeIntFlag("scan-mode", it, end, &mopts->scan_mode, &err)) + continue; + if (ConsumeIntFlag("pwm-bits", it, end, &mopts->pwm_bits, &err)) + continue; + if (ConsumeIntFlag("pwm-lsb-nanoseconds", it, end, + &mopts->pwm_lsb_nanoseconds, &err)) + continue; + if (ConsumeIntFlag("pwm-dither-bits", it, end, + &mopts->pwm_dither_bits, &err)) + continue; + if (ConsumeIntFlag("row-addr-type", it, end, + &mopts->row_address_type, &err)) + continue; + if (ConsumeIntFlag("limit-refresh", it, end, + &mopts->limit_refresh_rate_hz, &err)) + continue; + if (ConsumeBoolFlag("show-refresh", it, &mopts->show_refresh_rate)) + continue; + if (ConsumeBoolFlag("inverse", it, &mopts->inverse_colors)) + continue; + // We don't have a swap_green_blue option anymore, but we simulate the + // flag for a while. + bool swap_green_blue; + if (ConsumeBoolFlag("swap-green-blue", it, &swap_green_blue)) { + if (strlen(mopts->led_rgb_sequence) == 3) { + char *new_sequence = strdup(mopts->led_rgb_sequence); + new_sequence[0] = mopts->led_rgb_sequence[0]; + new_sequence[1] = mopts->led_rgb_sequence[2]; + new_sequence[2] = mopts->led_rgb_sequence[1]; + mopts->led_rgb_sequence = new_sequence; // leaking. Ignore. + } + continue; + } + bool allow_hardware_pulsing = !mopts->disable_hardware_pulsing; + if (ConsumeBoolFlag("hardware-pulse", it, &allow_hardware_pulsing)) { + mopts->disable_hardware_pulsing = !allow_hardware_pulsing; + continue; + } + + bool request_help = false; + if (ConsumeBoolFlag("help", it, &request_help) && request_help) { + // In that case, we pretend to have failure in parsing, which will + // trigger printing the usage(). Typically :) + return false; + } + + //-- Runtime options. + if (ConsumeIntFlag("slowdown-gpio", it, end, &ropts->gpio_slowdown, &err)) + continue; + if (ropts->daemon >= 0 && ConsumeBoolFlag("daemon", it, &bool_scratch)) { + ropts->daemon = bool_scratch ? 1 : 0; + continue; + } + if (ropts->drop_privileges >= 0 && + ConsumeBoolFlag("drop-privs", it, &bool_scratch)) { + ropts->drop_privileges = bool_scratch ? 1 : 0; + continue; + } + if (strncmp(*it, OPTION_PREFIX, OPTION_PREFIX_LEN) == 0) { + fprintf(stderr, "Option %s starts with %s but it is unknown. Typo?\n", + *it, OPTION_PREFIX); + } + } + unused_options.push_back(*it); + } + + if (err > 0) { + return false; + } + + if (remove_consumed_options) { + // Success. Re-arrange flags to only include the ones not consumed. + argc = (int) unused_options.size(); + for (int i = 0; i < argc; ++i) { + argv[i] = unused_options[i]; + } + } + return true; +} + +} // anonymous namespace + +bool ParseOptionsFromFlags(int *argc, char ***argv, + RGBMatrix::Options *m_opt_in, + RuntimeOptions *rt_opt_in, + bool remove_consumed_options) { + if (argc == NULL || argv == NULL) { + fprintf(stderr, "Called ParseOptionsFromFlags() without argc/argv\n"); + return false; + } + // Replace NULL arguments with some scratch-space. + RGBMatrix::Options scratch_matrix; + RGBMatrix::Options *mopt = (m_opt_in != NULL) ? m_opt_in : &scratch_matrix; + + RuntimeOptions scratch_rt; + RuntimeOptions *ropt = (rt_opt_in != NULL) ? rt_opt_in : &scratch_rt; + + return FlagInit(*argc, *argv, mopt, ropt, remove_consumed_options); +} + +static std::string CreateAvailableMultiplexString( + const internal::MuxMapperList &m) { + std::string result; + char buffer[256]; + for (size_t i = 0; i < m.size(); ++i) { + if (i != 0) result.append("; "); + snprintf(buffer, sizeof(buffer), "%d=%s", (int) i+1, m[i]->GetName()); + result.append(buffer); + } + return result; +} + +void PrintMatrixFlags(FILE *out, const RGBMatrix::Options &d, + const RuntimeOptions &r) { + const internal::MuxMapperList &muxers + = internal::GetRegisteredMultiplexMappers(); + + std::vector mapper_names = GetAvailablePixelMappers(); + std::string available_mappers; + for (size_t i = 0; i < mapper_names.size(); ++i) { + if (i != 0) available_mappers.append(", "); + available_mappers.append("\"").append(mapper_names[i]).append("\""); + } + + fprintf(out, + "\t--led-gpio-mapping= : Name of GPIO mapping used. Default \"%s\"\n" + "\t--led-rows= : Panel rows. Typically 8, 16, 32 or 64." + " (Default: %d).\n" + "\t--led-cols= : Panel columns. Typically 32 or 64. " + "(Default: %d).\n" + "\t--led-chain= : Number of daisy-chained panels. " + "(Default: %d).\n" + "\t--led-parallel= : Parallel chains. range=1..3 " +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + "(6 for CM3) " +#endif + "(Default: %d).\n" + "\t--led-multiplexing=<0..%d> : Mux type: 0=direct; %s (Default: 0)\n" + "\t--led-pixel-mapper : Semicolon-separated list of pixel-mappers to arrange pixels.\n" + "\t Optional params after a colon e.g. \"U-mapper;Rotate:90\"\n" + "\t Available: %s. Default: \"\"\n" + "\t--led-pwm-bits=<1..%d> : PWM bits (Default: %d).\n" + "\t--led-brightness=: Brightness in percent (Default: %d).\n" + "\t--led-scan-mode=<0..1> : 0 = progressive; 1 = interlaced " + "(Default: %d).\n" + "\t--led-row-addr-type=<0..4>: 0 = default; 1 = AB-addressed panels; 2 = direct row select; 3 = ABC-addressed panels; 4 = ABC Shift + DE direct " + "(Default: 0).\n" + "\t--led-%sshow-refresh : %show refresh rate.\n" + "\t--led-limit-refresh= : Limit refresh rate to this frequency in Hz. Useful to keep a\n" + "\t constant refresh rate on loaded system. 0=no limit. Default: %d\n" + "\t--led-%sinverse " + ": Switch if your matrix has inverse colors %s.\n" + "\t--led-rgb-sequence : Switch if your matrix has led colors " + "swapped (Default: \"RGB\")\n" + "\t--led-pwm-lsb-nanoseconds : PWM Nanoseconds for LSB " + "(Default: %d)\n" + "\t--led-pwm-dither-bits=<0..2> : Time dithering of lower bits " + "(Default: 0)\n" + "\t--led-%shardware-pulse : %sse hardware pin-pulse generation.\n" + "\t--led-panel-type= : Needed to initialize special panels. Supported: 'FM6126A', 'FM6127'\n", + d.hardware_mapping, + d.rows, d.cols, d.chain_length, d.parallel, + (int) muxers.size(), CreateAvailableMultiplexString(muxers).c_str(), + available_mappers.c_str(), + internal::Framebuffer::kBitPlanes, d.pwm_bits, + d.brightness, d.scan_mode, + d.show_refresh_rate ? "no-" : "", d.show_refresh_rate ? "Don't s" : "S", + d.limit_refresh_rate_hz, + d.inverse_colors ? "no-" : "", d.inverse_colors ? "off" : "on", + d.pwm_lsb_nanoseconds, + !d.disable_hardware_pulsing ? "no-" : "", + !d.disable_hardware_pulsing ? "Don't u" : "U"); + + fprintf(out, "\t--led-slowdown-gpio=<0..4>: " + "Slowdown GPIO. Needed for faster Pis/slower panels " + "(Default: %d).\n", r.gpio_slowdown); + if (r.daemon >= 0) { + const bool on = (r.daemon > 0); + fprintf(out, + "\t--led-%sdaemon : " + "%sake the process run in the background as daemon.\n", + on ? "no-" : "", on ? "Don't m" : "M"); + } + if (r.drop_privileges >= 0) { + const bool on = (r.drop_privileges > 0); + fprintf(out, + "\t--led-%sdrop-privs : %srop privileges from 'root' " + "after initializing the hardware.\n", + on ? "no-" : "", on ? "Don't d" : "D"); + } +} + +bool RGBMatrix::Options::Validate(std::string *err_in) const { + std::string scratch; + std::string *err = err_in ? err_in : &scratch; + bool success = true; + if (rows < 8 || rows > 64 || rows % 2 != 0) { + err->append("Invalid number or rows per panel (--led-rows). " + "Should be in range of [8..64] and divisible by 2.\n"); + success = false; + } + + if (cols < 16) { + err->append("Invlid number of columns for panel (--led-cols). " + "Typically that is something like 32 or 64\n"); + success = false; + } + + if (chain_length < 1) { + err->append("Chain-length outside usable range.\n"); + success = false; + } + + const internal::MuxMapperList &muxers + = internal::GetRegisteredMultiplexMappers(); + if (multiplexing < 0 || multiplexing > (int)muxers.size()) { + err->append("Multiplexing can only be one of 0=normal; ") + .append(CreateAvailableMultiplexString(muxers)); + success = false; + } + + if (row_address_type < 0 || row_address_type > 4) { + err->append("Row address type values can be 0 (default), 1 (AB addressing), 2 (direct row select), 3 (ABC address), 4 (ABC Shift + DE direct).\n"); + success = false; + } + +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + const bool is_cm = (strcmp(hardware_mapping, "compute-module") == 0); +#else + const bool is_cm = false; +#endif + if (parallel < 1 || parallel > (is_cm ? 6 : 3)) { + err->append("Parallel outside usable range (1..3 allowed" +#ifdef ENABLE_WIDE_GPIO_COMPUTE_MODULE + ", up to 6 only for CM3" +#endif + ").\n"); + success = false; + } + + if (brightness < 1 || brightness > 100) { + err->append("Brightness outside usable range (Percent 1..100 allowed).\n"); + success = false; + } + + if (pwm_bits <= 0 || pwm_bits > internal::Framebuffer::kBitPlanes) { + char buffer[256]; + snprintf(buffer, sizeof(buffer), + "Invalid range of pwm-bits (1..%d allowed).\n", + internal::Framebuffer::kBitPlanes); + err->append(buffer); + success = false; + } + + if (scan_mode < 0 || scan_mode > 1) { + err->append("Invalid scan mode (0 or 1 allowed).\n"); + success = false; + } + + if (pwm_lsb_nanoseconds < 50 || pwm_lsb_nanoseconds > 3000) { + err->append("Invalid range of pwm-lsb-nanoseconds (50..3000 allowed).\n"); + success = false; + } + + if (pwm_dither_bits < 0 || pwm_dither_bits > 2) { + err->append("Inavlid range of pwm-dither-bits (0..2 allowed).\n"); + success = false; + } + + if (led_rgb_sequence == NULL || strlen(led_rgb_sequence) != 3) { + err->append("led-sequence needs to be three characters long.\n"); + success = false; + } else { + if ((!strchr(led_rgb_sequence, 'R') && !strchr(led_rgb_sequence, 'r')) + || (!strchr(led_rgb_sequence, 'G') && !strchr(led_rgb_sequence, 'g')) + || (!strchr(led_rgb_sequence, 'B') && !strchr(led_rgb_sequence, 'b'))) { + err->append("led-sequence needs to contain all of letters 'R', 'G' " + "and 'B'\n"); + success = false; + } + } + + if (!success && !err_in) { + // If we didn't get a string to write to, we write things to stderr. + fprintf(stderr, "%s", err->c_str()); + } + + return success; +} + +} // namespace rgb_matrix diff --git a/lib/options-initialize.o b/lib/options-initialize.o new file mode 100644 index 0000000000000000000000000000000000000000..3eb0ebf41fc5932e4853902b22b87f0f7179b37a GIT binary patch literal 209024 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