We are aware there is a bug in SPI, EDISON-2033. We are working on improving the SPI speed and fixing this bug. There are some suggestions and a discussion of the SPI fix in this thread Re: Edison SPI speed issue using ioctl() .
Looks like you are trying to do "bit banging" SPI vs using the built-in SPI. When I tried to do the same to control an LED strip, I had the same "slowness" (able to see it progressively light up each individual pixel) until I used memory mapped I/O, which you would have to enable with a call to mraa_gpio_use_mmaped.
Thanks for the response.
I had several problems using SPI port. So I decied to use 8 bit mode for the LCD.
The pins I am using like 8 bit data are 13,10,12,11,14,15,16,17 (B0,B1,B2...B7).
I am going to check the mraa_gpio_use_mmaped. May be I have the same problem.
I rewrote the code again.
Right now is faster than before...but it is still slow. Draw a line take around 0.14 sec (since draw 320 lines take 44 seconds).
But I cannot find any information about memory mapped, to bypass mraa library.
Do you know where I can find that information?
Currently there is no documentation of the memory mapping of the Edison. If you don’t want to use the precompiled version of mraa I’d suggest you to look into the mraa source files to see if there is something else you can change to make your project faster. mraa: Building libmraa .
Additionally, you can try to get higher speeds using the MCU https://software.intel.com/en-us/creating-applications-with-mcu-sdk-for-intel-edison-board