Implementing new USB device class on ASF?

All design tool related questions: compiler, assembler, linker. Embedded programming questions: assembler, C code.

Moderator: nferre

det3
Contact:
Location: Salt Lake City, UT
Posts: 2
Joined: Thu Oct 25, 2007 8:26 am

Implementing new USB device class on ASF?

Fri Jan 02, 2015 11:05 pm

I'm starting to work on a USB MIDI class driver for the SAMD21, and couldn't find any documentation or guidance on how to create a new class driver within the ASF framework. Specifically, the final device I'm going to have running will be a USB composite device that uses the existing CDC and MSC classes as well as the newly created MIDI class, and all I'm interested in is the interface layer between the ASF USB core and the associated class drivers. Is there any kind of documentation for this? 

Thanks!
Andy Peters
Posts: 46
Joined: Mon Jul 08, 2013 11:09 pm

Re: Implementing new USB device class on ASF?

Tue Jan 06, 2015 12:34 am

det3 wrote:I'm starting to work on a USB MIDI class driver for the SAMD21, and couldn't find any documentation or guidance on how to create a new class driver within the ASF framework. Specifically, the final device I'm going to have running will be a USB composite device that uses the existing CDC and MSC classes as well as the newly created MIDI class, and all I'm interested in is the interface layer between the ASF USB core and the associated class drivers. Is there any kind of documentation for this? 

Thanks!
This is a very good question. I'm going through this right now. ASF is would be more useful if the doxygen docs weren't useless and there was some discussion about how it can be extended.
ore51
Posts: 1
Joined: Thu Mar 12, 2015 4:32 pm

Re: Implementing new USB device class on ASF?

Sun Mar 15, 2015 2:11 am

has there been any progress on this?? i'm very interested and would much like some assistance on the subject.

i too am also looking through this. Im looking primarily at the keyboard examples hoping to spot something obvious that would make it a fairly easy change over. But ASF is terribly coded and hard to follow in some areas. I'm currently working with both the SAM D21 and SAM4L boards, as a lot of their examples are fairly similar to one another.
Andy Peters
Posts: 46
Joined: Mon Jul 08, 2013 11:09 pm

Re: Implementing new USB device class on ASF?

Sat Mar 28, 2015 12:44 am

awneil wrote:But, to be fair, it's not the fault of Doxygen - it's the way it's used.
That is very true. Unfortunately, too many programmers think that all they need to do is put the Doxygen marks in their code and voila, they have documentation.
Andy Peters
Posts: 46
Joined: Mon Jul 08, 2013 11:09 pm

Re: Implementing new USB device class on ASF?

Sat Mar 28, 2015 12:51 am

ore51 wrote:has there been any progress on this?? i'm very interested and would much like some assistance on the subject.
I haven't had time to do this. But I will, and soon.
But ASF is terribly coded and hard to follow in some areas.
If I wasn't going to use the USB peripheral on the SAM3U, I wouldn't use ASF at all. (In fact, I wouldn't be using an Atmel processor at all; before I decided that the thing I was doing should have High Speed USB audio support, I was going to do it in a Silicon Labs SiM3C167, which has a much better firmware "ecosystem" than the sprawling mess that is ASF. And better documentation. And the tools aren't a Visual Studio plug-in. And ...)

So, yes, you are correct: it is all cumbersome and not obvious. And the paradigm that is created for the various eval boards isn't carried over to a user-defined board. As in: it would be nice if you could create a user defined board and add it to the list of supported boards and peripherals.

So rather than start with user-defined and add what you need, you have to start with an eval board which uses the same processor, and then start mucking about with generated code.

Return to “Development Tools”

Who is online

Users browsing this forum: No registered users and 1 guest