MichaelMeissner
Senior Member+
It was reported in the adafruit forums (https://forums.adafruit.com/viewtopic.php?f=8&t=81387) that the uncanny eyes tutorial does not build on the current teensyduino.
As a matter of coincidence, I had become interested in the same project, and I had just received two 1.44" 128x128 screens from an ebay seller (http://www.ebay.com/itm/122005165823?_trksid=p2060353.m2749.l2649&ssPageName=STRK:MEBIDX:IT).
I haven't gotten to the point of wiring up the displays, but I did verify that the tutorial does not build, due to INITR_144GREENTAB not being defined in the Teensy ST7735 source (but it is in the current Adafruit source). Here are the errors, including a typo in the uncanny eyes source:
If I fix line 460 to be:
and replace hardware/teensy/avr/libraries/Adafruit_ST7735 with a link to the current Adafruit libraries, it now compiles, but it has some warnings in the library:
Unfortunately, the source is too large too post inside of {code} and {/code} tags. I have added uncannyEyes.ino as an attachment, but you will need to load defaultEye.h from the uncanny eyes tutorial.
As a matter of coincidence, I had become interested in the same project, and I had just received two 1.44" 128x128 screens from an ebay seller (http://www.ebay.com/itm/122005165823?_trksid=p2060353.m2749.l2649&ssPageName=STRK:MEBIDX:IT).
I haven't gotten to the point of wiring up the displays, but I did verify that the tutorial does not build, due to INITR_144GREENTAB not being defined in the Teensy ST7735 source (but it is in the current Adafruit source). Here are the errors, including a typo in the uncanny eyes source:
Code:
/home/meissner/Arduino/teensy-eyes/uncannyEyes/uncannyEyes.ino:460:17: warning: extra tokens at end of #ifdef directive [enabled by default]
#ifdef IRIS_PIN && (IRIS_PIN >= 0) // Interactive iris
^
uncannyEyes: In function 'void setup()':
uncannyEyes:105: error: 'INITR_144GREENTAB' was not declared in this scope
eye[e].display.initR(INITR_144GREENTAB);
^
If I fix line 460 to be:
Code:
#if defined(IRIS_PIN) && (IRIS_PIN >= 0) // Interactive iris
and replace hardware/teensy/avr/libraries/Adafruit_ST7735 with a link to the current Adafruit libraries, it now compiles, but it has some warnings in the library:
Code:
WARNING: Spurious .github folder in 'Adafruit ST7735 Library' library
uncannyEyes: In function 'void frame(uint16_t)':
uncannyEyes:327: warning: comparison between signed and unsigned integer expressions
if((t - eye[eyeIndex].blink.startTime) >= eye[eyeIndex].blink.duration) {
^
uncannyEyes:404: warning: comparison between signed and unsigned integer expressions
if(s >= eye[eyeIndex].blink.duration) s = 255; // At or past blink end
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp: In member function 'void Adafruit_GFX::drawChar(int16_t, int16_t, unsigned char, uint16_t, uint16_t, uint8_t)':
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:566:14: warning: unused variable 'xa' [-Wunused-variable]
xa = pgm_read_byte(&glyph->xAdvance);
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp: In member function 'void Adafruit_GFX::drawBitmap(int16_t, int16_t, const uint8_t*, int16_t, int16_t, uint16_t)':
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:392:27: warning: 'byte' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(i & 7) byte <<= 1;
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp: In member function 'void Adafruit_GFX::drawBitmap(int16_t, int16_t, const uint8_t*, int16_t, int16_t, uint16_t, uint16_t)':
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:410:27: warning: 'byte' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(i & 7) byte <<= 1;
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp: In member function 'void Adafruit_GFX::drawBitmap(int16_t, int16_t, uint8_t*, int16_t, int16_t, uint16_t)':
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:427:27: warning: 'byte' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(i & 7) byte <<= 1;
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp: In member function 'void Adafruit_GFX::drawBitmap(int16_t, int16_t, uint8_t*, int16_t, int16_t, uint16_t, uint16_t)':
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:443:27: warning: 'byte' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(i & 7) byte <<= 1;
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp: In member function 'void Adafruit_GFX::drawXBitmap(int16_t, int16_t, const uint8_t*, int16_t, int16_t, uint16_t)':
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:462:27: warning: 'byte' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(i & 7) byte >>= 1;
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp: In member function 'void Adafruit_GFX::drawChar(int16_t, int16_t, unsigned char, uint16_t, uint16_t, uint8_t)':
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:600:9: warning: 'bits' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(bits & 0x80) {
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:604:47: warning: 'yo16' may be used uninitialized in this function [-Wmaybe-uninitialized]
fillRect(x+(xo16+xx)*size, y+(yo16+yy)*size, size, size, color);
^
/rock/shared/arduino/teensy-1.30-beta1-1.6.8/hardware/teensy/avr/libraries/Adafruit_GFX/Adafruit_GFX.cpp:570:14: warning: 'xo16' may be used uninitialized in this function [-Wmaybe-uninitialized]
int16_t xo16, yo16;
^
Sketch uses 186,216 bytes (71%) of program storage space. Maximum is 262,144 bytes.
Global variables use 4,896 bytes (7%) of dynamic memory, leaving 60,640 bytes for local variables. Maximum is 65,536 bytes.
Unfortunately, the source is too large too post inside of {code} and {/code} tags. I have added uncannyEyes.ino as an attachment, but you will need to load defaultEye.h from the uncanny eyes tutorial.