Schupp icon

SPIFF LCD1

Schupp | PRO | 12/09/18 12:35:29 PM UTC | 0 ⭐ | 452 👁️ | Never ⏰ | []
C |

2.07 KB

|

None

|

0 👍

/

0 👎

#include "FS.h"
#include "SPIFFS.h"
//#include<SPIFlash.h>
#define TRUE 1
#define FALSE 0
//SPIFlash flash(SS1, &SPI1);       //Use this constructor if using an SPI bus other than the default SPI. Only works with chips with more than one hardware SPI bus
//SPIFlash flash(4,&SPI);
 
#define SPI2_NSS_PIN 28
 
 
 
 
#include "SPI.h"
#include <Adafruit_GFX.h>
//#include <ILI9488.h>
// Use hardware SPI (on Uno, #13, #12, #11) and the above for Enable,CS/DC,Reset
 
 
void setup() {
  unsigned long micross = micros();
 
 
 // transparentImage(Startbyte Pic,Startbyte background,x,y, width, height, Transparency Color);
  transparentImage(0,198900,0,0, 100, 100, 0xFFFFFF);
 
 
  Serial.println((micros() - micross) / 1000);
}
int z = 0;
int p = 0;
 
void loop() {
 
}
 
void transparentImage(uint32_t startpic, uint32_t startbackground, int x, int y, int width, int height, uint32_t tcolor) {
  //read background clipping
  File f = SPIFFS.open( "/pics.bin", "r");
  char *buf = (char*)malloc(width * height * 3);
  char *temp = (char*)malloc(width * 3);
  // Serial.println("1");
  unsigned long offset = 0;
  for (int i; i < height; i++) {
    unsigned long offset = startbackground + (x * width - (width - y) + (i * width * 3));
    f.seek(offset, SeekSet);
    f.readBytes((char*)temp, width * 3) ;
    memcpy( buf + (i * width), temp, (width * 3) );
  }
  // Inhalt der Textdatei wird gelesen...
  f.close();
 
    File fc = SPIFFS.open( "/pics.bin", "r");
 
  for (int i; i < height; i++) {
    unsigned long offset = startpic+i*width;
    fc.seek(offset, SeekSet);
    fc.readBytes((char*)temp, width * 3) ;
   for(int h=0;h<width*3;h=h+3)
   {
uint32_t b = temp[h];
    b = (b<<8) | temp[h+1];
    b = (b<<8) | temp[h+2];
uint32_t bp = buf[width*i+h];
    bp = (b<<8) |buf[width*i+h+1];
    bp = (b<<8) |buf[width*i+h+2];
    if(b!=bp){
    buf[width*i+h]=temp[h];
    buf[width*i+h+1]=temp[h+1];
    buf[width*i+h+2]=temp[h+2];
    }
    //memcpy( buf + (i * width), temp, (width * 3) );
  }
  // Inhalt der Textdatei wird gelesen...
  fc.close();
}
}

Comments