Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years ago.
Rendering BMP/ICO files using RA8875 API.
Hi.
First of all I would like to thank you for writing this API, I have found it very helpful. However, I am having some trouble with rendering BMP and ICO files using the API. I currently have those files on my mbed, which is the LPC 1768. I am attempted to render these files onto the screen.
what i'm trying
#include "mbed.h" #include "RA8875.h" LocalFileSystem local("local"); Serial pc(USBTX, USBRX); const char * files[] = { "/local/Test1.ico", "/local/Test2.bmp", "/local/Test3.bmp" }; RA8875 lcd(p5, p6, p7, p12, NC, "tft"); int main() { int i; RetCode_t r; pc.baud(9600); // I like a snappy terminal, so crank it up! pc.printf("\r\nBitmap Test - Build " __DATE__ " " __TIME__ "\r\n"); // The declaration constructor (above) doe not bring the display online properly // (and the following is needed) lcd.init(); // Preset the test lcd.puts(0,0, "Graphics Test"); wait(3); for (i=0; i<sizeof(files)/sizeof(files[0]); i++) { pc.printf(" TestFile {%s}\r\n", files[i]); r = lcd.RenderBitmapFile(0,0, files[i]); pc.printf(" RenderBitmapFile returned {%s}.\r\n", lcd.GetErrorMessage(r)); wait(5); } pc.printf("Test end.\r\n"); }
When trying to use .bmp files, I am getting a file not supported error. When adding an ico file and replacing the relevant parameters I am getting a file not found error. I am incredibly confused by this seemingly non-sensical behaviour. Any tips?
Thanks
Question relating to:
1 Answer
8 years ago.
Hi Mrinank,
I just tested with my current library and it is working fine for me. One thing I never addressed, if the image file exceeds the screen boundary, it doesn't work well. [If the bmp is too big for the screen, or the x,y offset + width or height exceeds the screen size]
First - are you using the latest RA8875 library? Version 122 is what is on the https://developer.mbed.org/users/WiredHome/code/RA8875/ page.
Next, have you tested other features? basic drawing samples - to ensure that your display is wired correctly to your mbed?
BMP files come with a variety of options, color depth, internal palette and so forth. I've tested many, but perhaps not all possibilities.
If you reach this point, then you may have to enable the debug settings and review the bitmap reading and rendering in action. At the top of RA8875.h you'll find #define DEBUG "RAIO", which you can uncomment. Build and run the code, and have a serial terminal connected. There is a similar #define in GraphicsDisplay.cpp. Between the two of these, you'll get a lot of data on the serial port, but if you look through the bitmap rendering, you'll see what they are reporting...