for to block of the code, the used ram is same value.
the code is huge, i define this arrays in private section of the class header.
some thing like this :
#ifndef iClass_h
#define iClass_h
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
class iClass {
typedef void (*callback_function)(int, int, bool);
public:
iClass (uint16_t width, uint16_t height, callback_function setpix);
void printTextToBuffer(byte buffer[], uint8_t query[]);
private:
uint16_t lcd_width, lcd_height;
callback_function setPixel;
uint8_t draw_cursor = 0;
.
.
.
const uint16_t splited_map1[178] PROGMEM = {...};
const uint16_t splited_map2[170] PROGMEM = {...};
const uint16_t splited_map3[175] PROGMEM = {...};
const uint16_t splited_map4[171] PROGMEM = {...};
const uint16_t splited_map5[176] PROGMEM = {...};
const uint16_t splited_map6[20] PROGMEM = {...};
};
#endif
and for main code:
#include <SPI.h>
#include "LCD_Functions.h"
#include "iClass.h"
iClass ici(84,48,setPixel);
void setup() {
lcdBegin();
setContrast(50);
}
void loop() {
}