#include <SPI.h>
#define CS 22
#define Enable LOW
#define Disable HIGH
byte cara1[]= {0x3c, 0x42,0xa9,0x85,0x85,0xa9,0x42,0x3c};
byte cara2[]= {0x3c, 0x42,0x89,0x85,0x89,0x85,0x42,0x3c};
byte letraB[] = {
  0x78,
  0x48,
  0x48,
  0x70,
  0x48,
  0x48,
  0x78,
  0x00
};
byte letraA[] = {
  0x18,
  0x24,
  0x42,
  0x7E,
  0x42,
  0x42,
  0x42,
  0x00
};

byte config[]= {0x00,0x07,0x07,0x01};
SPISettings MySettings(200000, MSBFIRST, SPI_MODE0);

void funcSPI(byte dir, byte dat){
      digitalWrite(CS,Enable);
      SPI.transfer(dir);
      SPI.transfer(dat);
      digitalWrite(CS,Disable);
    }
void setup(){
  pinMode(CS, OUTPUT);
  digitalWrite(CS,Disable);
  SPI.begin();
  SPI.beginTransaction(MySettings);
  //conf del max
  for(byte i=0x09; i<= 0x0c; i++){
   funcSPI(i,config[i-9]);
     }
    //prueba displays
    funcSPI (0X0F,0X01);
    delay(1000);
    funcSPI(0X0F,0X00);
    
}
void loop (){
  byte conf_dat ;
  //mostrar datos del display
  for (byte i=0; i<=7 ; i++){
    funcSPI(i++,cara2[i]);

  }
  delay(1000);
    for (byte i=0; i<=7 ; i++){
    funcSPI(i++,cara1[i]);

  }
  delay(1000);
    for (byte i=0; i<=7 ; i++){
    funcSPI(i++,letraA[i]);

  }
  delay(1000);
    for (byte i=0; i<=7 ; i++){
    funcSPI(i++,letraB[i]);

  }
  delay(1000);
}