Hi,
> In the camera constructor, one can pass isospeed as an argument. The default
> is 400, which is the maximum on the 6-pin firewire ports. The newer 1394b
> (9-pin) connectors can handle 800. This works fine for the typical
> connections. However, I have a situation where I have a adaptor-cable, one
> end of which is a 9-pin 1394b plug and the other end is a 6-pin 1394a plug.
> The two firewire plugs are inter-compatible, but of course such a cable
> reduces the maximum speed possible to 400. But pydc does not seem to be able
> to detect that.
How should pydc detect which cable you are using? The Firewire cables
are dumb connectors without any logic.
>
> When I connect a 1394b camera to a 1394a port, and start the camera with
> constructor having isospeed=800, the initialization works fine. I can also
> start the camera (interactive or shot), but the call to shot() or
> cam.current_image fails. It fails without any error, output but just freezes
> and requires a kill of the program.
Use isospeed=400 in this case. The speed setting is for the IEEE port,
not for the camera.
>
> cam = pydc1394.Camera(lib, guid, isospeed=800)
> cam.start(interactive=imode)
> cam.shot() # ---> this freezes the program and never returns an error
this is indeed not catchable.
>
> Is there someway to detect the maximum possible isospeed setting from
> pydc1394? Or is this determined purely by the hardware connections, and no
> way to determine this programmatically?
no, only the hardware determines that.
> PS: I have not forgotten an earlier request to post a video or website about
> the use of pydc1394. I'm now preparing for a deployment this September, and
> perhaps in October I will have something for the project page.
Cool! looking forward to that.
Regards,
Holger