Wasatch.net es un envoltorio a nivel de aplicación sobre las API USB y SPI de Wasatch Photonics. Se proporciona para que los desarrolladores de aplicaciones no necesiten preocuparse por los códigos de operación y los [de] octetos de datos de datos sin procesar; Simplemente pueden llamar a propiedades y métodos de alto nivel como IntegrationTimems y GetSpectrum ().
Se espera que wasatch.net funcione desde todos los idiomas compatibles con .NET, que incluyen:
| Plataforma | Estado de prueba |
|---|---|
| DO# | Probado con la comunidad Visual Studio 2017 |
| Labview | Probado con 2017 de 32 bits (ver Wasatch.lv) |
| Matlab/simulink | Probado con 2017b de 64 bits (ver Wasatch.MatLab) |
| Embarcadero Delphi | Probado con Delphi Community Edition 10.2 sobre com (ver Wasatch.delphi) |
| VBA (Excel) | Probado con Office 2010 de 64 bits (ver Wasatch.excel) |
| Riñonal | no iniciado (planeado a través de RCLR) |
| Xamarina | no comenzó |
| Visual Basic.net | no comenzó |
| F# | no comenzó |
| Wolfram Mathematica | no comenzó |
Si hay otros que le gustaría ver en la lista, ¡háganoslo saber y los probaremos!
Los instaladores precompilados están disponibles para ventanas de 32 bits y 64 bits:
Code {.cs}
WasatchNET.Driver driver = WasatchNET.Driver.getInstance();
if (driver.openAllSpectrometers() > 0)
{
WasatchNET.Spectrometer spectrometer = driver.getSpectrometer(0);
spectrometer.integrationTimeMS = 100;
double[] spectrum = spectrometer.getSpectrum();
}
EndCode
Para el código de llamadas de muestra, consulte el C# WinFormDemo incluido.
La documentación de API está disponible aquí:
El controlador está diseñado para imitar de cerca las API USB definidas en los siguientes documentos:
Por lo tanto, la mayoría de las preguntas sobre parámetros, modos y opciones probablemente se pueden resolver mediante la revisión de la interfaz de comunicación del espectrómetro subyacente.
Los controladores de aplicaciones de Wasatch Photonics se proporcionan como implementaciones de referencia para demostrar cómo ordenar y controlar nuestros espectrómetros a través de USB desde una variedad de plataformas e idiomas. Como ejemplos de trabajo y "envoltorios de conveniencia" sobre nuestra API USB, no se garantiza que incluyan funciones de conveniencia para cada llamada y opción dentro de la API de hardware, ni son necesariamente la implementación más eficiente u óptima en ningún idioma dado.
La interfaz formal y completa a nuestros espectrómetros se proporciona en nuestra documentación de la API USB. Los controladores USB estándar para acceder a esa interfaz directa son abundantes en todos los sistemas operativos estándar: libusb, winusb, etc. No se requieren envoltorios o bibliotecas adicionales para hacer uso completo de nuestros espectrómetros desde la plataforma de su elección.
Si hay una función de espectrómetro o espectroscopía que no encuentra proporcionada en nuestra colección de envoltorio de código abierto, contáctenos y solicite su adición; O si desea "ensuciarse las manos", no dude en crear su propia implementación y opcionalmente compartirla con nosotros para fusionar la distribución base. Wasatch Photonics se enorgullece en ayudar a apoyar a nuestra comunidad en línea, pero no está demasiado orgulloso de rechazar parches cuando mejoran el producto.
Dicho esto, algunas áreas conocidas para la mejora se pueden encontrar en nuestra cartera de pedidos (abajo).
Wasatch.net se distribuye en un archivo instalador de Microsoft (.msi), que instala wasatchnet.dll y libusbdotnet.dll en C: Windows (por lo que siempre estarán en la ruta del sistema). Los controladores FTDI también están instalados para admitir las comunicaciones SPI.
También instala una aplicación simple de GUI de espectroscopía C#, WinFormDemo, en Archivos de programa Wasatch Photonics (o archivos de programa (x86) en sistemas de 32 bits), lo que le brinda un medio para controlar el espectrómetro y verificar rápidamente que el controlador esté instalado y funcione correctamente.
Además de hacer doble clic en el instalador .msi, hay uno o dos pasos adicionales necesarios para una instalación completa:
Wasatch.net es un "controlador de aplicaciones" de alto nivel, que se comunica con nuestros espectrómetros utilizando el controlador "de nivel medio" libusbDotnet, que se comunica a su vez utilizando el controlador USB "de bajo nivel" libusb-win32. Sin embargo, Windows no sabe que nuestros espectrómetros están destinados a usar libusb-win32 hasta que lo contamos.
Entonces, lo primero que debemos hacer es instalar los archivos .inf que asocian nuestros dispositivos USB (a través de VID/PID) con LibUSB. Este es el proceso para hacerlo:
Conecte un espectrómetro de fotónica de USB Wasatch.
Windows puede pedirle que "localice controladores para este dispositivo". Si no, vaya al Administrador de dispositivos (simplemente escriba "Administrador de dispositivos" en el campo de búsqueda Win10 en la barra de inicio).
Su (s) espectrómetro (s) deben aparecer como "Stroker FX2" o "Stroker Ingas Camera" en "Otros dispositivos".

Haga clic derecho en la entrada de Stroker y seleccione "Actualizar el controlador".
Seleccione "Explorar manualmente para los conductores".

Asegúrese de que se verifique "[x] incluir subcarpetas"
Examine a "C: Archivos de programa Wasatch Photonics Wasatch.net libusb_drivers" o "C: Archivos de programa (x86) Wasatch Photonics wasatch.net libusb_drivers" según corresponda.



