mega 2560 и FSTN 240x128

Vinegret
Offline
Зарегистрирован: 25.01.2015

Приветствую, товарищи аццы! Третьего дня как разжился вышеуказанной мегой и и дисплеем о пяти дюймах в лице. Дисплей имеет маркировку RA6962L2NA. Примитивный гуглежь выдал сразу мне распиновочку для подключения дисплея к меге:

LCD PIN   LCD NAME   u8glib   2560
1   FG     GND  
2   GND     GND  
3   VDD     5V  
4   VO     50k POT WIPER (Leg 2)  
5   /WR     wr   35
6   /RD     rd 34
7   /CE   cs 37  
8   C/D     36  
9   RST   reset   33
10   D0   D0     49
11   D1   D1   48  
12   D2   D2   47  
13   D3   D3   46  
14   D4     D4   45  
15   D5     D5   44  
16   D6     D6   43  
17   D7   D7   42  
18   FS1     GND  
19   VEE       50k POT LEG 1 (Leg 3 to 5v)  
20   LEDA       3.3V  (5V Too Bright)
21   LEDK       GND  

и, собственно, библиотеку для девайса Т6963_lib. 

В подключении вопросов не встало, а вот при попытке скомпилировать самый простой из примеров для этого дисплея (как и всех остальных, комплектных с данной библиотекой), arduino ide вываливает такую хренову тьму ошибок, что становится аж страшно. Подскажите, аццы, что сделать, чтоб скомпилировать и залить в мегу вот этот "хэловорлд". Ту ли библиотеку я юзаю и не надобно ли докачать чего еще?

Собственно, вот хэловорлд:

#include "T6963.h"
T6963 LCD(240,128,6,32);
 
void setup(){
  Serial.begin(9600);
  Serial.print("TH: ");
  Serial.println(LCD.getTH());
  Serial.print("GH: ");
  Serial.println(LCD.getGH());
  
  LCD.Initialize();
  
  Serial.println("Initialized");
  LCD.TextGoTo(0,0);
  LCD.writeString("Hello World");
  
}
void loop(){
  for(byte _b = 0;_b<240;_b++){
    LCD.writePixel(_b,_b>>1,1);
  }
  for(byte _b=0;_b<128;_b +=8){
    LCD.TextGoTo(_b/8,_b/8);
    LCD.writeString("Hello World");
  }
  delay(1000);
  LCD.clearGraphic();
  LCD.createLine(0,0,239,127,1);
  delay(1000);
  LCD.createLine(239,0,0,127,1);
  LCD.clearGraphic();
  delay(500);
  LCD.clearText();
  LCD.setPixel(0,0);
  LCD.setPixel(239,0);
  LCD.setPixel(239,127);
  LCD.setPixel(0,127);
  delay(1000);
  for(int x=0;x<128;x+=4){
    LCD.createLine(0,x,x<<1,127,1);
    delay(10);
  }
  delay(1000);
  LCD.createCircle(120,64,32,1);
  delay(1000);
  LCD.clearGraphic();
  LCD.clearText();
  
  LCD.setDispMode(true,true,true,false);
  for(byte _b=0;_b<8;_b++){
    for(byte _row = 0;_row < LCD.getTextRows();_row++){
      for(byte _col = 0;_col < LCD.getTextCols();_col++){
        LCD.setCursorPointer(_col,_row);
        delay(100);
      }
    }
    LCD.setCursorPattern(_b);
  }
  LCD.setDispMode(true,true,false,false);
}
 
Вот ошибки:
 
Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560
 
Arduino: 1.6.8 (Windows 10), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega1280"
 
In file included from C:\Program Files (x86)\Arduino\libraries\FSTN\examples\T6963_Lib\T6963_Lib.pde:1:0:
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:105:23: error: 'prog_char' has not been declared
 
   void WriteStringPgm(prog_char * str);
 
                       ^
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:127:44: error: 'prog_uchar' has not been declared
 
   void drawPic(unsigned int, unsigned int, prog_uchar *, unsigned int, unsigned int);
 
                                            ^
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:128:45: error: 'prog_uchar' has not been declared
 
   void drawAnim(unsigned int, unsigned int, prog_uchar**, int, unsigned int, unsigned int);
 
                                             ^
 
C:\Program Files (x86)\Arduino\libraries\FSTN\examples\T6963_Lib\T6963_Lib.pde: In function 'void setup()':
 
C:\Program Files (x86)\Arduino\libraries\FSTN\examples\T6963_Lib\T6963_Lib.pde:15:32: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   LCD.writeString("Hello World");
 
                                ^
 
C:\Program Files (x86)\Arduino\libraries\FSTN\examples\T6963_Lib\T6963_Lib.pde: In function 'void loop()':
 
C:\Program Files (x86)\Arduino\libraries\FSTN\examples\T6963_Lib\T6963_Lib.pde:24:34: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
     LCD.writeString("Hello World");
 
                                  ^
 
exit status 1
Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.
 
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
 

 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Перед void setup() добавить:
typedef unsigned char prog_uchar;
typedef char prog_char;

Vinegret
Offline
Зарегистрирован: 25.01.2015

Спасибо за отклик. Но, видимо, рано я решил пересесть с 16х2 дисплея на 240х128. 

Строчки в скетч добавил, но IDE говорит:

 
In file included from C:\Users\Vinegret\AppData\Local\Temp\arduino_modified_sketch_290677\T6963_Lib.pde:1:0:
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:105:23: error: 'prog_char' has not been declared
 
   void WriteStringPgm(prog_char * str);
 
                       ^
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:127:44: error: 'prog_uchar' has not been declared
 
   void drawPic(unsigned int, unsigned int, prog_uchar *, unsigned int, unsigned int);
 
                                            ^
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:128:45: error: 'prog_uchar' has not been declared
 
   void drawAnim(unsigned int, unsigned int, prog_uchar**, int, unsigned int, unsigned int);
 
                                             ^
 
exit status 1
Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560
Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Тогда
#define prog_uchar uint8_t
#define prog_char char

А старые строки удалите

Vinegret
Offline
Зарегистрирован: 25.01.2015
Подскажите, я хоть ту библиотеку использую?
Некоторые англоязычные личности говорят, что нужна u8glib. Вот я и засомневался.
 
 
In file included from C:\Users\Vinegret\AppData\Local\Temp\arduino_modified_sketch_299038\T6963_Lib.pde:1:0:
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:105:23: error: 'prog_char' has not been declared
 
   void WriteStringPgm(prog_char * str);
 
                       ^
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:127:44: error: 'prog_uchar' has not been declared
 
   void drawPic(unsigned int, unsigned int, prog_uchar *, unsigned int, unsigned int);
 
                                            ^
 
C:\Program Files (x86)\Arduino\libraries\FSTN/T6963.h:128:45: error: 'prog_uchar' has not been declared
 
   void drawAnim(unsigned int, unsigned int, prog_uchar**, int, unsigned int, unsigned int);
 
                                             ^
 
exit status 1
Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.
 
Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Я не знаю, оу ли вы библиотеку используете.
Перенесите строки с #define перед #include