2014. február 10., hétfő

UV Lightbox 14. - Sections from the woodwork

I'm not really a friend of the handheld router (I had in my hands something like 10 years ago with not to much successs).
Based on this it is just ugly from inside:


From outside it looks quite nice:


The pencil drawing is still there and the holes for the buttons are missing.

The standing:
  • All parts of the frame already cut to its sizes
  • The hole for the display almost finished
  • The base plate finished
  • All of the light panels, the power supply, and the mains transformer screwed in.
  • Almost all of the cables in its place

(pictures comes later)

The things are missing:
  • The butttons of the display and the holes for it
  • Plugging of the frame
  • The holes for mains connector and the controller's plugs
  • The metal parts tightens the base plate for the frame
  • The acrylic bench
  • The tightening guides for the bench
  • The top cover and the hinges for it
  • Tightening the controller to the base plate
  • Sanding and varnishing
  • Writing the article :-)

2014. február 5., szerda

ARM Course 5. - The continuation

So I'm not happy. I was looking around on the course forum. The continuation will be released on 13th february.
I can do two things:
  • Wait (do other tings)
  • Start to work on the unofficial material

2014. február 4., kedd

ARM Course 4. - Comments to the Lab 7

The Lab 7 is not about the coding, but about understanding and modifying code written by others.
I read the original and found this:

  //S
  GPIO_PORTF_DATA_R |= 0x08;  delay(1);
  GPIO_PORTF_DATA_R &= ~0x08; delay(1);
  GPIO_PORTF_DATA_R |= 0x08;  delay(1);
  GPIO_PORTF_DATA_R &= ~0x08; delay(1);
  GPIO_PORTF_DATA_R |= 0x08;  delay(1);
  GPIO_PORTF_DATA_R &= ~0x08; delay(1);
  //O
  GPIO_PORTF_DATA_R |= 0x08; delay(4);
  GPIO_PORTF_DATA_R &= ~0x08;delay(4);
  GPIO_PORTF_DATA_R |= 0x08; delay(4);
  GPIO_PORTF_DATA_R &= ~0x08;delay(4);
  GPIO_PORTF_DATA_R |= 0x08; delay(4);
  GPIO_PORTF_DATA_R &= ~0x08;delay(4);
  //S
  GPIO_PORTF_DATA_R |= 0x08; delay(1);
  GPIO_PORTF_DATA_R &= ~0x08;delay(1);
  GPIO_PORTF_DATA_R |= 0x08; delay(1);
  GPIO_PORTF_DATA_R &= ~0x08;delay(1);
  GPIO_PORTF_DATA_R |= 0x08; delay(1);
  GPIO_PORTF_DATA_R &= ~0x08;delay(1);
  delay(10); // Delay for 5 secs in between flashes


Come on! Are you certain? Professionals write code like this? Tell me, this is a joke, not?
At least this. And this barely good enough:

    char i;
    char j;
    char delays[3] = {1,4,1};
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            GPIO_PORTF_DATA_R |= 0x08;
            delay(delays[i]);
            GPIO_PORTF_DATA_R &= ~0x08;
            delay(delays[i]);
        }
    }
    delay(10);

Do not panic. This is not the solution just the rewriting of the code above.
And this is the end of the 7th module. And what's next?
The 8th module is nowhere. To be precise "under development":
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/



2014. február 3., hétfő

Project idea - MSP430 BSL

Did you know that in the TI MSP430 Value Line (G2xxx series), especially the ones which offer 512B RAM in addition to the JTAG and SBW contains a serial BSL (bootstrap loader) ?I didn't. I realized this a few weeks ago. Since then I've an idea that I use in my next project (I've also a project for it now , but it does not belong here).The serial BSL have conditions. The device must be switched to this mode. In order to do this, however, the usual three-wire (RX , TX, GND) serial port is not enough, because you must use the TEST and RESET pins to achieve it.In addition, the problem is that today's computers are no longer has serial ports, and if  it has, the level shifting would be an issue (an addition MAX3232 required as minimum).So what we need is a USB port. The BSL solutions can be found on the internet typically has MCU and use lot of code in it. I thought that I approach the question differently. I'm going to use some USB/UART converter chip, which is able to produce additional signals to these three-wire serial port. It would be obvious to use some FTDI chip, but I haven't found that any what available at low cost.As I'm looking around, found two candidates:
  • Silicon Labs CP2102/2104
  • Microchip MCP2200
Why would they be capable for the task? Because both USB composite devices which in addition to the serial port has a HID device with 4/8 bit GPIO. This can be good for handling the TEST and RESET lines.The first of this two chips are not looks suitable for home made stuff, because the QFN package is not really kitchen table compatible (home soldering). I did not throw it out because it can be purchased as a ready made module for reasonable price (at pololu http://www.pololu.com/product/1308 and of course on eBay as well). On the other hand the second, however, seems to be an absolutely good choice (https://shop.chipcad.hu/Welcome/Default.aspx?scenarioID=360&search=mcp2200&searchShowSaldo=false&type=0) the prices start at $1.4 net.Both have (hopefully usable) PC API so there's no need to bother with the direct USB programing.So the idea of the project is as follows:Create a (two) reference circuit design along with a C# downloader for the MCU programming.

ARM Course 3. - Videos

In the mean time it turned out that the course videos are not only available on the YouTube but also available in the Amazon S3 (my favorite in these days). Here is the full list (just the first 7 module there yet):
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/VideoLinks.htm

2014. február 2., vasárnap

ARM Course 2. - Over the 6th module

I've finished the 6th module, written the necessary code. This module at least gave some useful information and writing the code needed more time than five minutes (it just because I haven't checked some prerequisite in the material).
Now I don't know how to continue. Half of the 7th module already done and I intend to finish it tonight, but no more modules released yet.

Project ideas

Millions of things whirling in my head. I'm thinking about electronic and mechanical projects worth for five years. I'm just starting to develop many of these in parallel, therefore the execution goes slowly or even left unfinished.
I think it would be a good idea just to write down these and when I have something to add just write to it but not start to develop as projects until most of the currently running projects are not finished.
This give the opportunity for the readers to comment it and if somebody needs the product just tell it to me in comment or personal message, the project may get higher priority (I said "may". I can't promise anything right now).