View Full Version : ML always fails
07-30-2003, 12:29 PM
I've installed everything properly (I think). My program compiles and links, but whenever I make the initial call to mlGetCapabilities (or mluFindDeviceByName) the function fails with "Internal error".
I'm using WinXP
08-01-2003, 10:33 AM
In order for mlGetCapabilities to work, you need to make sure a few things are setup correctly:
1) the mldaemon program is running, either in the foreground or in the background. This executable is included, pre-compiled, in the SDK, in linux/root/usr/sbin or win32/root/usr/lib (depending on the platform).
2) the mldaemon program needs to find some mlmodules. On linux, we currently distributed 3 samples modules: "ossaudio" (for audio hardware with an OSS driver), "v4l" (for video hardware with a Video-4-Linux driver), and "nullXcode" (a sample trans-coder). On Windows, we currently only supply "nullXcode". In all cases, if you have OpenML-compliant hardware, the mlmodule supplied with your board should work.
Refer to the developer's manual in the top-level directory of the SDK for more information on running the daemon, etc.
08-02-2003, 05:47 AM
Ok,I got it to work that way:
1) Put the "openml" dir in ".\SDK\ml\win32\root"
in "C:\WINNT\system32" directory.
2) Run "mldaemon -debug"
The daemon should now be running.
08-02-2003, 03:18 PM
I actually go that figured out last night while I was messing around. I can only get mldaemon to run in debug mode though. And it complains about missing an entry address.
Is there a way for anyone to write new devices?
08-06-2003, 08:16 AM
If you type "mldaemon -install", it will install itself as a Windows service. You can then go into the service manager, and start the service. You may also choose to have the service start automatically at boot-time.
Yes, anybody can write devices. The SDK comes with examples, in "oss/devices". Currently, the only example that works on Windows is the transcoder (nullXcode). However, all examples can serve as a starting point for a new device that would work on Windows.
Documentation on the calls used to write a device (module) can be found in the man pages -- see: ddConnect, ddInterrogate, mlDIIntro, mlDIQueue, mlDIid
Note that all examples provided are "user-level code" (rather than true kernel-level device drivers), and as such can not be fully compliant with the OpenML specification (in particular, the UST synchronisation will be wrong).
Powered by vBulletin® Version 4.2.2 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.