Main Site Documentation

FEZ Domino and Phidgets boards


#1

Hello,

I’m currently a Phidgets (www.phidgets.com) user, but the FEZ Domino seems very appealing to me because of embedded C# :wink:

My question is : do you know if Phidgets boards, such as DC or stepper controllers for example, can be controlled by the FEZ domino board when connected to the USB host port ?
These boards are USB HID devices and C# programs are using a Phidgets’ specific .Net assembly to access them.

At first, it seems that it would work, but I would prefer having a confirmation :wink:

Thank you in advance,


Christophe


#2

Any board should work with FEZ, Phidget, arduino or stamp…etc. Now, there maybe need to do special wiring to connect your circuitry but at the end, you still have FEZ that can do almost anything!

Can you give me a link to the DC controller or stepper controller you want to use?


#3

Here’s a link to one of the DC controller : http://www.phidgets.com/products.php?category=12&product_id=1060

But my question was more general, in fact : how will FEZ will react when I connect a Phidget board on its USB host connector ? Since Phidgets are HID, it seems to me that FEZ would see them as HID too, so any C# program using Phidgets libs could access the board as if it was on a real PC.

In a usual Windows C# program, I can write things like this :


MyStepper.steppers[2].TargetPosition = val;
MyStepper.steppers[2].Engaged = true;
MyDC.motors[0].Velocity = -50;

If I could put this code as is inside the FEZ Domino, then I would be the happiest man on earth :wink:

If this works, then it’s even more powerful than what I first expected : it can add digital inputs/outputs and analog inputs and use a full variety of other sensors too, such as encoders, for example.

If this doesn’t work, it still won’t prevent me from ordering one as I can use it for many other goals :wink:
If only you could offer something other than Fedex… which is quite expensive, and also adds custom fees afterwards :frowning:

Regards,


Christophe


#4

I thought you were talking about the small sensors they have with JST connectors.

In most cases, it will act the same way windows/linux does. If the device follows a standard protocol then it will just work! If it is not and driver is needed then you need to write some driver for it.

Correct but from what I saw online, the board requires drivers to run! If so then it is not HID.

It will work but it will either work straight forward or you need a simple driver to make it work. Either way, it should be easy…see the XBOX driver (link removed)

We have distributors around the world. Also, our USA distributors do ship using carriers other than FedEx :wink:

By the way, this is a good project to win the $500 contest. Show users how to use boards with FEZ that are usually only used on PCs…but now with FEZ :slight_smile:


#5

I don’t worry a second with their analog sensors working on FEZ. Maybe it will need some calibration and cabling, but they are pretty standard.

Not exactly :wink: The so-called “drivers” are in fact .Net assemblies, COM libraries and code snippets, nothing else. The installation programm also adds a small utility to check the connected boards, but it’s not a driver either.
When you plug such an USB board in your PC, it’s detected by Windows as an HID device and doesn’t need anything else to work.

From what you’ve written and what I understand (which may not be the same, I admit :wink: ), I think it will work straight forward.

Indeed. But not all distributors propose all the stuff. But it doesn’t really matter, as I’m now very confident in making FEZ and Phidgets working together :wink: The FEZ Domino should be enough.

It could have been so, but I think it won’t. Unless a simple proof of concept (completely working, of course) is enough.
In this case, I could show a FEZ driving a set of Phidgets boards/sensors, all connected to a Phidget 1019 (IO interface board with integrated USB hub), with commands (push buttons, mostly) wired to the FEZ.
If this can be a project, then I may enter the contest.

Best regards,


Christophe


#6

Yes…let you imagination get wild and free. Possibilities with FEZ are endless! We look forward to having you enter the contest.


#7

Well… Board ordered (in Netherland).
Delivery should occur around next Wednesday, so first try will follow very quickly :wink:

While waiting, I will prepare a simple test program and get familiar with FEZ characteristics.

Thank you for your answers.


Christophe


#8

This won’t be as straight forward es expected :confused:

Phidgets assemblies rely on .Net Framework 2.0 and do not support NetMF. As their support told me, the .Net assembly is mainly a wrapper for the underlying C dll, which contains all “active” code.

