Package: holoeye-embedded
Classesclass HoloeyeSLMDescriptionThis class has the main role in commmunication with the Holoeye device. This class inherits theSSHClientclass fromparamikopackage and has all the properties from the same package.MethodsHoloeyeSLM()aka constructorDescriptionInitializes the connection to your Holoeye SLM deviceParameters:parameter=defaultdescriptionlogging=FalseEnables the logs from your HOLOEYE device.RSA_Keys=NonePath to your prefered RSA keys.width=1920Width of your HOLOEYE device.height=1080Width of your HOLOEYE device.min=0Minimum intensity withing the Holoeye device supporting rangemax=255Maximum intensity withing the Holoeye device supporting rangehostname=10.10.70.1Your device hostname/IP addressport=22Your device listening portusername=rootYour device end usernamepassword=''Your device end passwordflush_RSA_Keys()DescriptionDeletes the current RSA keys.prepare_connect()DescriptionReinitialize and connect to the device with new changes in device parameters. e.g. changing the device IP address.connect()DescriptionConnects to the device.changeIP(new_IP,mask)DescriptionChanges the device IP configuration to the given IP and network submask and closes the connection. It is recommentded to set your IP addresses with default submask. After changing the device IP configuration, you need tore-plugthe device to your computerwithout turning offthe Holoeye device.Parametersnew_IP='10.10.70.2'Desisered IPv4 address for the devicemask='255.0.0.0'Desisered mask for the devicediconnectHDMI()DescriptionDisconnects the HDMI port access from the Holoeye device.sendImage(FILE_PATH)DescriptionSends the image at given path to the Holoeye device output.ParametersparameterdescriptionFILE_PATHpath to image file. * image file must be a bitmap of 2-D array with dimentions equal towidthandheightattributes of the class as well as pixel values withing the classminandmaxparameters.sendData(data)DescriptionSends the given array values to the Holoeye device output.Parametersparameterdescriptiondatanumput 2-D array with dimentions equal towidthandheightattributes of the class as well as pixel values withing the classminandmaxparameters.Device Driver Installation and ConfigurationWindowsInstalling RNDIS Driver on WindowsConnect the HoloeyeSLM USB-OTG port to your computer.Do not connect HDMI to your computerOpen DeviceManager on your computer.To open DeviceManager on your pc, open run(win+R) and typedevmgmt.mscand press Enter button.If you don't have the RNDIS driver installed on your computer for that port, you are supposed to following:Right click on RNDIS and chooseUpdate DriverClick onBrowse my computer for driversClick onLet me pick from a list of ...and click onNextFrom the list chooseNetwork adaptersas your decive type and click onNextFrom the list of Manufactures, chooseMicrosoftand from Model list choose USB RNDIS Adapter and click onNextAt this step you would have a warning about the possibility of uncompatibality of the chose driver with your device .(Disclaimer: I verified to compatibility with withHoloeye Pluto-2). Chooseyesfor the poping warning dialog.Now you have installed the RNDIS network driver.Now, you can close the window and proceed with Network Configuration.Currently, you should be able to see your RNDIS network adapter in thus sectionNumber of RNDIS adapter is equal to number of the devices connected to your computer.Configuring RNDIS network address and gatewayOpenControl PanelClick onNetwork and InternetClick onNetwork and Sharing CenterClick onChange adapter settingRight click on network adapter which corresponds to your desiered RNDIS adapter and click onProperties.From list items chooseInternet Portocol Version 4(TCP/IPv4)and click onProperties.Click onUse the following IP address. Enter IP address regarding your device assigned IP. The default IP configuration for device is10.10.70.1/8. Thus you may use any IP address which does not conflict with your other RNDIS network configurations and devices and click onOk. E.g :# device IP on RNDIS adapter 1 ->  10.10.70.1
IP address : 10.10.70.254 # RNDIS adapter 1 IP addr 
Subnet mask : 255.0.0.0   # RNDIS adapter 1 Subnet mask 

# device IP on RNDIS adapter 2 ->  10.10.70.2
IP address : 10.10.70.253 # RNDIS adapter 2 IP addr 
Subnet mask : 255.0.0.0   # RNDIS adapter 2 Subnet mask 

...Click onCloseand exit. Now you are set up with your devices.LinuxYou may useifconfigfor configuing your device. In order to assign the IP address, consider the following example:# device IP on usb0 ->  10.10.70.1
    IP address : 10.10.70.254 # usb0 adapter  IP addr 
    Subnet mask : 255.0.0.0   # usb0 adapter  Subnet mask 
    
    # device IP on usb1 adapter  ->  10.10.70.2
    IP address : 10.10.70.253 # usb1 adapter IP addr 
    Subnet mask : 255.0.0.0   # usb1 adapter Subnet mask 
    ...MACOSYou may useHoRNDISfor configuring your device connection. Make sure you preserver the address assignment for your different devices. Please refer to linux instruction or step 7 of windows instrction for a more clear example.CHANGELOGVersion 1.0.0 (2021-11-12)Changing device address API added.numpy array supportWindows configuration support added.Improvement on documentionVersion 0.1.0 (2021-10-15)First release after the conversion to the perf module and move to GitHubIncluded RNDIS and SSH API.CONTRIBUTINGHOLOEYE-EMBEDDED is As an open source project, contributions are welcomed of many forms.
Examples of contributions include:Code patchesSuggestion or Implemention of new APIsDocumentation improvementsBug reports and patch reviews