Module Drivers

Hi all,

I have been playing around with the gadeteer module template, and have figured out how to create a new module driver, and got my head around the wix stuff to build a distrubutible msi packge, and then get the new module integrated into visual studio. Great for new modules :slight_smile: :slight_smile: :slight_smile:

However whats is the preferred approach to say taking an existing driver and extending its functionality, as if i just update the driver code as in the wiki then i would overwrite the standard driver? as per this link

Possible solution is to create new driver add the original code, extend its fuctionality and then deploy that to vs, now if i do this should i use GHI as the manufacturer nameor my own name? i ask this as if the driver ever got used by someonelse i would either be taking credit for someone elses work (the base driver code) or posible people thinking the extended driver was a GHI driver.

I also ask the above as say company x doesn`t release a new driver for a module i own and i create one the same would apply?

What are other doing and what are your thoughts?


Definitely your own name, or some pseudonym. The code is open source, so you can copy it all you want, BUT the namespace should be different to avoid confusion.

Yes, say for instance you want to create a 4.2 driver for a Seeed module. They have not provided 4.2 drivers yet. You can grab their 4.1 source code, change the namespace (i.e. manufacturer name), and recompile/tweak it for 4.2. You can then use the module on a Cerb board, assuming it is supported socket type.

1 Like

And if you want to extend the code of the vendor supplied driver, for example different use-cases or methods that you see are meaningful above what they offer today, then I would approach that vendor with suggestions, over what ever is their preferred medium - for GHI, that’d be β€œstart a new thread somewhere around here”.

1 Like

Thanks guys, you have pretty much confrmed what i thought.

I was thinking of this exactly :wink:

Surely any board that has the correct socket and required firmware ?

Yes, I used the Cerb boards as an example.

phew, i thought i`de missed something really important for a moment.

Still getting my head around the gadeteer stuff, in particularly the module api driver stuff as thats the part that really interests me, making hardware and then coding it to work, even if its purpose is just to find out how to do it.

If you are extending a module driver with some additional useful functionality, or if you are fixing a bug or improving the perfomance of a dirver, you could propose it as a patch on the codeplex project. That way everyone will benefit from your improvements in the next release, without having to install additional or alternative drivers.

1 Like

Thanks nicolas i didnt realise that either. Currently tackling rewritting a couple of drivers to get the hang of it, as i figure if i can write a new driver for eisting hardware then when i get the hardware designed for some new modules i`m thinking of then at least thats one less thing to worry about. as i didnt want to design and build a new module and then not be able to construct a driver.

From the week or so i have had playing with the gadeteer platform i really like it. especially the thought of adding hardware for new projects withut the hassle of need a new brain to controll it each time, to me that seems a really powerful way to do home electronics.