In my opinion, using a Graphics LCD would be better for an oscilloscope than the alphanumeric dot-matrix Hitachi 44780 LCD. If you proceed with Graphics LCD, we have the GraphicsLCDIntf component which makes it easier to interface. Else for the Hitachi LCD you can use the Character LCD component for interfacing.
Here are some example projects you could use to get started with this:
ADC - DMA approach seems good. Go ahead
There are several PSoC projects based on ili9341 GLCD. E.g. this one:
Search Cypress forums for "ili9341". This is sharp low-cost screen, which may be ok for such project.
1 of 1 people found this helpful
some time ago I developed a custom component in PSoC Creator for the ILI9341. You can find all the required code, together with some examples, on GitHub at this link: https://github.com/dado93/PSoC-ILI9341
I would be very happy if you would like to improve the exisiting code.
Attached is a sample project using ILI9341 library I ported from mbed to PSoC 4 and now to PSoC 5LP.
At first I used this library for my first posting sample last year.
Adafruit 2.8" TFT Touch Shield.
But I hope that it will work with SPI driven ILI9341 TFTs...
In the TFT.h there is a list of available APIs. (Note: Not all of them has been tested)
void TFT_Init(void) ;
void TFT_BackLight(int mode) ; /* 0: off 1: on */
void TFT_BusEnable(int mode) ;
void TFT_window(int x, int y, int w, int h) ;
void TFT_pixel(int x, int y, unsigned short color) ;
void TFT_WindowMax(void) ;
void TFT_window_pushpixel(unsigned short color) ;
void TFT_window_pushpixelN(unsigned short color, unsigned int count) ;
void TFT_cls(void) ;
void TFT_set_orientation(int orientation) ;
void TFT_FastWindow(int mode) ;
int TFT_sizeX(void) ;
int TFT_sizeY(void) ;
int TFT_width() ;
int TFT_height() ;
void TFT_foreground(unsigned short fg) ;
unsigned short TFT_get_foreground(void) ;
void TFT_background(unsigned short bg) ;
unsigned short TFT_get_background(void) ;
void TFT_circle(int x, int y, int r, unsigned short color) ;
void TFT_fillcircle(int x, int y, int r, unsigned short color) ;
void TFT_line(int x0, int y0, int x1, int y1, unsigned short color) ;
void TFT_hline(int x0, int x1, int y, unsigned short color) ;
void TFT_vline(int x, int y0, int y1, unsigned short color) ;
void TFT_rect(int x0, int y0, int x1, int y1, unsigned short color) ;
void TFT_fillrect(int x0, int y0, int x1, int y1, unsigned short color) ;
void TFT_locate(int x, int y) ;
int TFT_putc(int value) ;
void TFT_character(int x, int y, int c) ;
void TFT_putstr(char *str) ;
void TFT_Bitmap(int x, int y, int w, int h, unsigned char *bitmap) ;
// void TFT_Bitmap_BW(Bitmap_s bm, int x, int y) ;
// int TFT_BMP_16(int x, int y, const char *Name_BMP) ;
void TFT_set_font(const unsigned char* f ) ;
P.S. Long ago, I wrote an oscilloscope program in mbed, but have not written one for PSoC, yet.