Este paso se cree que solo se requiere para los desarrolladores que usan Visual Basic 6 (VB6) o Visual Basic para aplicaciones (VBA, parte de Microsoft Excel).
Debido a que nuestro instalador .msi no registra el archivo .TLB que necesita VB6/VBA, debe realizar un paso manual adicional:
Navegue a Archivos de programa Wasatch Photonics Wasatch.net (o archivos de programa (x86) en sistemas de 32 bits)
Haga clic con el botón derecho en el archivo por lotes "RegisterDll.Bat" y seleccione "Ejecutar como administrador"


¿Entonces le gustaría construir y compilar wasatch.net usted mismo desde la fuente? Bien, así es como nos gusta hacerlo también ... aprendes mucho más de esa manera :-)
El conductor fue escrito y probado bajo la comunidad Visual Studio 2017 en Win10 de 64 bits. En sí mismo depende de las siguientes bibliotecas:
URL: https://sourceforge.net/projects/libusbdotnet/files/libusbdotnet/
Este es un envoltorio .NET sobre el LibUSB-Win32 estándar que es utilizado por muchos proveedores de dispositivos USB. La DLL precompilada proporcionada en nuestro directorio LIB/ se construyó a partir de v2.2.8 utilizando la comunidad Visual Studio 2017 contra el perfil del cliente .NET 4.0.
Para usar espectrómetros de la serie XL con el sistema de cámara Andor, Wasatch.net requiere que se instale el Pack 2 de controlador Andor. Esto está disponible actualmente en Andor en el siguiente enlace:
Ver ReadMe-SPI.MD.
Nuestra DLL estándar se basa en el perfil del cliente .NET 4.8 contra el objetivo de depuración, por lo que la DLL tendrá la cantidad máxima de símbolos de depuración y metadatos para la resolución de problemas del usuario. El WinFormDemo se basa en .NET 4.8.
La configuración de compilación estándar y recomendada es X64, pero también distribuimos instaladores para X86 (Win32), ya que, por ejemplo, muchos usuarios tienen versiones de 32 bits de LabView incluso en sistemas operativos de 64 bits.
Según la solicitud del usuario, incluimos un instalador "AnyCPU" también, pero a esta configuración le falta alguna funcionalidad (por ejemplo, controladores para espectrómetros Andor / XL).
Los usuarios pueden construir la biblioteca ellos mismos en cualquier configuración o arquitectura de destino; Háganos saber si encuentra algún problema que podamos ayudar a resolver.
Si aún necesita construir contra .NET Framework 4.0, consulte la rama y construir "Framework40" usando Visual Studio 2019 Community Edition.
La forma más sencilla de probar si su instalación es exitosa es ejecutar WinFormDemo proporcionado, que debería estar disponible en su menú de inicio en Wasatch Photonics -> Wasatch.net -> WinFormDemo.
Si tiene un espectrómetro Wasatch Photonics enchufado y se muestra correctamente en "dispositivos libusb-win32" en el administrador de dispositivos, debería poder ejecutar la demostración, luego hacer clic en "Inicializar" para conectarse al espectrómetro.
Aunque la biblioteca permite que las aplicaciones configuren el registro mediante programación a través de controlador.logger.level y .setPathName (), no todas las aplicaciones lo hacen. Los usuarios finales de las aplicaciones compiladas aún pueden configurar el registro manualmente configurando estas variables de entorno antes de ejecutar un programa usando wasatch.net:
C:> set WASATCHNET_LOGGER_PATHNAME=C:tempwasatchnet.log (assumes directory exists)
C:> set WASATCHNET_LOGGER_LEVEL=DEBUG (can be DEBUG, INFO, ERROR or NEVER)
Sin embargo, estos "valores predeterminados" del entorno aún pueden ser anulados por el código de aplicación que llama explícitamente los métodos y propiedades anteriores.
Al menos un lenguaje de cliente (LABVIEW NXG) solo admite ensamblajes .NET cargados en el GAC (caché de ensamblaje general). Para cargarse en el GAC, un ensamblaje debe ser "fuertemente nombrado" (firmado digitalmente) ... junto con sus dependencias directas (DLL de terceros como libusbDotnet).
Para obtener información sobre la firma digitalmente de ensamblajes Wasatch.net para el soporte GAC, Wasatch Manteners debe hacer referencia a "Admin/Keys/Wasatch.net".
Si tiene problemas para instalar nuestros controladores libusb-win32, consulte:
Esto puede suceder cuando Wasatch Dash u otro producto de controlador Wasatch más antiguo se ha instalado en la misma computadora que Ilighten o uno de nuestros controladores más nuevos (como Wasatch.net).
Puede decir que este es el problema si busca en el Administrador de dispositivos de Windows, y puede ver "Wasatch Photonics Device FX2" enumerado en "Controladores de bus serial Universal".
Para resolver, primero desinstale el controlador más antiguo, haciendo clic con el botón derecho "Wasatch Photonics Device FX2" y seleccionando "Dispositivo de desinstalación":

Asegúrese de hacer clic en "Eliminar el software del controlador para este dispositivo":

En el menú "Acción", seleccione "Escanear para los cambios de hardware" para volver a enumerar el dispositivo debajo del controlador de dispositivo correcto:

Ahora debería ver su espectrómetro listado en el controlador LibUSB-WIN32 esperado:

Ahora debería poder volver a ejecutar su software Wasatch.net, wasatch.py o iluminar y conectarse a su espectrómetro.
Para obtener preguntas sobre el conductor o la API, comuníquese con: