Re: PORUS: an open-source embedded USB stack



Data wrote:
David Brown wrote:

May I make a few comments and suggestions, both technical and non-technical?

Of course!

First off, you will have to figure out exactly what license you want to
use, [...]

It's Common Public License. I should probably put that in a more
prominent place on the website, but it's all over the source
distribution.


Fair enough license.

Secondly, there is no shame in fishing for free labour for your company
- explain to them that this is one of the benefits of releasing open
source software, and that will encourage them to support the project
directly (of course, it all depends on where you want to go with it).
For some open source projects, the free labour is a side effect of the
release, and for many others, it is a major reason for releasing the
code. Everyone benefits.

They've already approved it. That's why it's out there.


I was just thinking about going beyond approval, and actively supporting you (of course, I have no idea how much they support you at the moment - these things vary enormously from company to company). The typical company thinking is that employees should do work that is of advantage to the company (understandably enough), and thus should not spend company time working on an open source project unless the results are useful to the company. If they view your work on the project as being beneficial to them (through more external contributions that they can re-use), then they'll pay you to work on it beyond the requirements of your company's current use. Of course, it depends on your company, it's requirements, your interests, and a hundred other things.

On the technical side, python works perfectly well natively on windows -
it is normally a better idea to use native python than cygwin python
(though I haven't tried your code at all).

I haven't got round to making a Windows install, and I do run on
Cygwin, but there's no reason that the compiler won't run natively on
Windows; it's text only.

Also, what about drivers on the PC side?

You get to write them! :) (or use libusb)

Drivers are outside of the scope of this project. You can make the
stack do anything, so there can't be one driver for it. (Except for
libusb.)

That said, I use libusb, for my stuff (in case you couldn't tell). And
if you want something higher-level, you can look at cstyx.berlios.de
and estyx.berlios.de.

It's occurred to me that I might combine these all to make a complete
USB comms package, which is how I use it anyway. But I like to keep
things as modular as possible, to start with.


A USB device on its own is useless without drivers. On windows, the device driver development far outweighs the embedded device development for many projects. You might want to develop using linux (I gather usb device drivers are much easier to write for linux than windows), and support linux for the product, but most products will also need windows support in the market. That's why I see it as two parts of the same system.

I see there is also a port of libusb to windows - perhaps that's the way to go for a consistent cross-platform development that can be done without the need for low-level driver development on either windows or linux? I must have a closer read of this stuff some time.

When I want USB on a card, I
use FTDI's devices because they provide good, free, flexible drivers and
supporting DLL's on the PC (windows and linux support).

Yes, but you can only do so much with FTDI's chips. That's rather a
lot, of course, but sometimes you want more.


Indeed - FTDI chips do a specific job, but do it well. So far, it's been enough for me in real projects, but it is easy to imagine projects for which the chips are too limited.

For instance, can you do an audio device with FTDIs? Probably, but I
think it would be difficult. Can you make it class-compliant? That may
be impossible ...

When you are
doing things yourself with a USB device, as far as I understand it, you
need to write the windows drivers.

Not any more. God has given us libusb. :)


Then I'd hate to think who ported it to win32 !

If your project encompassed that
side of the USB equation as well, then it would be much more complete.

So it would be -- also much less flexible.

I don't expect it to conquer the universe, or even to get used :) --
but it's there if anybody wants it.


I don't know whether I will ever use it or not - but thank you anyway.

mvh.,

David


--mpa

.



Relevant Pages

  • Re: [OT] Why does X need so much CPU power?
    ... >> with various windows flavors just were unusable with KDE loaded? ... Hardware manufacturers tend ... > to support only operating systems like Windows, ... the hardware works well on Windows because the drivers are ...
    (Debian-User)
  • Re: [opensuse] Multifunction printer suggestions
    ... -- mainly for scanning B&W documents faxing and light color printing. ... There is also supposed to be support for the HP devices, ... My concern with HP is that their Windows drivers are ...
    (SuSE)
  • Re: System Reboots On Clicking Speech in Control Panel
    ... > Contact your system administrator or technical support for further ... > from Microsoft Online Crash Analysis: ... > Updated drivers might be available on the Microsoft Windows Update ...
    (microsoft.public.windowsxp.general)
  • Re: Advertising "Linux Compatible"
    ... The OEM hardware comes with a Windows Driver. ... natively support that particular piece of hardware. ... Windows by developing drivers themselves. ...
    (alt.os.linux)
  • Re: How do I get internet on XP dual booted from OSX?
    ... I'm not sure if this is a problem, or how I go about getting internet running on my windows OS. ... If it's a USB device, you might need USB drivers or drivers specific to the USB device. ...
    (microsoft.public.windowsxp.help_and_support)