Hello,
i've download the T6963_Lib.zip (Google Code Archive - Long-term storage for Google Code Project Hosting.) and copy to arduino\library
I got error. I use Arduino 1.0.5
Hello,
i've download the T6963_Lib.zip (Google Code Archive - Long-term storage for Google Code Project Hosting.) and copy to arduino\library
I got error. I use Arduino 1.0.5
i've download the T6963_Lib.zip (http://code.google.com/p/arduino-t6963c/downloads/list) and copy to arduino\library
Try following the procedure described here: http://arduino.cc/en/Guide/Libraries
Don
Hi
Some time back i tried the existing T6963 librarys. As far as i remember, none of them had been ported to Arduino 1.0 (this is also true for your attempt). But also using Arduino 0022 had failed to work. Finally i decided to add support for the T6963 displays to U8glib (Google Code Archive - Long-term storage for Google Code Project Hosting.): U8glib will work with Arduino 1.0.5 and usually all new releases of U8glib and Arduino are tested with my T6963 display.
Grüße aus Böblingen,
Oliver
DEAFBOY:
Hello,i've download the T6963_Lib.zip (Google Code Archive - Long-term storage for Google Code Project Hosting.) and copy to arduino\library
I got error. I use Arduino 1.0.5
You have to modify the library .h and .cpp files.
This lines is for older IDEs:
#include "WProgram.h"
You need to change it to:
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
DEAFBOY:
Nothing works under 1.0.5, but 0023 works without error
Did you read what I wrote? Did you do it?
Hi DEAFBOY
Good work so far. I never managed to make these old TS6963 libs to display something (but it might be due to my wrong hardware setup).
The remaining vertical lines might be there because of a wrong level at the FS (or FS1/FS2) input pins of your display: The one FS or both FS1 and FS2 must be connected to GND (0V). These pins do not only change the font, but also the memory layout.
Oliver
arduinodlb:
DEAFBOY:
Nothing works under 1.0.5, but 0023 works without errorDid you read what I wrote? Did you do it?
Yes and problem is still not solved.
olikraus:
Hi DEAFBOYGood work so far. I never managed to make these old TS6963 libs to display something (but it might be due to my wrong hardware setup).
The remaining vertical lines might be there because of a wrong level at the FS (or FS1/FS2) input pins of your display: The one FS or both FS1 and FS2 must be connected to GND (0V). These pins do not only change the font, but also the memory layout.Oliver
There is no FS1 and FS2 http://www.lcd-module.de/pdf/grafik/dip240-7.pdf
[/quote]
DEAFBOY:
Yes and problem is still not solved.
OK. So if you want to keep working on getting the T6963 libraries to work, we need a complete printout of the compile errors as they are now, not just a screen shot of one of the errors. You need to grab all the compile errors and post those here, unless you're just going to stick with the u8glib library.
By the way, when you say 0023 works without error, do you mean it compiles but nothing works, or do you mean it compiles and the screen works correctly?
DEAFBOY:
There is no FS1 and FS2 http://www.lcd-module.de/pdf/grafik/dip240-7.pdf
It is there. Quote from the refered manual:
Befehlssatz des T6963C
Interne Beschaltung:
MD0, MD1, MD2, FS0: GND
MDS, MD3: VDD
FS1: GND (LB3 offen, 8x8)
FS1:VDD (LB3 zu, 6x8)
Where I personal would guess that "LB" means "Lötbrücke" (=solder bridge). I bet its closed... According to that statement it should be open (connected to GND). The remaining question is: Where to find this LB3. The manual is not that clear about this.
Oliver
I give up. Time wasted
Hello everyone
I see that You trying to resolve the problem with libraries T6963c.
Currently also I working on this, so far my libraries T6963c are compiled (the sketch T6963_Lib works on IDE Arduino 1.0.5), but I still have problem with sketch T6963_for_240x64, here I have problem with 'char' what should represent some 'bitmap' I suppose
First I changed in T6963C.h and T6963c.cpp this things:
arduinodlb:
This lines is for older IDEs:#include "WProgram.h"
You need to change it to:
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
After that I had problem with this:
error: 'prog_uchar' has not been declared
error: 'prog_char' has not been declared
because the type of prog_uchar and prog_char are outdated in avr, You can replaced it. In this file T6963C.h, gfxdata.c You have to add this definition on top the file:
#define prog_uchar char PROGMEM
#define prog_char char PROGMEM
After that, the next problem was with "const" declarations for "bitmap" (more info about const You can find here http://arduino.cc/en/Reference/Const) , I added the const declaration to all line related with definition of some bitmap in file gfxdata.c
prog_uchar IMG01bmp[]= {
....
prog_uchar IMG02bmp[]= {
....
to this:
const prog_uchar IMG01bmp[]= {
....
const prog_uchar IMG02bmp[]= {
....
after these treatments this T6963 library are compiles correctly, but now I have problem with sketch T6963_for_240x64 exactly with the pointer (I am not good from pointer :P).
Because the T6963_for_240x64 using the file gfxdata.h (before I described the changes in gfxdata.c) here I also have problem with const declaration, I changed this:
extern prog_uchar IMG01bmp[];
extern prog_uchar IMG02bmp[];
....
to this:
extern const prog_uchar IMG01bmp[];
extern const prog_uchar IMG02bmp[];
....
Also I had to do the change in line 8 in T6963_for_240x64.pde (because I also have some problem with const, I think I am the const maniac
)
PROGMEM prog_uchar* animdemo[] = // Flash Images for Animation 24 Frames
to this:
PROGMEM const prog_uchar* const animdemo[] = // Flash Images for Animation 24 Frames
And now I think I used to many const
and the sketch don't want to compiled T6963_for_240x64 (the library works )
this is my error:
T6963_for_240x64.pde: In function 'void loop()':
T6963_for_240x64.pde:129:67: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
In file included from T6963_for_240x64.pde:1:0:
/usr/share/arduino/libraries/T6963_Lib/T6963.h:134:14: error: initializing argument 3 of 'const void T6963::drawPic(unsigned int, unsigned int, char*, unsigned int, unsigned int)' [-fpermissive]
void const drawPic(unsigned int, unsigned int, prog_uchar *, unsigned int, unsigned int);
line 129 in T6963_for_240x64:
LCD.drawPic( 72, 0, Arduinobmp ,ArduinoHEIGHT, ArduinoBYTEWIDTH ); //x,y = Position, Picturename (not Filename), Height in Pixel, Widht in Byte
line 134 in T6963.h:
void drawPic(unsigned int, unsigned int, prog_uchar *, unsigned int, unsigned int);
If any one have any suggestion please tell me I will be testing every your idea.
If I remove (comment) this command from T6963_for_240x64.pde then this sketch are compiled correctly
LCD.drawPic
LCD.drawAnim
Olikraus thank for this link it looks very interesting
olikraus:
(Google Code Archive - Long-term storage for Google Code Project Hosting.)
14.12.2013 19.10
I tested libraries u8glib and see that it have a lot of nice and very helpful example, but unfortunately this libraries not work correctly with my lcd screen (T6963c 240x64)
And here the image from modified T6963 library, unfortunately the command "LCD.drawPic" and "LCD.drawAnim" still does not work.
14.12.2013 20.31
Ok. Now everything works good !!!
The last change what You need to do is "typecasting" it works for sketch T6963_for_240x64.pde and T6963_for_240x128.pde
You have to change this line 129,131 in T6963_for_240x64.pde (for T6963_for_240x128.pde line 132,133)
LCD.drawPic( 72, 0, Arduinobmp ,ArduinoHEIGHT, ArduinoBYTEWIDTH );
delay(3000);
LCD.drawPic( 72, 0, Arduino1bmp ,Arduino1HEIGHT, Arduino1BYTEWIDTH );
delay(3000);
LCD.clearGraphic();
to this code
LCD.drawPic( 72, 0, (char*) Arduinobmp ,ArduinoHEIGHT, ArduinoBYTEWIDTH );
delay(3000);
LCD.drawPic( 72, 0, (char*) Arduino1bmp ,Arduino1HEIGHT, Arduino1BYTEWIDTH );
delay(3000);
LCD.clearGraphic();
also You have to modification the LCD.drawAnim command in line 142 in sketch T6963_for_240x64.pde (T6963_for_240x128.pde line 144) :
LCD.drawAnim( 62, 15, animdemo, 24, pictureHEIGHT, pictureBYTEWIDTH);
to this code:
LCD.drawAnim( 62, 15, (char**) animdemo, 24, pictureHEIGHT, pictureBYTEWIDTH);
And Now all works fine 8) 8) 8)
And who now buy me a beer ???
Well done rat-. I'm sure others will benefit from your efforts and your post.
Are you able to fix U8glib also? I guess the setup in Google Code Archive - Long-term storage for Google Code Project Hosting. is wrong. For fixing U8glib, i will, for sure, pay a beer...
Oliver
Hi Everyone
Oliver (olikraus) It's nice that You wrote here the post, I thought about contacting with You, I made progress in locating the problem in U8glib and I find the workaround for this problem(it can also be considered as a solution of the problem).
The problem is related with "how many dot use for one char" exactly T6963C controller must be informed about "font system" what the program will use.
Please look on the description of the inputs for T6963C controller
Input 19 FS1:
In libraries T6963c the initialization must look like in this way:
T6963(int pixHoriz,int pixVert,int fontWidth, int sizeMem); //Class
//pixHoriz = Horizontal resolution
//pixVert = Vertical Resolution
//fontWidth = pixel width of font, determines number of columns, use hardware setting for LCD, no outputs linked to this variable.
//sizeMem = size of memory attached to LCD in kb s/b 4,8,16,32,64 type number.
And here some example of declaration:
T6963 LCD(240,64,6,32);// 240x64 Pixel and 6x8 Font
T6963 LCD(240,64,8,32);// 240x64 Pixel and 8x8 Font
Based on my tests, I came to the conclusion that libraries u8glib working on the system 8x8 and my LCD was set on the system 6x8 and this is reason of the duplicating the lcd screen.
To resolve my problem I change screen setting to system 8x8 (by sending LOW signal to FS1 input) and the U8glib works almost perfectly,
Almost, because the font is big and take a lot of space, next thing is to use the smaller font then default (U8glib libraries have very nice support for fonts Google Code Archive - Long-term storage for Google Code Project Hosting.)
In all example from U8glib we can find the command which defines the font size and type, we can change it (I used a smaller, 7pixel ), here is definition of font:
u8g.setFont(u8g_font_fixed_v0);
And now the screen looks better:
I'm thinking that, this is not a permanent solution of the problem and surely we can solved this by made some changes in the code, I will be try to solve this, but U8glib libraries is big (that good because it have a lot of nice staff) and it will take some times.
Amazing work. Thanks a lot.
As a conclution, U8glib will work correctly if FS1 is set to GND, correct?
In fact, U8glib has been written by assuming that FS1 is set to GND. From my perspective i do not see a need to support the 6x8 mode for the T6963 controller. All graphics output can be done in 8x8 mode, correct?
All in all good pictures and nice summery so far. I will try to send the beer via paypal
Please send me a PM with your e-mail for this...
Oliver
Hi
olikraus:
As a conclution, U8glib will work correctly if FS1 is set to GND, correct?
Yes, libraries u8glib works perfectly with T6963C when FS1 is set to GND, and I have to say that, my earlier problem was made by my fault, because today I find note in u8g_dev_t6963_240x64.c line 43-46
Notes:
The font selection pins should generate the 8x8 font.
For the MGLS240128TZ only FS1 is available on pin 18.
FS1 must be low to generate the 8x8 font.
olikraus:
From my perspective i do not see a need to support the 6x8 mode for the T6963 controller. All graphics output can be done in 8x8 mode, correct?
I agree with this.
Here some images, how cool works the U8glib libraries:
U8glib libraries works very good with T6963c and now I thinking that, there is no need to doing ?any changes in code, a lot of LCD screen based on T6963c controller are built so that the default FS1 is connected to GND (8x8), anyway good job with that libraries $) !!
My fault, no beer for me
Notes:
The font selection pins should generate the 8x8 font.
For the MGLS240128TZ only FS1 is available on pin 18.
FS1 must be low to generate the 8x8 font.
This is also described at the end of this page (before the comments):
http://code.google.com/p/u8glib/wiki/device
All in all i see this as a valuable contribution to u8glib. Let me pay the beer...
Oliver
Hi,
my Project: Digital Powersupply with 128x128 GLCD.
My System: DualCore 2x2000Mhz, Windows XP Prof. SP3 and Ubuntu 13.10(prefered)
Arduino Nano w. Atmega 328 and Arduino 1.05 IDE (earlier 0022)
after changing from arduino 0022 to 0105 i have also some troubles with the glcd_lib ...
i made the changes from WProgram.h to Arduino.h, that works.
The error message is:
/usr/share/arduino/sketchbook/libraries/T6963_Lib/GLCD_Clock.c:18:1: error: expected identifier or ‘(’ before numeric constant
0x00,0x00,0x00,0x00,0x07,0x3F,0x20,0x00,0x00,0x00,0x00,
The funny thing is, i don't use GLCD_Clock !!!
#include "T6963.h"
#include <Times_New_Roman__14.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <digitalWriteFast.h>
I had a look at the GLCD_Lib.h and .cpp, but there is nowhere a text named with that GLCD_Clock at all.
Even if i delete those GLCD_Clock files, the error-message is the same!
Does anyone has an idea?
I have also tried to use u8g, it's a really great Lib, BUT..... on my Hardware WAY TO SLOW !
I don't know, if that is normal, but i don't think so...
It takes abeout 10secons (!!) to build one screen!
So i decided to stay with the GLCD Lib...
i hope someone can help me?
Regards,
Wolfram.
^