Please note that the information portal is still a work in progress. If you have any ideas or suggestions please respond here or drop by the Gadget Factory IRC channel.
I've received a lot of amazing feedback since starting the Gadget Factory IRC channel. The things that people are saying really need improvement are:
Multi-Platform Support
Better Organization
Easier to find where the information is
As a first step I've started with organizing/cleaning up the source code. I also propose moving over to Github for hosting the source code, the easy collaboration this affords is well worth the effort. In the process of moving the code to Github we will implement a directory structure that is a little easier to understand. Ian and I are also going to start talking about how we can make the information easier to find, right now it is very confusing, I'm personally never sure if I should be looking at Gadget Factory or Dangerous Prototypes when I need to find something.
For the Multi-Platform support, I spent some time thinking about the best way to accomplish that goal and realized that we can reuse the Arduino build system to quickly and easily get up and running. The Arduino IDE is a Java based app just like ours is, if we just modify their build scripts we can quickly accomplish multi-platform support without re-inventing the wheel.
So along these lines I've got the Arduino build system working for Windows and have checked it into a new repository at Github. Right now the build system only builds Jawi's Client and the OLS_Upgrader script for Windows. Over the next couple of days I will continue to work on getting all of the source code checked in and builds for Windows, Linux, and OS X working.
We should have an automated Multi-Platform build system in place very soon if all goes well. Please keep watching the Github repository for progress, and any suggestions are welcomed. Once the kinks are worked out we will make an official 3.06 release and going forward we will be positioned to make releases much more frequently. Between the automated system and all of the amazing contributions we have been getting I think we are about to see some exciting improvements to the OLS.
Here is a package that eliminates the hassle of getting up and running with the latest "Demon" Core. Included is Jawi's latest client and an upgraded version of the OLS Upgrader. The OLS Upgrader will step you through the process of upgrading your OLS to the newest firmware. As a bonus the OLS Upgrader has been upgraded to work under both Windows and Linux.
When I was debugging the UART communications last week I discovered a new way to debug internal FPGA logic. I put together a screencast for those who are interested in using their OLS to debug internal FPGA logic.
We are starting to ramp up with production of OLS boards over at Gadget Factory to make North American orders quicker and to ease shortages while Seeed Studio is out of stock.
As always, the profit is shared between Dangerous Prototypes and Gadget Factory. Purchasing directly from Gadget Factory allows Ian and I to make a couple more dollars per board sold and is always appreciated.
I recorded this a while ago and posted to my blog but I just realized I never posted to the forum here. Here is a video that shows how to put the OLS into the channel test mode to make sure that all of your channels are working as expected.
The neat thing about this installer is that it will automatically install the OLS device drivers for first time users. I was unable to test the driver installation on a 64 bit Intel box so if anyone sees any problems please respond to this post.
I'm attaching the cost analysis and the numbers are pointing to a suggested price of $62.
The suggested price is based on the following: Sheet 2 shows the same type of cost analysis done for the Arduino. The Arduino has a 70% markup when 1K quantities are used, I always try to match that number since it should be safe to assume that is what our market will support. Going below that means that when it comes time to make a discount for resellers our margin goes below 50%, in my mind that is bad because that means the resellers make much more money then we do (remember we split our portion of the markup).
Assembly costs are not included because I don't have any way to know what the Arduino assembly costs are.
If we ignore the suggested price and go with $49.99, which matches the Flashy price, then we have a markup of 63% and if we give a 30% discount to resellers then we have a 47% markup.
So I think if we are ok with a $49.99 price then we should see if we can squeeze out any better pricing on parts somewhere.
Please let me know if there are any issues encountered with the new installer. There is a linux installer in the works. Keep watching this forum or the Gadget Factory blog for an announcement when it is ready.
Here is a new test release that makes it possible to dynamically change the memory depth directly from the OLS client by simply selecting channel groups. If four channel groups are selected then 6K of memory will be available, if two channel groups are selected then 12K is available, only one selected group gets the maximum size of 24K.
We made some pretty significant changes to the Gadget Factory website which had the unavoidable side effect of breaking some links. I've gone through and updated all of my forum posts and the wiki with the new links but there are still probably some more out there. Please respond here if you see any links that look out of order.
In the meantime links can be corrected by simply changing any links from www.gadtetfactory.net to gadgetforge.gadgetfactory.net.
A couple videos were recorded and posted to the OLS project page with the intention of helping anyone who wants to modify the Sump VHDL code get oriented. The videos can be viewed here: http://gadgetforge.gadgetfactory.net/gf ... dapp_id=28
There are 4 overview videos that just give a brief tour of the project. (Be sure to click the "Read More" link to see all 4 videos)
There is one video that covers TODO item #20 that is open in the project tracker: We are trying to create a single bitstream that can dynamically change its memory configuration based on the channel groups that are selected in the client. Currently the end user has to load one bitstream to select 8 channels with a memory depth of 24K and another bitstream for 32 channels with 6K samples. We want to make it as simple as deselecting memory groups. http://gadgetforge.gadgetfactory.net/gf ... item_id=20
I'm very interested to hear any ideas people have about making it easier to contribute code and participate in improvements. A couple things I've been thinking about are: -Moving from svn to git to make distributed development a little easier. -Making better use of the trackers on the project page for feature requests and direction of what still needs to be done. http://gadgetforge.gadgetfactory.net/gf ... c/tracker/
Attached is Test Release 2.11 that adds/fixes the following:
-Extends memory depths from 8k and 16k to 12k and 24k -Fixes RLE for all memory depths. (Note: Be sure that channel group 4 is selected when using RLE.)
We have two new test releases ready, both of them use SPI mode and will require an update of the PIC firmware and the FPGA-ROM. For those without a bootloader we will need to figure out how to get bootloaders installed before these test releases can be used.
Test Release 2.03 takes the standard 32bit4kinside bitstream and replaces the UART communications between the PIC and the FPGA with SPI communications. It speeds things up and will hopefully eliminate the communication issues people have been seeing. Please note that we have not really made any attempts yet to make it fast but you should see a speed increase, it will probably be much faster when we tune it.
Test Release 2.04 still uses the SPI mode but adds some goodies and a new version of the Java client. The Java client has an option to select the inside or outside numbering scheme and it also adds a test mode. If a ribbon cable is connected between the two headers and test mode is selected a test pattern can be captured. There is also a first attempt at enabling multiple memory configurations. If channel group 2 and 3 is disabled then 8k of memory depth should be available. If all channel groups are enabled then 4k of memory depth is available.
Please note that I have not done much testing at all with these releases and I'm hoping for help finding any issues.