chipKIT® Development Platform

Inspired by Arduino™

Trying to switch from Arduino to MPIDE... Compiler errors

Created Tue, 31 Dec 2013 00:30:53 +0000 by ozneteast


ozneteast

Tue, 31 Dec 2013 00:30:53 +0000

Here is what I am trying to do:

I have bought a Mikromedia board and wanted to use it along with MPIDE I installed version 2013-07-15 of MPIDE

I would like to use the UTFT library. It seems it is written for chipkit, as well as arduino, and as far as I can tell supports the LCD controller on the mikromedia board.

My iMac runs OSX 10.9 I created a "libraries" folder under \users\pete\documents\mpide I put the UTFT library structure under this. I close and re-open MPIDE

I can see the examples that were included with UTFT, so I assume I have it installed correctly.

I select File->Examples->UTFT->chipkit->UTFT_Demo_320x240

I click compile and am presented with a bunch of errors. Can anyone point me in the right direction? Thanks!

UTFT.CPP IS present in the /Users/pete/Documents/mpide/libraries/UTFT Folder


UTFT/UTFT.cpp.o: In function UTFT': /Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:115: undefined reference to UTFT::_set_direction_registers(unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:166: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:169: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:182: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:181: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:182: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:206: undefined reference to UTFT::_hw_special_init()' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:600: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:599: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:600: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:588: undefined reference to UTFT::_fast_fill_16(int, int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:590: undefined reference to UTFT::_fast_fill_8(int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:638: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:637: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:638: undefined reference to UTFT::LCD_Writ_Bus(char, char, unsigned char)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:628: undefined reference to UTFT::_fast_fill_8(int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:626: undefined reference to UTFT::_fast_fill_16(int, int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:773: undefined reference to UTFT::_fast_fill_8(int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:768: undefined reference to UTFT::_fast_fill_16(int, int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:803: undefined reference to UTFT::_fast_fill_8(int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:798: undefined reference to UTFT::_fast_fill_16(int, int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:460: undefined reference to UTFT::_fast_fill_8(int, long)' UTFT/UTFT.cpp.o:/Users/pete/Documents/mpide/libraries/UTFT/UTFT.cpp:452: undefined reference to UTFT::_fast_fill_16(int, int, long)' collect2: ld returned 1 exit status


majenko

Tue, 31 Dec 2013 01:00:59 +0000

It all works perfectly fine for me. Are you sure you have the directory structure right? On my Linux machine I have (cruft removed):

sketchbook/libraries/UTFT/UTFT.h
sketchbook/libraries/UTFT/UTFT.cpp
sketchbook/libraries/UTFT/DefaultFonts.c
sketchbook/libraries/UTFT/memorysaver.h
sketchbook/libraries/UTFT/hardware/pic32/HW_PIC32_defines.h
sketchbook/libraries/UTFT/hardware/pic32/HW_PIC32MX340F512H.h
sketchbook/libraries/UTFT/hardware/pic32/HW_PIC32.h
sketchbook/libraries/UTFT/hardware/pic32/HW_PIC32MX320F128H.h
sketchbook/libraries/UTFT/hardware/pic32/HW_PIC32MX795F512L.h
sketchbook/libraries/UTFT/tft_drivers/ili9325c/initlcd.h
sketchbook/libraries/UTFT/tft_drivers/ili9325c/setxy.h ... etc ...
sketchbook/libraries/UTFT/keywords.txt
sketchbook/libraries/UTFT/examples/chipKit/UTFT_Demo_320x240/UTFT_Demo_320x240.pde

ozneteast

Wed, 01 Jan 2014 16:14:24 +0000

I installed everything the same way on a windows machine and got it going, must be something about the Mac.

Unfortunately, now I get an error in UTFT stating that I have an unsupported PIC 32 MCU...

I'm guessing I can probably take one of the other pic32 hardware files and modify it to support the 32mx460f512l. I am trying to find out now how I can map the pins correctly. It looks like the LCD is 16 bits, with one entire 8 bit port connected, and then the rest of the pins are scattered among the other ports.

At least it compiles if I tell it I am using a chip kit uno now. Thanks!