I don’t know if calling external dll’s is possible with FEZ board ?

If it’s not possible, then I will be stuck. Writing a specific driver for each of their board is far beyond my initial goal. I will stay with analog sensors, which should work almost as-is.

Best regards,


Christophe


#9

DLL…NET assemblies wrapper!!! Why did they over complicate it? They should have made it emulates a keyboard then any system will be able to use it easily.
No I am curious myself:) I may order one and try it myself :stuck_out_tongue:


#10

the underlying C dll permits the use of their board with a lot of languages :wink: I do understand the way they’ve done it. It’s just too bad for NetMF.


#11

Yes but if they did it through emulating a keyboard then any system can use it and without the need for any DDLs and it would be independent of any language or operating system


#12

Maybe keyboard emulation has its own limits, too ? That may prevent using the boards to their full power. I think for instance at data rate or things like this, but I don’t know as I’m not a USB specialist, nor the Phidgets designer :wink:

If keyboard emulation was universal, there wouldn’t exist other drivers, don’t you think so ? :slight_smile:

Btw, is it possible to use external dll’s with FEZ ? And of course, if yes, how ?


#13

Keyboard was an example. There are plenty of standard USB classes out there :wink:

DDLs do not work on FEZ…and not on any small system for that matter


#14

That’s what I feared… :confused:

I understand your purpose about USB devices. What I wanted to say is that they may have had good reasons to do the way they’ve done it. And I don’t know those reasons. :wink:

Btw, I’m now stuck. At least to use Phidgets USB boards like on Windows.


#15

Stuck at using the phidgets devices but we provide everything you need. I think it is even less costly to use our motor controller, for example :slight_smile:


#16

It looks like less costly… because I already have those Phidgets boards :wink:

But it doesn’t really matter, as I didn’t buy the FEZ Domino only to use Phidgets boards. I have other ideas for its use, don’t worry.

I’ve had a quick look at your boards, but did not compare functionnalities against Phidgets’ ones. This is not the goal. Both are perfectly viable depending on their use.


#17

I’ve just created a project draft on the wiki and I was wondering if I was doing correctly : should my project be finished if I publish something or can I “feed” the project wiki as my project evolve ?

Anyway, I’m a bit proud of me today :slight_smile: I’ve successfully managed to (partially) use the Phidget 1018 Interface kit from the FEZ Domino. The 1018 board is a 8 digital inputs, 8 digital outputs and 8 analog inputs board.
Currently, I’ve connected :

on the 1018 ( http://www.phidgets.com/products.php?category=0&product_id=1018 ), which in turn is connected to the USB Host port of the FEZ Domino.

I can accurately read all inputs. I only miss setting outputs. That’s where I need a little help, as I’m far from being a USB guru :confused:

From what I understand, I think I should issue a “SendSetupTransfer” with “Host to device” direction, correct ? I will have to find out which data I should send, though…

But my main question is when should I do that ? I mean : when I want to send data to the device, say when I press a button, should I put in the button event all the code that will deal with the data transfer ?
Something like this pseudo-code :


_Device.SendSetupTransfer(...)   // Host -> Device
PrepareData();
_DeviceInputPipe.TransferData(...);
_Device.SendSetupTransfer(...)   // Device -> Host

If someone could give me some advices, he would be welcome :wink:

Best regards,


Christophe


#18

Good work…but where the project code and pictures? :frowning:
Please copy one of the existing projects and make your project page look similar. Also, update your code. Even if your project is incomplete, upload it so others can see it, use it or even enhance it.

You forgot to give us link to the project (link removed)

You named your project “phidgets” so will this page talk about everything phidgits has?


#19

The way you’ve answered means that the project should be completed before being published…

As it’s not yet completed, I will remove it from the wiki projects page for now.

Any clue for the other part of the message ?

Regards,


Christophe


#20

No that is not what I mean :slight_smile: I mean add more of what you have and structure the page like we do with other projects. Even if your code is not complete, you can still add it to wiki if you like.

I have edited your page so you see what I mean! :wink: