KSM edits to RA8875

Dependents:   Liz_Test_Code

Revision:
145:5eb2492acdda
Parent:
141:2ec78a50dc98
Child:
146:373d59f08357
--- a/RA8875.cpp	Thu Dec 29 20:06:00 2016 +0000
+++ b/RA8875.cpp	Sat May 06 20:27:44 2017 +0000
@@ -13,6 +13,12 @@
 ///
 #include "RA8875.h"
 
+//#include "Utility.h"            // private memory manager
+#ifndef UTILITY_H
+#define swMalloc malloc         // use the standard
+#define swFree free
+#endif
+
 //#define DEBUG "RAIO"
 // ...
 // INFO("Stuff to show %d", var); // new-line is automatically appended
@@ -135,7 +141,7 @@
     // Interrupt
     m_irq->mode(PullUp);
     m_irq->enable_irq();
-    m_irq->fall(this, &RA8875::TouchPanelISR);
+    m_irq->fall(callback(this, &RA8875::TouchPanelISR));
     TouchPanelInit();
 }
 
@@ -2009,7 +2015,7 @@
 
         // Allocate the memory we need to proceed
         int lineBufSize = ((24 * w + 7)/8);
-        lineBuffer = (uint8_t *)malloc(lineBufSize);
+        lineBuffer = (uint8_t *)swMalloc(lineBufSize);
         if (lineBuffer == NULL) {
             ERR("Not enough RAM for PrintScreen lineBuffer");
             return(not_enough_ram);
@@ -2022,21 +2028,21 @@
         // but is actually causing a failure later. 
         // This test helps determine if it is truly out of memory,
         // or if malloc is broken.
-        pixelBuffer = (color_t *)malloc(2 * w * sizeof(color_t));
+        pixelBuffer = (color_t *)swMalloc(2 * w * sizeof(color_t));
         pixelBuffer2 = pixelBuffer + (w * sizeof(color_t));
         #else
-        pixelBuffer = (color_t *)malloc(w * sizeof(color_t));
-        pixelBuffer2 = (color_t *)malloc(w * sizeof(color_t));
+        pixelBuffer = (color_t *)swMalloc(w * sizeof(color_t));
+        pixelBuffer2 = (color_t *)swMalloc(w * sizeof(color_t));
         #endif
         if (pixelBuffer == NULL || pixelBuffer2 == NULL) {
             ERR("Not enough RAM for pixelBuffer");
             #ifndef DOUBLEBUF
             if (pixelBuffer2)
-                free(pixelBuffer2);
+                swFree(pixelBuffer2);
             #endif
             if (pixelBuffer)
-                free(pixelBuffer);
-            free(lineBuffer);
+                swFree(pixelBuffer);
+            swFree(lineBuffer);
             return(not_enough_ram);
         }
 
@@ -2126,11 +2132,11 @@
         
         #ifndef DOUBLEBUF
         if (pixelBuffer2)
-            free(pixelBuffer2);
+            swFree(pixelBuffer2);
         #endif
         if (pixelBuffer)
-            free(pixelBuffer);
-        free(lineBuffer);
+            swFree(pixelBuffer);
+        swFree(lineBuffer);
         INFO("Image closed");
         return noerror;
     } else {
@@ -2172,7 +2178,7 @@
 
         // Allocate the memory we need to proceed
         int lineBufSize = ((24 * w + 7)/8);
-        lineBuffer = (uint8_t *)malloc(lineBufSize);
+        lineBuffer = (uint8_t *)swMalloc(lineBufSize);
         if (lineBuffer == NULL) {
             ERR("Not enough RAM for PrintScreen lineBuffer");
             return(not_enough_ram);
@@ -2185,21 +2191,21 @@
         // but is actually causing a failure later. 
         // This test helps determine if it is truly out of memory,
         // or if malloc is broken.
-        pixelBuffer = (color_t *)malloc(2 * w * sizeof(color_t));
+        pixelBuffer = (color_t *)swMalloc(2 * w * sizeof(color_t));
         pixelBuffer2 = pixelBuffer + (w * sizeof(color_t));
         #else
-        pixelBuffer = (color_t *)malloc(w * sizeof(color_t));
-        pixelBuffer2 = (color_t *)malloc(w * sizeof(color_t));
+        pixelBuffer = (color_t *)swMalloc(w * sizeof(color_t));
+        pixelBuffer2 = (color_t *)swMalloc(w * sizeof(color_t));
         #endif
         if (pixelBuffer == NULL || pixelBuffer2 == NULL) {
             ERR("Not enough RAM for pixelBuffer");
             #ifndef DOUBLEBUF
             if (pixelBuffer2)
-                free(pixelBuffer2);
+                swFree(pixelBuffer2);
             #endif
             if (pixelBuffer)
-                free(pixelBuffer);
-            free(lineBuffer);
+                swFree(pixelBuffer);
+            swFree(lineBuffer);
             return(not_enough_ram);
         }
 
@@ -2208,11 +2214,11 @@
             ERR("Can't open file for write");
             #ifndef DOUBLEBUF
             if (pixelBuffer2)
-                free(pixelBuffer2);
+                swFree(pixelBuffer2);
             #endif
             if (pixelBuffer)
-                free(pixelBuffer);
-            free(lineBuffer);
+                swFree(pixelBuffer);
+            swFree(lineBuffer);
             return(file_not_found);
         }
 
@@ -2294,11 +2300,11 @@
         fclose(Image);
         #ifndef DOUBLEBUF
         if (pixelBuffer2)
-            free(pixelBuffer2);
+            swFree(pixelBuffer2);
         #endif
         if (pixelBuffer)
-            free(pixelBuffer);
-        free(lineBuffer);
+            swFree(pixelBuffer);
+        swFree(lineBuffer);
         INFO("Image closed");
         return noerror;
     } else {