Sample code request eGui + TWR-K70 + TWR-LCD-RGB + MQX + CW

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Sample code request eGui + TWR-K70 + TWR-LCD-RGB + MQX + CW

Jump to solution
18,804 Views
michris
Contributor III

Hi,

Is there sample code available for the following setup ?

eGui

MQX 3.8.1

CodeWarrior 10.2

TWR-K70 & TWR-LCD-RGB (rev B)

This would really help me!

I tried to port K70_eGUI_PE sample code to MQX, but with no success so far. (see details and problem below)

I have a bare metal demo K70_eGUI_PE.

This is  eGui + PE+ CW10.2 for the TWR-K70 en TWR-RGB-LCD. It works ok.

I copied all D4D code into a new MQX 3.8.1 demo application. Compiling is ok, but it crashes in  d4dlcdhw_k70_lcdc.c when setting the DMA Burst mode register.

  //Set background plane DMA to burst mode

  LCDC_LDCR &= ~(LCDC_LDCR_BURST_MASK);

d4d_user_cfg.h :

#define D4D_LLD_LCD d4dlcd_frame_buffer   // the name of low level driver descriptor structure

#define D4D_LLD_LCD_HW d4dlcdhw_k70_lcdc

#define D4D_LLD_TCH  d4dtch_cr_touch

I don't get further than :

Main.c :

D4D_Init((D4D_SCREEN*)&screen_Demo);  

d4dlcdhw_k70_lcdc.c -> LCDC_LDCR &= ~(LCDC_LDCR_BURST_MASK);    // STOPS HERE !!


Any help/idea's are welcome!

Many thanks in advance

Regards,

Michris


1 Solution
12,951 Views
macl
Senior Contributor I

Here's a couple resources that might help.

This application note and software uses eGUI within MQX, but drives the TWR-LCD (through SPI or FlexBus) from a K60 (100MHz).  It shows how eGUI can be integrated into a project and serviced from a task.

AN4346

AN4346, Designing a Working Prototype using MQX ™ RTOS and Tower System for Kinetis Microcontrollers

This lab and software package uses PEG within MQX to drive TWR-LCD-RGB from a K70 (120/150MHz).

Build Your Own Embedded System (BYOES) – 2012 (exe)  Favorite

Build Your Own Embedded System (BYOES) LABs - Prototyping Systems at ESC 2012

Best of luck,

Mac

View solution in original post

21 Replies
12,807 Views
joelesco
Contributor III

Hi !

Do you have the  K70_eGUI_PE sample code again ? I'm looking for a code exemple with only  PE et CW and I saw this on a pdf.

Sorry for my english ...

Thanks for the help !

0 Kudos
Reply
12,805 Views
LuisCasado
NXP Employee
NXP Employee

Hi,

Have a look at this training.

Rename Solution_code.pdf to soultion_code.zip

Regards,

Luis

0 Kudos
Reply
12,803 Views
Gargy
NXP Employee
NXP Employee

Hi, here are two demo (snapshots) of new eGUI 3.0 running on MQX4.0.

I hope that this helps.

Both files are renamed zip files (I have it renamed due to email firewalls :-) )

I also add very early version of converter utility.

Petr

12,803 Views
Sebster
Contributor II

Hi Petr,

I tried the zipped demo (Demo_eGUIv3_MQXv4_CWv10.3) you provided in this thread and got what seems to be a hard coded path issues. Your original code seems to contain a hard coded path called C:\projectw\eGUI_CW... I searched everywhere in trying to locate where this path could be but I just can't find it.

Also note that I just imported your project into my CW10.3. I did not do anything else and immedately get the warning messages.

When I compile your project I get the error that you see per below. Again that seems to be related to that "unknown" path.


Could you possibly point me to the solution?

Thanks
Seb

