DreamCheekyLED.ps1 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # Description: Dream Cheeky LED Powershell Sample Script
  2. # Author: Greg Bray
  3. # Date: 8/9/2012
  4. # License: Apache 2.0
  5. if(([appdomain]::currentdomain.getassemblies() | Where {$_ -match "DreamCheekyLED"}) -eq $null){
  6. Write-Host "Loading DreamCheekyLED Assembly"
  7. $assembly = [Reflection.Assembly]::LoadFile("C:\Git\dreamcheekyusb\DreamCheekyLED\bin\Debug\DreamCheekyLED.exe")
  8. }
  9. #List all USB devices with VID=0x1D34
  10. #[HidLibrary.HidDevices]::Enumerate() | where { $_.Attributes.VendorHexId -eq "0x1D34" }| ft isConnected,isOpen,Description -AutoSize
  11. #Initialize led object
  12. if($led -eq $null){
  13. #$led = New-Object DreamCheekyUSB.DreamCheekyLED #Find default device
  14. #$led = New-Object DreamCheekyUSB.DreamCheekyLED -ArgumentList @(0x1D34,0x0004,0) #Specify VID,PID,DeviceIndex
  15. #Issues with calling the device path constructor from powershell. Error was New-Object : Index was outside the bounds of the array.
  16. #This finally worked:
  17. $argArray = New-Object string[] 1
  18. #$argArray[0] = '\\?\HID#\VID_1D34&PID_000D\8&19bdbd1&0&0000{745a17a0-74d3-11d0-b6fe-00a0c90f57da}'
  19. $argArray[0] = '\\?\hid#vid_1d34&PID_000A\7&FB3C668&0&0000{745a17a0-74d3-11d0-b6fe-00a0c90f57da}'
  20. $led = New-Object -TypeName DreamCheekyUSB.DreamCheekyLED (,$argArray)
  21. }
  22. #Run tests:
  23. #$led.Test();
  24. #start-sleep -Seconds 2
  25. #$led.TestBlink();
  26. #if($false){
  27. $led.SetColor([System.Drawing.Color]::Red)
  28. start-sleep -Seconds 1
  29. #$led.SetColor([System.Drawing.Color]::Green)
  30. #start-sleep -Seconds 1
  31. #$led.SetColor([System.Drawing.Color]::Blue)
  32. #start-sleep -Seconds 1
  33. #}
  34. $led.Off()