MaJerle / stm32f429

Keil projects and libraries for STM32F4xx devices
https://stm32f4-discovery.net
2.16k stars 1.32k forks source link

Putc routine ignoring input X and Y positions #2

Closed dewoller closed 10 years ago

dewoller commented 10 years ago

Also ignored / deleted ancilliary files

MaJerle commented 10 years ago

Thanks for that. I made an update here, and also in my LTDC library for this LCD.

Thanks again!

dewoller commented 10 years ago

Hi Tilen

Thanks for all the work you have been doing on your libraries. They are VERY helpful.

I made a git that, when laid over the top of your project, allows it to be compiled / flashed from GNU linux. I can't afford the Kiel full version, and my projects are starting to be too big to compile with the free version.

https://github.com/dewoller/STM32F429_Blank_GNU

Feel free to use it.

If you are looking for another project, I want to make the touchscreen / gyroscope work via interrupts. That is my weekend project. If I get it working, I will submit a pull request to you.

Also, the diagonal line drawing algorithm is broken. (straight lines work, that is why boxes work).

Warmly Dennis

On 04/09/14 15:43, Tilen Majerle wrote:

Closed #2 https://github.com/MaJerle/stm32f429/pull/2.

— Reply to this email directly or view it on GitHub https://github.com/MaJerle/stm32f429/pull/2#event-160978997.

MaJerle commented 10 years ago

I'm using Keil, but libraries also work in GCC free compiler.

Well, for interrupt you need only to set corresponding pin for it in exti vector table and enable nvic. If you don't know how to enable external interrupt, I have a tutorial for this. http://stm32f4-discovery.com/2014/08/stm32f4-external-interrupts-tutorial/

dewoller commented 10 years ago

Yes, thanks, I am very happy that the library works on GCC.

Thanks for the tutorial.

Cheers Dennis

On 04/09/14 17:04, Tilen Majerle wrote:

I'm using Keil, but libraries also works in GCC free compiler.

Well, for interrupt you need only to set corresponding pin for it in exti vector table and enable nvic. If you don't know how to enable external interrupt, I have a tutorial for this. http://stm32f4-discovery.com/2014/08/stm32f4-external-interrupts-tutorial/

— Reply to this email directly or view it on GitHub https://github.com/MaJerle/stm32f429/pull/2#issuecomment-54418756.

dewoller commented 10 years ago

Hi Tilen

I rewrote the line drawing routines. The old routine would not draw diagonal lines, and I needed them. This implementation is also a bit simpler.

This probably also applies to the ltdc routines. See below:

void TM_ILI9341_DrawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color) {

int dx ; int dy ; int sx ; int sy ; int err ; int e2; dx = x0<x1 ? x1-x0 : x0-x1; dy = y0<y1 ? y1-y0 : y0-y1; sx = x0<x1 ? 1 : -1; sy = y0<y1 ? 1 : -1; err = (dx>dy ? dx : -dy)/2;

for(;;){ TM_ILI9341_DrawPixel(x0,y0, color); if (x0==x1 && y0==y1) break; e2 = err; if (e2 >-dx) { err -= dy; x0 += sx; } if (e2 < dy) { err += dx; y0 += sy; } } }

On 04/09/14 17:04, Tilen Majerle wrote:

I'm using Keil, but libraries also works in GCC free compiler.

Well, for interrupt you need only to set corresponding pin for it in exti vector table and enable nvic. If you don't know how to enable external interrupt, I have a tutorial for this. http://stm32f4-discovery.com/2014/08/stm32f4-external-interrupts-tutorial/

— Reply to this email directly or view it on GitHub https://github.com/MaJerle/stm32f429/pull/2#issuecomment-54418756.

MaJerle commented 10 years ago

Thats great. I will test and add code if it works properly. Thanks.

MaJerle commented 10 years ago

OK, I fixed this now. It works great. I also made your nickname in comment in function.

Thanks for code.

dewoller commented 10 years ago

I thank you! I would be lost without your work.

On 14/09/14 18:19, Tilen Majerle wrote:

OK, I fixed this now. It works great. I also made your nickname in comment in function.

Thanks for code.

— Reply to this email directly or view it on GitHub https://github.com/MaJerle/stm32f429/pull/2#issuecomment-55518984.