Enrollment closes in
Days 0 Hours 0 Mins 0 Secs 0
OK, i took the LCD and connected to a riot board instead and after a lot of faffing around have now got Ubuntu linux displaying correctly on the LD, still no touch screen but atleast having he display working
I found the reason why the screen appears to write data flipped and rotated or not as the case may be...
When I was testing out memory mapping, my lines and pixel that I drew to the screen went exactly where expected even though I didnt realise this at the time whereas stripping out raw data from a bmp image appeared to draw to the screen upside down and backwards... strange!
I'm including bmp decoding and conversion from standard 32 bit to 24bit routines which meant that I wanted to understand the bmp header data and parse this in order to automatically strip out the image data and find the width / height etc... from the file so I can have smaller images and also move the images around on the LCD screen. My current setup means i've created a test imaging suite on my computer so I can test my image library on a 480x272 window to imitate the LCD on my computer so I don't have to copy it to the xplained for every single test (it was getting a bit repetetive).
When I tried drawing the bmp image data into my test window, lo and behold just as odd results appeared, this time not only flipped and upside down but also the colours were all screwy...
So whats going on??
It turns out that the image data in a bmp file is stored backwards or backwards to some extent... You can't just read the image data backwards like I first tried, this messes the colours up and where the image was only flipped vertically, it now flipped horizantally too. where we are used to colours being seen as RGB, the bmp format saves them as BGR.
If you look at a pixels colour value, it looks something like
If it just gets reversed it then looks like 1FE230 but that completely messes the values up, we really need to make that value F12E03.
So splitting it into a list with each element having 2 characters and then reversing the list solves the problem with the colours, the next problem is solved by making a list of all of the rows and reversing that too. That performs a vertical flip on the image and corrects it.
my final list set is a 3dim list[row][column][colour value] properly orientated.
So it turns out that the LCD displays just fine and with the right orientation, it's the bmp format thats all messed up. I really don't know why the data is stored in such a way but I would really love to find out, there must be a reason surely?? I can't move on until I find out... I need closure
It's been fun solving this one, and a valuable addition to my graphics library. It also explains why bmp's take some processing time before they appear on a computer screen, not as noticable these days but still there.
Hope this helps anybody, personally I spent a great deal of my free time over a couple of days trying to get the screen itself to display the other way around only for it to not be the screen at all...
Well the good news is that by following astro27 excelent install guide for debian on the SAMA5D3 board and extending it I now have MQTT server running, Xwindows, a GCC, Geany and a bunch of other packages (Alas still no LCD though)
I am attempting to map out some of the GPIO settings to go with the export commands to see how much of the functionality can be used, anyone had a good go with I2C yet ?
anyone figured how to enable the ADC/PWM functionality ?
I will post my review this weekend, I am currently writing it up, don't worry astro27 you will be given credit for your hard work, your tip about using the RPI guide for the GPIO led me to search and try a few other things that also seem to work
Oh, I also have an 8GB SD card working from the image, following my earlier post on the RIOT board and adjusting for the different mounts, it worked on this board nicely so plenty of room for more packages
in case anyone else needs to do it, it can be found here http://www.element14.com/community/community/designcenter/single-board-computers/riotboard/blog/2014/06/13/debian-on-riotboard--after-basic-install-adding-a-gui-desktop, just make the changes to the second partition, not the first, it should be called /dev/mmcblk0p2 (oh and the patch is not necessary either)
hope this helps some of you
The graphics issue is a silly stumbling block. I have tried for weeks but am no further.
I have been able to cross compile simple programs which means the potential is there, just let down by the state of the drivers.
I'm not sure you can get a console with just the demo packages. When you log into it through a host computer, it's that computers display manager that is showing the output not the Sama5d3 itself. I don't think the Poky distro comes with any such display manager. I have been in the process of making a graphics library and one of my offshoot projects will be to make a basic console in Python.
There isn't a package manager (apt-get) type thing with the distribution either, I did read up that there is a lightweight one available that works with Poky but this would involve recompiling the distribution yourself to include it. I am planning on recompiling it with some features and changes that I think would make the board more useful on the whole but this is more likely something that I can't get around to until after the reviews are due in. I am planning on doing it though in order to familiarize myself more with Poky Yocto since it is becoming more popular.
If you look at Greg Fenton's roadtest page, he has included a link showing how to get Debian up and running on the board. I have chosen against this route because it includes booting from an SD card rather than installing it on the board (the image is too big for the 256mb nand flash) and also, having only 256mb sram in my opinion the xplained board just isn't a suitable candidate to run it; although I do understand the time, effort and frustration that must have gone into porting it over.
Has anyone managed to get the console for Linux working on LCD on the sama5d3 yet, I have spent all day today at this and im getting very frustrated with it as it seems are a lot of others (I have messed with it for way too long so far)
I accidently loaded the 4.6 image ftp://ftp.linux4sam.org/pub/demo/linux4sam_4.6/ and while it did not boot completely it did start to display the boot logo onto the LCD but later crashed at the point it should have shown the booting processes but it could help a better Linux person than I am to figure something out
I am really hating Pokey about now , anyone got debian working, the lower levels of Linux are not my thing and I have been unable to figure out the pokey equivalent of apt-get even... help anyone , no compiler, aggggghhhhhhhh.
everyone else has gone silent for a while, I also tried the LCD on the RIOT board but so far no joy, I was expecting this to be a "What can I do with the parts", not "How do I even get them to work"
I used the guide here http://www.atmel.com/Images/Atmel-42328-Using-SAM-BA-for-Linux-on-SAMA5D3-Xplained_Training-Manual_AN8995.pdf originally found by Greg Fenton and that worked straight away. I too tried installing the tools you did and with no success at all. Im using Linux, but there should be a section in there for Windows too... The guide is straight forward and explanatory.
Before I used it, I uninstalled all of the other samba stuff I'd tried to use so there were no crossed links etc..
Please can anyone explain how to install sam-ba tool on windows. I have tried it multiple times but not have been able to run it. The link i used is"Atmel SAM-BA In-system Programmer" and have installed the atm6124 USB CDC signed driver for Windows (XP, Vista, Win7, Win8) drivers given on the same page. First it said gadget serial 2.4 in the device manager but after i installed the above drivers now it says at91 USB to serial converter. The usb controllers section in the device manager doesnot show the board as connected. Should i install any other drivers than the above drivers. Also a COM port is assigned to the board in device manager "at91 USB to serial converter(COM26)" but the sam-ba programmer doesnot include the com port. Please let me know Where am i going wrong.
I've just started working on memory mapping the framebuffer in Python, It works very well and so much more straight forward than I expected! I'm able to draw individual pixels etc.. Im just starting some basic drawing functions (draw_line,draw_rect,fill_rect etc..), along with a standard colour library and a basic system font. I'm giving myself a week on this, Its definately a blast from the past writing drawing functions again!!