From b80dc20093d1e74064f88f7cda24712f98cfa20d Mon Sep 17 00:00:00 2001
From: Sergi Hernandez Juan <shernand@iri.upc.edu>
Date: Mon, 19 Oct 2020 14:04:51 +0200
Subject: [PATCH] Solved a bug in the dimension of the img_pattern_data buffer.
 Solved a bug in the computation of the image region to show.

---
 pattern_frame_buffer/include/image_patterns.h | 2 +-
 pattern_frame_buffer/src/image_patterns.c     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/pattern_frame_buffer/include/image_patterns.h b/pattern_frame_buffer/include/image_patterns.h
index 0d64a20..a6c31db 100644
--- a/pattern_frame_buffer/include/image_patterns.h
+++ b/pattern_frame_buffer/include/image_patterns.h
@@ -18,7 +18,7 @@
   #error "Please, specify the maximum image height with the IMG_MAX_IMAGE_HEIGHT macro"
 #endif
 
-extern unsigned char img_pattern_data[IMG_MAX_NUM_IMAGES][IMG_MAX_IMAGE_WIDTH][IMG_MAX_IMAGE_HEIGHT][3];
+extern unsigned char img_pattern_data[IMG_MAX_NUM_IMAGES][IMG_MAX_IMAGE_HEIGHT][IMG_MAX_IMAGE_WIDTH][3];
 
 void img_patterns_init(TMemory *memory,unsigned short int ram_base_address);
 
diff --git a/pattern_frame_buffer/src/image_patterns.c b/pattern_frame_buffer/src/image_patterns.c
index 85f7aad..3988cbe 100644
--- a/pattern_frame_buffer/src/image_patterns.c
+++ b/pattern_frame_buffer/src/image_patterns.c
@@ -5,7 +5,7 @@
 #include "ram.h"
 
 // private variables
-unsigned char img_pattern_data[IMG_MAX_NUM_IMAGES][IMG_MAX_IMAGE_WIDTH][IMG_MAX_IMAGE_HEIGHT][3]={{{{0}}}};
+unsigned char img_pattern_data[IMG_MAX_NUM_IMAGES][IMG_MAX_IMAGE_HEIGHT][IMG_MAX_IMAGE_WIDTH][3]={{{{0}}}};
 
 // private functions
 void img_patterns_compute_range(unsigned short int area_min,unsigned short int area_max,short int pattern_start,unsigned short int max_size,unsigned short int *buff_start, unsigned short int *buff_end,unsigned char *img_start)
@@ -36,7 +36,7 @@ void img_patterns_compute_range(unsigned short int area_min,unsigned short int a
   if(*buff_start+cp_size>area_max)
   {
     *buff_end=area_max;
-    cp_size-=area_max;
+    cp_size-=(*buff_start+cp_size-area_max);
   }
   else
     *buff_end=*buff_start+cp_size;
-- 
GitLab