Ok, so I bought a FEX Cerb kit. All I wanted was a menu sideways. I asked for help in the forum. All I got was a bunch on non-sense and no help. I can get the picture to draw in portrait. I can get it to draw 3/4 the screen in landscape then it over writes at the beginning. I even posted a video. No help from GHI or anyone else.
So now I plug in the Raptor. For some reason it says to update the loader. It says to find Socket 3 and short pins 8 & 10. The schematic, layout, etc all do not go over the pin outs. Nothing. Just these two pins and the pins are not numbered. The Microsoft search says to refer to the schematic. But without the orientation - I donât know how you do this.
So I have roughly $300 worth the stuff and I cannot get one cpu board to make horizontal text and I cannot get the other board to accept the program from VS. It just keeps saying it it cannot write to USB:GADGETEER.
Why I have to reflash a board I just purchased a week ago I donât understand. But I have to say - this product seems horribly managed.
I understand youâre frustrated, but thatâs not something I can help you with.
What I can help you with is a couple of things.
First up, I agree, the rotation question hasnât been taken up by anyone in GHI, but the driver is what it is and you or someone else if they wanted to could dig-in and figure out whatâs going on. I would suspect thereâs some form of x-y array held in the driver that might not be bounds checked for switched orientation. But I havenât looked.
The reason why a device needs a new bootloader is because the device is manufactured at some point in time, who knows how long ago, and uses a production-deployment of firmware and probably test app to help prove the device operates. Then itâs packed and potentially shipped to resellers etc, and then sold on to you and shipped and finally arrives with you. Between that time, the software team at GHI have released a new version of everything - or maybe they havenât, but that doesnât matter, because the first rule of NETMF is making sure the firmware version and the SDK version you have installed matches. Itâs less important that youâre using the latest (although there are lots of things that would mean youâd want to use GHIâs 2013-R3 release) but the SDK you have on your PC must match the firmware otherwise it just wonât work.
So thatâs the why. Now the how.
The pin layout within a socket is a well documented piece. I donât know what document you were reading that said otherwise. Hereâs the simplest reference⌠https://www.ghielectronics.com/docs/120/gadgeteer-sockets Itâll clearly show you where, in relation to the notch, where the pins you need are.
In addition to what Brett recommended, I would highly recommend that you read over the Gadgeteer Module Builders Guide. Even if you do not plan on building any modules, this will help you get a much better understanding of the inner workings of Gadgeteer.
As for the display, we do not support rotation on the N18 display; however, we took note of it and we may support it in the future, as a ânice to haveâ feature. Of course this is an open source board/module you are using so you can modify to whatever you see fits, which you did already.
As for the update, this is normal for a new device to need a new Software update, just like any phone/tablet/PC. If the instructions are not clear, just ask and we will gladly update the docs and explain all the details you need. I see Brett and Ian already posted some good links.
Please let us know what we can do to improve and make this better for you.
Let me just add: As a beginner with software background, it can be quite a challenge to start tinkering with these devices. This is tinkering, not lego-blocks.
In many case you can plug modules together, and have something working quickly. But as soon as you start moving outside the beaten path (rotating a display or attaching a weird sensor) you start tinkering. And tinkering is really fun, for most of us - although it can be difficult and challenging, and also expensive. Tinkering is the core of the Arduino community, and the maker movement.
GHI has made tinkering even more rapid, but it is still an open platform with lots of loose ends and unexplored areas.
At times I am disappointed, because something I needed was not an off-the-shelf product, thats the way it is.
Welcome to the community, its fun and challenging!
EDIT: As for the specific problems you have, take them one at a time, and post them as topics, its difficult to help you when its difficult to narrow down. Lots of your challenges right now are beginners problems that we can iron out.
If a person has not taken the time to complete their use their profile, so I have a better idea of their skills and background, I am in no rush to respond to their questions.
my views are not necessarily shared by other community members.
The link Brett linked to for the Socket was perfect. I still think it should have been on the schematic but whatever.
Itâs pretty frustrating when you buy this stuff and cannot get a simple function to work, such as rotating the display.
Thatâs funny cause when I was specâing this stuff out - there is mention on the Catalog page about the Util functions to rotate the display. As I said, the driver seems to be badly designed. The display supports internal rotating mechanisms but the driver is still muxing bytes.
I would be more than happy to update the code on the drive to make it work. However, I donât know how to compile a firmware. Yes, that is what it would take to update the code. The part that needs to be modified is actually C not C# and it is in the device firmware. Which, doesnât really make much sense to me. You would think the hardware code would be in the device driver.
Absolutely. I canât remember ever grounding the pins on my phone to update it. Even as the documentation says. LDR1 and LDR0 functions do not work as they have not been programmed yet.
Well, I have a FEZ Raptor and FEZ Cerb and a N18 display, It would really make me happy to be able to rotate the display on one of them.
I havenât looked into the detail of the driver, but can you clue me up as to why you think the driver is not where this would need to be changed? The intent of Gadgeteer modules was that drivers are delivered mainboard-independent where possible, and that means that it leverages the core NETMF capability (in the firmware) but doesnât need native code. http://gadgeteer.codeplex.com/SourceControl/latest#Main/Modules/GHIElectronics/Display N18/Software/Display N18/Display_N18_42/Display_N18_42.cs is the moduleâs source that you looked at right?
Also, the connecting the pins thing - thatâs actually exactly what a button module does, so if you have one of those you can use it (Jeff@ GHI may need additional clarity in the Raptor doc? )
LCD rotate is not a standard NETMF feature but it is added to GHIâs premium offers, like your raptor. However, N18 display is not a âdirectâ display (connected to RGB sockets) but it is a API display so the internal support for rotate doesnât work on it. It will on any RGB LCD. This is what is the available support today but like I said I forwarded this to the team for possible future improvement.
[quote]So now I plug in the Raptor. For some reason it says to update the loader. It says to find Socket 3 and short pins 8 & 10. The schematic, layout, etc all do not go over the pin outs. Nothing. Just these two pins and the pins are not numbered.
[/quote]
We are sorry about the Pin references not being matched to socket arrangement in the loader documentation. Iâve fixed that in the loader documentation. I also have a request to the hardware engineers to see if they can either put a notch on each socket on the schematic or put a socket pin enumeration on its own as a legend.
I am a member of dozens (if not a hundred) different enthusiast forums that range across everything from photography to buidling racecars. I have to say that the folks on this forum are some of the most helpful and friendly Iâve dealt with. And I very rarely ever see such quick response from company employees as I do from the GHI guys.
So hang in there, be explicit in your needs and patient in your approach and youâll find great help along the way.
I agree.
I do customer support myself, and I know how disappointing it is to me sometimes, if I canât help them quickly on every problem. Sometimes itâs just hard to simulate the same problem, sometimes there is just not enough time to implement a newly suggested feature, even if it would be soo cool to have it.
Iâve read it over AND over and i canât make out what needs to be done⌠do i need two extenders one connected to the button and another connected to socket 3. then connect pin 3 of Ext1 to pin 9 of the other extender? I hope I didnât make it worst
You might consider adding some snap shots to the docs, they say a picture is worth a thousand wordsâŚ
Thanks⌠and sorry for high jacking the threadâŚ
There is a new hidden feature that letâs you post right on the docs It is almost done, maybe live e tomorrow. This should help with all docs feedback. Changes should come within couple days after a suggestion is posted and is approved.
@ Jay Jay - All the loader/tinybooter documents are undergoing review and improvement (including lots of nice screenshots). Weâve started with https://www.ghielectronics.com/docs/54/loader-tinybooter-g120-and-emx-families, not quite finished with that one. The others will follow. The priority is to do the ones not currently supported by FEZConfig.
Bah⌠You guys are trying to make something out of it is not. The Display supports SPI commands to rotate the display internally by changing the address scheme. Send the commands, send the image, life is GOOD. All you got to do is get the image width/height thing right.
Donât believe me? Here is a video of it WORKING exactly that way:
Too bad it is IMPOSSIBLE to get it to work right on the CERB because of the way you implemented the Mainboard.DirectBitmapToSPI() Jazz. Well at least I couldnât get it working. You would think the same driver would work but it doesnât.
Again, why mux bytes in the CPU when the display will EASILY do rotation with one command and one data byte sent?
Oh and if you are wondering why the example code includes all the gadgeteer code, well the simple graphics interface creates a bitmap on constructor and then you can never change the size again. I created an Reinitalize function to recreate the âframebufferâ bitmap at the new correct size. Maybe there is a better way⌠maybe there isnâtâŚ
I guess I could have pulled out the DisplayModule code and redid just thatâŚ
Whatever, this is exactly why you donât put all these code pieces in these places. It would be best just to have an interface, implement the interface, and put all the code in the driver.
Well that is just MHO⌠what do I know. I didnât even fill out my profile. LOL j/k
Well you right in one point: If itâs easy to rotate it, why not supporting it in the 1st place.
But N18 is OSHW I think. At least the drive is available as source
This means everything, including the driver is free available as source.
GHI Provides a good base to start with. If you need an additional feature: Feel free to implement it (like you actually did) and share it if you like.
And also to mention: The catalog lists the N18 Display as âbetaâ, right on top, near the price in red. This means for me: Might have bugs, and nowadays it also means: some features might not be implemented.