Physically and Logically Clean

Plenty of goings-on in the last week or so. Firstly, I finally cleaned up my small desk where I work, so I don’t keep having to sort through a jungle of wires to get to what I’m currently working on. Unfortunately I didn’t take a “before” picture before I started the clean-up, but suffice to say that it wasn’t pretty.

I like the new minimalism – my Acer Aspire One now charges next to my bed, rather than on the desk. That gives me more room to work, and since I use the AAO at University every day, there’s really no need for it to take up valuable desk space.

Don’t mind the odd-looking umbrella-carrot things – they are just chocolates from Easter which I was munching on while working. One thing I can see about the Swiss people without having met any of them; they make damn good chocolate.

Secondly, I also took a picture of Casainho’s donated SAM7 board and JTAG cable, which I neglected to do last time:

Again, thanks to everyone who’s sent me equipment for my AVR hobby. Eventually, LUFA will be ported to the AVR32 UC3B and ARM7 architectures, which will open the doors for even more platforms and hopefully push LUFA into mainstream use. Or, at least, expand the user base a bit.

Thirdly, I’ve just received word from Atmel that they have agreed to allocate more PID values to the LUFA project for more demos. Atmel have previously donated a small block of 16 PIDs inside their 0x03EB VID namespace exclusively for my use in LUFA demos, and I’m thrilled that they see the value in helping out further. I’ll post more once I find out exactly how many more values they will donate, but I’m just happy that they are promoting a project which obviously benefits them, rather than ignoring it (or worse, trying to destroy it). PID values are very important – along with an accompanying VID value in a USB device they are used to uniquely identify a product in the world so that drivers can bind without user prompting. VID and PID values are usually purchased for quite a lot of money, but with Atmel’s donation LUFA can use unique VID/PID pairs for each of its demos without fear of clashes with other devices.

Fourthly, I’ve been working heavily on the LUFA API and documentation this past week. After clarifying with Atmel support that the FIFOCON bit being set on a CONTROL type endpoint won’t, in fact, make the universe implode I’ve managed to finish -for now, at least – a large set of API cleanups. Users will hate me once the next release comes out, but it comes with migration information as always and most changes should be a simple find-replace affair.

The value in all the changes are twofold. Firstly, some of the changes are in response to some API flaws, which prevented applications from determining if an empty packet has been received from another attached USB device. That led to serious problems in the CDC demo, which relies on empty packets to terminate buffering of data on both ends of a virtual serial port. Secondly, it’s cleaned up the API so that everything is named in a similar matter which should prevent users from having to keep looking back in the documentation to discover how a particular macro or function is named.

As mentioned, the documentation is now greately improved in the latest SVN revisions. Whereas previous LUFA versions’ documentation took a file-based approach, the new documentation is module-based. This means that the exact implementation of how parts of the library are arranged physically are no longer exposed to the user – instead, the user is presented with the name of the header and source files each module uses, as well as a logical grouping of the module’s contents.

Observe. The old way of finding out the library contents:

Verses the new way of navigating the library:

Big improvement, no? There’ll be more to come in the next release, including lots of bug fixes, but I like what’s been achieved so far.

 

Comments: 3

Leave a reply »

 
 
 

Hello,

I’ve been playing with LUFA on AT90USB162 based board ( http://code.google.com/p/avropendous/ ) and made a simple USB-JTAG interface using it, I integrated it with UrJTAG and openOCD (still under development). Primary reason being able to replace Parallel port JTAG cable for CPLD programming. Do you think other people would be interested in this project ?

 

Vladimir,

Yes, I’ve no doubt Casainho and others will be very interested. If you send me the link to your LUFA project, I’ll include it with the other LUFA links in the documentation, to increase its visibility. When you’re done, I suggest submitting it to AVRFreaks’ projects section as well.

– Dean

 

Hello I created a project on googlecode with all the sources and patches for UrJTAG and openocd. Take a look when you have time.

 

Leave a Reply

 
(will not be published)
 
 
Comment
 
 

 

Vital Stats

  • 35 Years Old
  • Australian
  • Lover of embedded systems
  • Firmware engineer
  • Self-Proclaimed Geek

Latest Blog Posts

RSS