Devo10

More
11 Sep 2012 04:25 #1503 by PhracturedBlue
Devo10 was created by PhracturedBlue
I have started work on the Devo10.

So far I've imported my original code supporting all known I/O
I've imported the GUI code xCometz did, and added a buffered screen to allow pixel-level access and god performance
I've reorganized the code to allow sharing of graphics primitives
I've re-organized the emulator, and built an emu_devo10 target with the 128x64 screen

So now the big question is what the GUI should look like.
My current plan will likely be similar to the Devo10 GUI (basically hierarchical list-boxes). I plan to try to map the existing Devo8 page structure to the devo10 as closely as possible.

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 04:29 #1505 by FDR
Replied by FDR on topic Devo10
Yep, I think it should be similar in structure, but without buttons...

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 05:13 #1508 by FDR
Replied by FDR on topic Devo10
I've built the emulator, but it crashes immediately on Windows:
$ emu_devo10
Brightness: 9

Deviation
BootLoader    : 'DEVO-08-Emu'
Power         : '100mW'
SPI Flash     : '12345678'
CYRF Mfg Data : 'F8 A4 79 00 00 00'
Brightness: 9
Assertion failed: 0, file target/emu_devo10/lcd.c, line 55

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 05:48 #1510 by PhracturedBlue
Replied by PhracturedBlue on topic Devo10

FDR wrote: I've built the emulator, but it crashes immediately on Windows:

I should have clarified...
That is expected. At the moment it is trying to load the Devo8 GUI which doesn't fit on the Devo10 screen. I have a hacked main.c that disables that by completely disabling the GUI, but it isn't useful for anything at the moment.

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 11:47 #1516 by xCometz
Replied by xCometz on topic Devo10
Hi All,

I had a bit time yasterday and continued Devo10 porting preparation, all switched, button, analog inputs and LCD work very stable now. First local commit is done but I had little problem with push into Bitbucket. It worked at office with Win7 but at home I have WinXP and I just found some difference in Mercurial installation. I'll try again this night.

For some info, at this momment I maked the LCD driver, just I liked I said before, as 'virtual' TFT driver with active window access area, so the rest code in screen folder worked just only with small changement in:

lcd_gfx.c -> LCD_Clear to 128x64
lcd_string.c -> LCD_PrintCharXY -> also drawing pixel '0' (there is no background graphic?)
and some font .h files, I think we must change font .h files since some of them not top-down type

With this LCD driver we can make the rest gui code for Devo 10.
Maybe next step I will rewrite all lcd, font and graphics handling to accelerate LCD drawing.

I bought my Devo10 as entry point to modeling and want to use it first with flight simulator with PPM interface. Is PPM already in the mailstone?

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 13:14 #1518 by PhracturedBlue
Replied by PhracturedBlue on topic Devo10
xCometz,
I've done a lot of reorganization since you last pulled, and I've already installed the driver in the current code-base. You definitely should see where I am and compare to the changes you made.
I didn't have any issues with LCD_PrintCharXY. What do you mean it draws pixel '0'?
Many of the font files that are there aren't currently in use or supported. We only need font-ubuntu-narrow-12 for now. It may be a good idea to create a smaller version of that, since while it looks nice on the screen, it is quite large.
My LCD implementation is already accelerated, there is no need to rewrite the functions. The GUI code will need some more work, since we'll basically be more heavily using list-boxes in the GUI, and it is necessary to get the background bitmaps disabled.

I have found it much easier to be able to test with the emulator than on real hardware. It should be possible for you to install he relevant libraries and run:
make TARGET=emu_devo10
which should behave exactly like the transmitter does.

PPM is not supported yet, though it is on my TODO list. It isn't very hard to do.

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 15:15 #1521 by xCometz
Replied by xCometz on topic Devo10
Hi PB,
I just read your update. You are so fast!
I added something LCD_PrintCharXY for my test so I didnt need to clear text first before I write in same position.
Did you fix the button position for devo 10? I found some trim button not right or at least not at same position like in devo 8. My code is at home and I cant compare which one are these.

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 15:39 #1524 by PhracturedBlue
Replied by PhracturedBlue on topic Devo10
Well, you did all the work of getting the LCD initialization right. The rest was easy. So thank you.
I did not fix the buttons. It is pretty easy to change the map table once you know which are which. I think i have the row and column drivers correct at least.

Please Log in or Create an account to join the conversation.

More
12 Sep 2012 07:01 #1554 by xCometz
Replied by xCometz on topic Devo10
I saw in your LCD driver that you make framebuffer in MCU instead using RAM on LCD board. I use LCD Board RAM since I am sure that LCD connection is a x88 type then I can read pixel data from LCD with correct timing. Read-Write timming setting on STM32 cannot adapt our LCD timming correctly so I made it with delay in HCLK times.

I could not push into Bitbucket at home last night (authorization failed), but I found the problem just now, that was username case sensitive and finally I pushed my first commit.

Please Log in or Create an account to join the conversation.

More
12 Sep 2012 12:19 #1559 by PhracturedBlue
Replied by PhracturedBlue on topic Devo10

xCometz wrote: I saw in your LCD driver that you make framebuffer in MCU instead using RAM on LCD board. I use LCD Board RAM since I am sure that LCD connection is a x88 type then I can read pixel data from LCD with correct timing. Read-Write timming setting on STM32 cannot adapt our LCD timming correctly so I made it with delay in HCLK times.

I could not push into Bitbucket at home last night (authorization failed), but I found the problem just now, that was username case sensitive and finally I pushed my first commit.

Using the RAM in the LCD will slow down the system tremendously. I'm not having any timing issues so far with the solution I have now. The benefit of the solution I have is that we only update modified data, and we do it a byte at a time without read-modify-write.

Please Log in or Create an account to join the conversation.

Time to create page: 0.042 seconds
Powered by Kunena Forum