DescriptionResourcePathLocationType
Invalid project path: Include path not found (C:\projectw\eGUI_CW_MQX_02_13\_Official_Demos\EGUI_D4D_Demo\TWR_K70N120\MQX\sources\D4D_Configuration).eGUIpathentryPath Entry Problem
mingw32-make: *** No rule to make target `C:\projectw\eGUI_CW_MQX_02_13\Demo_eGUIv3_MQXv4_CWv10.3\_Official_Demos\EGUI_D4D_Demo\TWR_K70N120\MQX\Sources\demo_screen.c', needed by `Sources/demo_screen_c.obj'.  Stop.eGUIC/C++ Problem
Invalid project path: Include path not found (C:\projectw\eGUI_CW_MQX_02_13\D4D).eGUIpathentryPath Entry Problem
0 Kudos
Reply
12,803 Views
trytohelp
NXP Employee
NXP Employee

Hi,

To answer this problem, you will find attached a doc explaining step by step the process to solve the path issues for the Demo_eGUIv3_MQXv4_CWv10.3.pdf project.

Hope this will help.


Have a great day,
Pascal Irrle

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
12,802 Views
Gargy
NXP Employee
NXP Employee

Hello,

Sorry I’m not author of this demo application neither familiar with CW10.x, but the errors points that you have to check all paths sets in project and also whole directory tree of the demo on our disk.

And also try to clean up the project.

Best regards

Petr

0 Kudos
Reply
12,802 Views
Gargy
NXP Employee
NXP Employee

Hello,

the release of new eGUI is coming :-) For those who are don't want to be patient, here is (as I hope) final package of source code of eGUI.

Please rename the file to EXE.

I also add the newest version of Doxygen documentation. just unpack the zip file and run the batch file or directly in generated output the index.html file.

Best regards

Petr

12,801 Views
Gargy
NXP Employee
NXP Employee

Hello,

the eGUI is officially moved to open source :-)

All next development will run under LGPL license on GITHUB server.

Here is link: Gargy007/eGUI · GitHub

Enjoy

0 Kudos
Reply
12,802 Views
jimmylim
Contributor I

Hi Petr,

     Thanks, the code sample code work well, i am able to read the 24bits bmp image file from the SD card and display on the LCD, but i failed to display the 24bits bmp from the C array image (which generated by eGUI Converter Utility 3.0Alpha in 24bit Color (8-8-8) with compression OFF) from the internal flash, the LCD just showing blank and with mouse cursor. Below is the generated code, i would like to ask do you have any working sample code which able to display 24bits bmp from the C array image?

     I also set #define D4D_BMP_16MNOPAL_ENABLE    D4D_TRUE

   

    Code generated by eGUI converter:

Capture.JPG.jpg

   Declare for screen:

Capture2.JPG.jpg

   D4D initialization:

Capture3.JPG.jpg

hope to here from you soon, or anyone else have answer for me, thanks!

0 Kudos
Reply
12,807 Views
ioanacroitoru
Contributor I

Hello Petr,

This code compiles with 17 errors on my side.

For example in d4d_font.c at line 740 I get:

Undefined : "d4dlcd_frame_buffer"

Why is that? d4dlcd_frame_buffer is not defined. Where should I put it? 

0 Kudos
Reply
12,807 Views
Gargy
NXP Employee
NXP Employee

Hi,

no idea :-(, Post here the screen shot of error.

Petr

0 Kudos
Reply
12,807 Views
ioanacroitoru
Contributor I

Hi Petr,

Sorry for the delay. I didn't get an update that you reply to me.

Anyhow here is the screeshot (I'm using twrk60j120m):

pastedImage_0.png

0 Kudos
Reply
12,808 Views
Gargy
NXP Employee
NXP Employee

Hi,

it looks that you don't have added into your project files of frame buffer and also CRTOUCH driver.

Just add it to your project and recompile.

Petr

0 Kudos
Reply
12,808 Views
Gargy
NXP Employee
NXP Employee

Hi,

do you have added in your project Frame buffer driver? Bacause this caused to select in configuration file that you are have selected Frame buffer driver like this:

#define D4D_LLD_LCD d4dlcd_frame_buffer   // the name of low level driver descriptor structure

But this files are not compiled in project. I mean files:

d4dlcd_frame_buffer.c

d4dlcd_frame_buffer.h

Please check this.

Petr

0 Kudos
Reply
12,811 Views
dereksnell
NXP Employee
NXP Employee

I wanted to share that I ran into a problem with the MQX demo, and found the resolution.

The demo installs a kernel ISR in MQX, and this requires the vectors to be in RAM so they can be changed dynamically.  My K70 BSP had the vectors in ROM by default, and this caused the D4D Init to fail.

To resolve it, add the line below to user_config.h, then rebuild the BSP, PSP, and the eGUI application.

#define MQX_ROM_VECTORS     0     // place vectors in RAM

12,811 Views
big_steve
Contributor III

Thank you very much, it helped.

After a day of work I get the LCD display finally to work. I converted the Demo for MQX4 and eGUI 3.0 and it displays a first screen. But there's now an another problem. The touch sence does not work. :-(

I verified the problem with examples in MQXes.
Example tchres_twr40x256 from MQX3.8.1 works OK, but

example tchres_twr40x256 from MQX4 doesn't work. Compilation is without errors and program runs. It just get's always no touch detection.

Both examples are identical and I configured the both MQXes same.

UPDATE1:
Bug is somewhere in ADC drivers of MQX4. To get the touch sense to work I had to replace files in MQX4 with files from MQX 3.8.1. I replaced:
..\Freescale_MQX_4_0\mqx\source\io\adc\adc.c

..\Freescale_MQX_4_0\mqx\source\io\adc\adc.h

..\Freescale_MQX_4_0\mqx\source\io\adc\adc_conf.h

..\Freescale_MQX_4_0\mqx\source\io\adc\adc_prv.h
..\Freescale_MQX_4_0\mqx\source\io\adc\kadc\adt_kpdb.c

..\Freescale_MQX_4_0\mqx\source\io\adc\kadc\adc_mk40.c

..\Freescale_MQX_4_0\mqx\source\io\adc\kadc\adc_mk40.h
..\Freescale_MQX_4_0\mqx\source\io\adc\kadc\adc_kadc.c

..\Freescale_MQX_4_0\mqx\source\io\adc\kadc\adc_kadc.h

Exactly for this reason I don't like to use the newest operating systems. :-)

Finally works the Demo and the tchres mqx example right. :-)

Should I report the bug to Freescale or will you take care of it?

0 Kudos
Reply
12,809 Views
Gargy
NXP Employee
NXP Employee

Hello,

this  point to known bug in MQX TCHRES driver.

There was forget check the right size of read data like (just example): if(2 != fread(&buff, sizeof(TCHRES_STR), 1 , &dev)).

Somebody forgot to compare the result to right read value and forgot in code old constant.

In attachment should be fixed file.

Petr

12,810 Views
big_steve
Contributor III

It works.

Thank you.

0 Kudos
Reply
12,810 Views
big_steve
Contributor III

Hi.

I am solving the same problem, but without success.

My configuration is:
eGui

MQX 3.8.1
CodeWarrior 10.3
TWR-K40X256 and TWR-LCD

The demo project "EGUI_D4D_Demo" under MQX 3.7 worked, but when i compile it under MQX 3.8.1 (compiling works ok, without errors) and flash it to MCU nothing appear on LCD. I had to update two lines of code in main but it has no impact on this problem.

The Compiled project under MXQ 3.7 has 140 kB and under MQX 3.8.1 it has just 100 kB.

I guess that there is some problem in drivers in MQX 3.8.1.

Pls, could you describe me how you get your system to work?

Thanks.

0 Kudos
Reply
12,952 Views
macl
Senior Contributor I

Here's a couple resources that might help.

This application note and software uses eGUI within MQX, but drives the TWR-LCD (through SPI or FlexBus) from a K60 (100MHz).  It shows how eGUI can be integrated into a project and serviced from a task.

AN4346

AN4346, Designing a Working Prototype using MQX ™ RTOS and Tower System for Kinetis Microcontrollers

This lab and software package uses PEG within MQX to drive TWR-LCD-RGB from a K70 (120/150MHz).

Build Your Own Embedded System (BYOES) – 2012 (exe)  Favorite

Build Your Own Embedded System (BYOES) LABs - Prototyping Systems at ESC 2012

Best of luck,

Mac