pyobs-qhyccd 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. pyobs_qhyccd-1.0.0/PKG-INFO +17 -0
  2. pyobs_qhyccd-1.0.0/build.py +47 -0
  3. pyobs_qhyccd-1.0.0/lib/distclean.sh +86 -0
  4. pyobs_qhyccd-1.0.0/lib/etc/udev/rules.d/85-qhyccd.rules +157 -0
  5. pyobs_qhyccd-1.0.0/lib/install.sh +49 -0
  6. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/IC16200A.HEX +663 -0
  7. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/IC16803.HEX +669 -0
  8. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/IC8300.HEX +626 -0
  9. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/IC90A.HEX +660 -0
  10. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/IMG0H.HEX +530 -0
  11. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/IMG2P.HEX +491 -0
  12. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/IMG2S.HEX +546 -0
  13. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/IMG50.HEX +301 -0
  14. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/POLEMASTER.HEX +442 -0
  15. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY0204.img +0 -0
  16. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY09000A.HEX +654 -0
  17. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY10.HEX +583 -0
  18. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY11.HEX +519 -0
  19. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY12.HEX +610 -0
  20. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY128.img +0 -0
  21. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY15.HEX +460 -0
  22. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY16.HEX +451 -0
  23. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY16000.HEX +393 -0
  24. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY160002AD.HEX +393 -0
  25. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY16200A.HEX +645 -0
  26. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY163.img +0 -0
  27. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY165.img +0 -0
  28. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY168.img +0 -0
  29. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY16803A.HEX +653 -0
  30. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY174.img +0 -0
  31. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY178.img +0 -0
  32. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY183.img +0 -0
  33. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY2.HEX +462 -0
  34. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY20.HEX +476 -0
  35. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY2020.img +0 -0
  36. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY21.HEX +586 -0
  37. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY22.HEX +586 -0
  38. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY224.img +0 -0
  39. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY23.HEX +591 -0
  40. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY247.img +0 -0
  41. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY27.HEX +683 -0
  42. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY28.HEX +659 -0
  43. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY29.HEX +614 -0
  44. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY290.img +0 -0
  45. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY294.img +0 -0
  46. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY2E.HEX +554 -0
  47. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY2PRO.HEX +496 -0
  48. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY367.img +0 -0
  49. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY4040.img +0 -0
  50. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY411.img +0 -0
  51. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY411ERIS.img +0 -0
  52. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY42.img +0 -0
  53. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY42PRO.img +0 -0
  54. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY5.HEX +390 -0
  55. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY550.img +0 -0
  56. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY5II.HEX +428 -0
  57. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY5III174.img +0 -0
  58. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY5III178.img +0 -0
  59. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY5III185.img +0 -0
  60. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY5III224.img +0 -0
  61. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY5III290.img +0 -0
  62. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY5LOADER.HEX +60 -0
  63. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY6.HEX +620 -0
  64. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY600.img +0 -0
  65. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY6060.img +0 -0
  66. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY695A.HEX +653 -0
  67. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY7.HEX +570 -0
  68. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY8.HEX +419 -0
  69. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY814A.HEX +654 -0
  70. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY8L.HEX +628 -0
  71. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY8M.HEX +625 -0
  72. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY8PRO.HEX +506 -0
  73. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY90A.HEX +630 -0
  74. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/QHY9S.HEX +467 -0
  75. pyobs_qhyccd-1.0.0/lib/lib/firmware/qhy/miniCam5.HEX +574 -0
  76. pyobs_qhyccd-1.0.0/lib/lib/udev/rules.d/85-qhyccd.rules +157 -0
  77. pyobs_qhyccd-1.0.0/lib/sbin/fxload +0 -0
  78. pyobs_qhyccd-1.0.0/lib/uninstall.sh +39 -0
  79. pyobs_qhyccd-1.0.0/lib/usr/local/cmake_modules/FindOpenCV.cmake +551 -0
  80. pyobs_qhyccd-1.0.0/lib/usr/local/cmake_modules/FindUSB-1.cmake +111 -0
  81. pyobs_qhyccd-1.0.0/lib/usr/local/cmake_modules/FindUSB-ARM.cmake +154 -0
  82. pyobs_qhyccd-1.0.0/lib/usr/local/doc/HowTo_QHYCCD_SDK_CrossPlatform.pdf +0 -0
  83. pyobs_qhyccd-1.0.0/lib/usr/local/fx3load/a3load.hex +95 -0
  84. pyobs_qhyccd-1.0.0/lib/usr/local/fx3load/fxload +0 -0
  85. pyobs_qhyccd-1.0.0/lib/usr/local/include/config.h +44 -0
  86. pyobs_qhyccd-1.0.0/lib/usr/local/include/qhyccd.h +820 -0
  87. pyobs_qhyccd-1.0.0/lib/usr/local/include/qhyccdcamdef.h +1277 -0
  88. pyobs_qhyccd-1.0.0/lib/usr/local/include/qhyccderr.h +142 -0
  89. pyobs_qhyccd-1.0.0/lib/usr/local/include/qhyccdstruct.h +290 -0
  90. pyobs_qhyccd-1.0.0/lib/usr/local/lib/libqhyccd.a +0 -0
  91. pyobs_qhyccd-1.0.0/lib/usr/local/lib/libqhyccd.so.6.0.5 +0 -0
  92. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/DownloadFirmware/Makefile +86 -0
  93. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/DownloadFirmware/downfirmware.cpp +79 -0
  94. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/LiveFrameMode/LiveFrameSample.cpp +308 -0
  95. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/LiveFrameMode/Makefile +86 -0
  96. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/SingleFrameMode/Makefile +86 -0
  97. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/SingleFrameMode/SingleFrameMode.cpp +474 -0
  98. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/CMakeLists.txt +20 -0
  99. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/Capture.cpp +150 -0
  100. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/ControlCFW.cpp +126 -0
  101. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/ControlCool.cpp +106 -0
  102. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/ForceStop.cpp +65 -0
  103. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/GetCameraStatus.cpp +96 -0
  104. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/GetHistJPG.cpp +98 -0
  105. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/GetLastImageFIT.cpp +95 -0
  106. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/GetLastImageJPG.cpp +136 -0
  107. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/GetTemperature.cpp +96 -0
  108. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/LiveFrameSample.cpp +220 -0
  109. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/OSXDownloadFirmware2Camera.cpp +19 -0
  110. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/README +19 -0
  111. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/SetTemperature.cpp +70 -0
  112. pyobs_qhyccd-1.0.0/lib/usr/local/testapp/common/SingleFrameSample.cpp +279 -0
  113. pyobs_qhyccd-1.0.0/lib/usr/local/udev/85-qhyccd.rules +157 -0
  114. pyobs_qhyccd-1.0.0/lib/usr/share/usb/a3load.hex +95 -0
  115. pyobs_qhyccd-1.0.0/pyobs_qhyccd/__init__.py +0 -0
  116. pyobs_qhyccd-1.0.0/pyobs_qhyccd/libqhyccd.pxd +106 -0
  117. pyobs_qhyccd-1.0.0/pyobs_qhyccd/qhyccdcamera.py +281 -0
  118. pyobs_qhyccd-1.0.0/pyobs_qhyccd/qhyccddriver.cpp +18170 -0
  119. pyobs_qhyccd-1.0.0/pyobs_qhyccd/qhyccddriver.cpython-312-x86_64-linux-gnu.so +0 -0
  120. pyobs_qhyccd-1.0.0/pyobs_qhyccd/qhyccddriver.pyx +240 -0
  121. pyobs_qhyccd-1.0.0/pyproject.toml +31 -0
@@ -0,0 +1,17 @@
1
+ Metadata-Version: 2.1
2
+ Name: pyobs-qhyccd
3
+ Version: 1.0.0
4
+ Summary: pyobs module for QHYCCD cameras
5
+ License: MIT
6
+ Author: Tim-Oliver Husser
7
+ Author-email: thusser@uni-goettingen.de
8
+ Requires-Python: >=3.9,<3.13
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Requires-Dist: astropy (>=5.0,<6.0)
16
+ Requires-Dist: numpy (>=1.21,<2.0)
17
+ Requires-Dist: pyobs-core (>=1.0,<2.0)
@@ -0,0 +1,47 @@
1
+ import os
2
+ import shutil
3
+
4
+ from setuptools import Extension, Distribution
5
+ import numpy
6
+ from Cython.Build import cythonize
7
+ from Cython.Distutils.build_ext import new_build_ext as cython_build_ext
8
+
9
+
10
+ def build() -> None:
11
+ # if running in RTD, skip compilation
12
+ if os.environ.get("READTHEDOCS") == "True":
13
+ return
14
+
15
+ extensions = [
16
+ Extension(
17
+ 'pyobs_qhyccd.qhyccddriver',
18
+ ['pyobs_qhyccd/qhyccddriver.pyx'],
19
+ library_dirs=['lib/usr/local/lib/'],
20
+ libraries=['qhyccd', 'cfitsio'],
21
+ include_dirs=[numpy.get_include()],
22
+ extra_compile_args=['-fPIC']
23
+ )
24
+ ]
25
+ ext_modules = cythonize(extensions)
26
+
27
+ distribution = Distribution(
28
+ {
29
+ "name": "extended",
30
+ "ext_modules": ext_modules,
31
+ "cmdclass": {
32
+ "build_ext": cython_build_ext,
33
+ },
34
+ }
35
+ )
36
+
37
+ distribution.run_command("build_ext")
38
+
39
+ # copy to source
40
+ build_ext_cmd = distribution.get_command_obj("build_ext")
41
+ for ext in build_ext_cmd.extensions:
42
+ filename = build_ext_cmd.get_ext_filename(ext.name)
43
+ shutil.copyfile(os.path.join(build_ext_cmd.build_lib, filename), filename)
44
+
45
+
46
+ if __name__ == "__main__":
47
+ build()
@@ -0,0 +1,86 @@
1
+ #!/bin/bash
2
+ #####################################################################################################################
3
+ # Description : This script uninstalls all the necessary files (libraries, firmwares, udev, include) on Linux machine.
4
+ # Written by : MiaoYongQiang (davis_miao@126.com)
5
+ # Version : V4.0.13
6
+ # Date : 2019-02-18
7
+ #####################################################################################################################
8
+
9
+ # uninstall QHYCCD SDK
10
+
11
+
12
+
13
+ find /lib -name "libqhyccd*" -exec rm -f {} \;
14
+ find /usr/lib -name "libqhyccd*" -exec rm -f {} \;
15
+ find /usr/local/lib -name "libqhyccd*" -exec rm -f {} \;
16
+
17
+ find /lib -name "QHY*.HEX" -exec rm -f {} \;
18
+ find /lib -name IC16200A.HEX -exec rm -f {} \;
19
+ find /lib -name IC16803.HEX -exec rm -f {} \;
20
+ find /lib -name IC8300.HEX -exec rm -f {} \;
21
+ find /lib -name IC90A.HEX -exec rm -f {} \;
22
+ find /lib -name IMG0H.HEX -exec rm -f {} \;
23
+ find /lib -name IMG2P.HEX -exec rm -f {} \;
24
+ find /lib -name IMG2S.HEX -exec rm -f {} \;
25
+ find /lib -name IMG50.HEX -exec rm -f {} \;
26
+ find /lib -name POLEMASTER.HEX -exec rm -f {} \;
27
+ find /lib -name miniCam5.HEX -exec rm -f {} \;
28
+ find /lib -name "QHY*.img" -exec rm -f {} \;
29
+
30
+ find /usr/lib -name "QHY*.HEX" -exec rm -f {} \;
31
+ find /usr/lib -name IC16200A.HEX -exec rm -f {} \;
32
+ find /usr/lib -name IC16803.HEX -exec rm -f {} \;
33
+ find /usr/lib -name IC8300.HEX -exec rm -f {} \;
34
+ find /usr/lib -name IC90A.HEX -exec rm -f {} \;
35
+ find /usr/lib -name IMG0H.HEX -exec rm -f {} \;
36
+ find /usr/lib -name IMG2P.HEX -exec rm -f {} \;
37
+ find /usr/lib -name IMG2S.HEX -exec rm -f {} \;
38
+ find /usr/lib -name IMG50.HEX -exec rm -f {} \;
39
+ find /usr/lib -name POLEMASTER.HEX -exec rm -f {} \;
40
+ find /usr/lib -name miniCam5.HEX -exec rm -f {} \;
41
+ find /usr/lib -name "QHY*.img" -exec rm -f {} \;
42
+
43
+ find /usr/local -name "QHY*.HEX" -exec rm -f {} \;
44
+ find /usr/local -name IC16200A.HEX -exec rm -f {} \;
45
+ find /usr/local -name IC16803.HEX -exec rm -f {} \;
46
+ find /usr/local -name IC8300.HEX -exec rm -f {} \;
47
+ find /usr/local -name IC90A.HEX -exec rm -f {} \;
48
+ find /usr/local -name IMG0H.HEX -exec rm -f {} \;
49
+ find /usr/local -name IMG2P.HEX -exec rm -f {} \;
50
+ find /usr/local -name IMG2S.HEX -exec rm -f {} \;
51
+ find /usr/local -name IMG50.HEX -exec rm -f {} \;
52
+ find /usr/local -name POLEMASTER.HEX -exec rm -f {} \;
53
+ find /usr/local -name miniCam5.HEX -exec rm -f {} \;
54
+ find /usr/local -name "QHY*.img" -exec rm -f {} \;
55
+
56
+
57
+
58
+ rm -f /lib/udev/rules.d/85-qhy.rules
59
+
60
+ rm -f /etc/udev/rules.d/85-qhy.rules
61
+
62
+ rm -f /lib/udev/rules.d/85-qhyccd.rules
63
+
64
+ rm -f /etc/udev/rules.d/85-qhyccd.rules
65
+
66
+ rm -f /sbin/fxload
67
+
68
+ rm -rf /usr/local/cmake_modules
69
+
70
+ rm -f /usr/local/doc/HowTo_QHYCCD_SDK_CrossPlatform.pdf
71
+
72
+ rm -rf /usr/local/fx3load
73
+
74
+ rm -f /usr/local/include/config.h
75
+ rm -f /usr/local/include/qhyccd*.h
76
+
77
+ rm -f /usr/local/lib/libqhyccd*
78
+ rm -rf /lib/firmware/qhy/*
79
+
80
+ rm -rf /usr/local/testapp/*
81
+
82
+ rm -f /usr/local/udev/85-qhyccd.rules
83
+
84
+ rm -f /usr/local/udev/85-qhy.rules
85
+
86
+ rm -f /usr/share/usb/a3load.hex
@@ -0,0 +1,157 @@
1
+ #===============================================================================
2
+ # Udev rules for QHYCCD cameras
3
+ #===============================================================================
4
+ # Initial Release
5
+ # Add rules for QHY2, QHY5, QHY6, QHY8
6
+ # Clive Rogers. 2 May 2009#
7
+ #
8
+ # Update 1
9
+ # Add rules for QHY10 and modified for libqhyccd
10
+ # YANG Xudong 21 Oct 2010
11
+ #
12
+ # Update 2
13
+ # Changed udev rules to get QHY163 and other FX3 cams working.
14
+ # Kept original rules at the end of rule's file.
15
+ # Jan Soldan, 2017-07-11
16
+ #
17
+ # Update 3
18
+ # Add usbfs memory limit
19
+ # Jasem Mutlaq 2019-09-21
20
+
21
+ #===============================================================================
22
+ # 1. Increase usbfs memory limit
23
+ #===============================================================================
24
+ # QHY-Based camera by other vendors
25
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", RUN+="/bin/sh -c '/bin/echo 256 >/sys/module/usbcore/parameters/usbfs_memory_mb'"
26
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1856", RUN+="/bin/sh -c '/bin/echo 256 >/sys/module/usbcore/parameters/usbfs_memory_mb'"
27
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1781", RUN+="/bin/sh -c '/bin/echo 256 >/sys/module/usbcore/parameters/usbfs_memory_mb'"
28
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b4", RUN+="/bin/sh -c '/bin/echo 256 >/sys/module/usbcore/parameters/usbfs_memory_mb'"
29
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0547", RUN+="/bin/sh -c '/bin/echo 256 >/sys/module/usbcore/parameters/usbfs_memory_mb'"
30
+ # QHYCCD
31
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", RUN+="/bin/sh -c '/bin/echo 256 >/sys/module/usbcore/parameters/usbfs_memory_mb'"
32
+
33
+ #===============================================================================
34
+ # 2. Pre-enumerated device IDs:
35
+ #===============================================================================
36
+ #Van Ooijen Technische Informatica
37
+
38
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="081a", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
39
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0818", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
40
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="2972", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY8.HEX -D $env{DEVNAME}"
41
+
42
+ # Orion SSAG
43
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1856", ATTRS{idProduct}=="0011", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
44
+
45
+ # CCD-Labs QGuider
46
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c7c", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
47
+
48
+ # Other
49
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="8613", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
50
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0547", ATTRS{idProduct}=="1002", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5LOADER.HEX -D $env{DEVNAME}"
51
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0547", ATTRS{idProduct}=="1002", RUN+="/bin/sleep 5"
52
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0547", ATTRS{idProduct}=="1002", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME}"
53
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="2970", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY2PRO.HEX -D $env{DEVNAME}"
54
+
55
+ # QHY CLASSIC COOLED CCD (16:QHY2,QHY6,IMG2P,QHY7,QHY8,QHY8L,QHY8PRO,QHY9S,QHY10,QHY11,QHY12,QHY15,QHY16,QHY21,QHY22,QHY23)
56
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0412", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY2.HEX -D $env{DEVNAME}"
57
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0259", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY6.HEX -D $env{DEVNAME}"
58
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="2850", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/IMG2P.HEX -D $env{DEVNAME}"
59
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="4022", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY7.HEX -D $env{DEVNAME}"
60
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="6000", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY8.HEX -D $env{DEVNAME}"
61
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="6004", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY8L.HEX -D $env{DEVNAME}"
62
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="6002", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY8PRO.HEX -D $env{DEVNAME}"
63
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="8300", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY9S.HEX -D $env{DEVNAME}"
64
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1000", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY10.HEX -D $env{DEVNAME}"
65
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1110", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY11.HEX -D $env{DEVNAME}"
66
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1200", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY12.HEX -D $env{DEVNAME}"
67
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1500", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY15.HEX -D $env{DEVNAME}"
68
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1600", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY16.HEX -D $env{DEVNAME}"
69
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="6940", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY22.HEX -D $env{DEVNAME}"
70
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="6740", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY21.HEX -D $env{DEVNAME}"
71
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="8140", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY23.HEX -D $env{DEVNAME}"
72
+
73
+ #QHY IMG video cameras
74
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="b618", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/IMG0H.HEX -D $env{DEVNAME}"
75
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="b285", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/IMG2S.HEX -D $env{DEVNAME}"
76
+
77
+ #QHY5 5II Guider
78
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="296c", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
79
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="296c", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
80
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0901", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
81
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1002", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5.HEX -D $env{DEVNAME} -s /lib/firmware/qhy/QHY5LOADER.HEX"
82
+
83
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0920", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY5II.HEX -D $env{DEVNAME}"
84
+
85
+
86
+ #QHY OTHER CAMERA(4 QHY16000,POLEMASER,MINICAM5)
87
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1610", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/QHY16000.HEX -D $env{DEVNAME}"
88
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0940", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/POLEMASTER.HEX -D $env{DEVNAME}"
89
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0930", RUN+="/sbin/fxload -t fx2 -I /lib/firmware/qhy/miniCam5.HEX -D $env{DEVNAME}"
90
+
91
+
92
+ #QHYCCD A series (3+6+2 QHY27,QHY28,QHY29 QHY90A,QHY695A,QHY814A,QHY16200A,QHY09000A,QHY16803A IC8300 IC16803
93
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1650", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY27.HEX -D $env{DEVNAME}"
94
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1670", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY28.HEX -D $env{DEVNAME}"
95
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="2950", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY29.HEX -D $env{DEVNAME}"
96
+
97
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="8322", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY90A.HEX -D $env{DEVNAME}"
98
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="6952", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY695A.HEX -D $env{DEVNAME}"
99
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="a814", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY814A.HEX -D $env{DEVNAME}"
100
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1622", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY16200A.HEX -D $env{DEVNAME}"
101
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="9000", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY09000A.HEX -D $env{DEVNAME}"
102
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1632", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/QHY16803A.HEX -D $env{DEVNAME}"
103
+
104
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="8320", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/IC90A.HEX -D $env{DEVNAME}"
105
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="8310", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/IC8300.HEX -D $env{DEVNAME}"
106
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1630", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/IC16803.HEX -D $env{DEVNAME}"
107
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="1620", RUN+="/sbin/fxload -t fx2lp -I /lib/firmware/qhy/IC16200A.HEX -D $env{DEVNAME}"
108
+
109
+ # QHYCCD 5III series (5:QHY5III174,QHY5III178,QHY5III185,QHY5III224,QHY5III290)
110
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0174", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY5III174.img -D $env{DEVNAME}"
111
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0178", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY5III178.img -D $env{DEVNAME}"
112
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0185", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY5III185.img -D $env{DEVNAME}"
113
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0224", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY5III224.img -D $env{DEVNAME}"
114
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0290", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY5III290.img -D $env{DEVNAME}"
115
+
116
+ #QHYCCD Scientific Camera (7:QHY42,QHY42PRO,QHY2020,QHY4040,QHY6060,QHY411,QHY461)
117
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="4200", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY42.img -D $env{DEVNAME}"
118
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="4202", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY42PRO.img -D $env{DEVNAME}"
119
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="2020", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY2020.img -D $env{DEVNAME}"
120
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="4040", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY4040.img -D $env{DEVNAME}"
121
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="6060", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY6060.img -D $env{DEVNAME}"
122
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c413", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY411ERIS.img -D $env{DEVNAME}"
123
+ #ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c411", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY411.img -D $env{DEVNAME}"
124
+ #ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c461", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY461.img -D $env{DEVNAME}"
125
+
126
+
127
+
128
+ #QHYCCD SMALL COLDMOS Camera (5:QHY174 QHY178 QHY290 QHY224 QHY550)
129
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c174", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY174.img -D $env{DEVNAME}"
130
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c178", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY178.img -D $env{DEVNAME}"
131
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c290", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY290.img -D $env{DEVNAME}"
132
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c224", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY224.img -D $env{DEVNAME}"
133
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c550", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY550.img -D $env{DEVNAME}"
134
+
135
+ #QHYCCD Medium COLDMOS Camera (9:QHY183,QHY163,QHY294,QHY165,QHY168,QHY247,QHY128,QHY367,QHY600)
136
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c183", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY183.img -D $env{DEVNAME}"
137
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c163", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY163.img -D $env{DEVNAME}"
138
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c294", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY294.img -D $env{DEVNAME}"
139
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c165", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY165.img -D $env{DEVNAME}"
140
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c167", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY168.img -D $env{DEVNAME}"
141
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c247", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY247.img -D $env{DEVNAME}"
142
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c128", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY128.img -D $env{DEVNAME}"
143
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c367", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY367.img -D $env{DEVNAME}"
144
+ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1618", ATTRS{idProduct}=="c600", RUN+="/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY600.img -D $env{DEVNAME}"
145
+
146
+ #===============================================================================
147
+ # 3. Post-enumeration device IDs:
148
+ #===============================================================================
149
+ # QHY-Based camera by other vendors
150
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", MODE="0666"
151
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1856", MODE="0666"
152
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1781", MODE="0666"
153
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b4", MODE="0666"
154
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="0547", MODE="0666"
155
+
156
+ # QHYCCD
157
+ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1618", MODE="0666"
@@ -0,0 +1,49 @@
1
+ #!/bin/bash
2
+ #####################################################################################################################
3
+ # Description : This script installs all the necessary files (libraries, firmwares, udev, include) on Linux machine.
4
+ # Written by : MiaoYongQiang (davis_miao@126.com)
5
+ # Version : V4.0.13
6
+ # Date : 2019-02-18
7
+ #####################################################################################################################
8
+
9
+ # install firmware
10
+
11
+ mkdir -p /lib/udev
12
+ mkdir -p /lib/udev/rules.d
13
+ cp -a lib/udev/rules.d/* /lib/udev/rules.d
14
+
15
+ mkdir -p /etc/udev
16
+ mkdir -p /etc/udev/rules.d
17
+ cp -a etc/udev/rules.d/* /etc/udev/rules.d
18
+
19
+ cp -a sbin/fxload /sbin/fxload
20
+
21
+ mkdir -p /usr/local/cmake_modules
22
+ cp -a usr/local/cmake_modules/* /usr/local/cmake_modules
23
+
24
+ mkdir -p /usr/local/doc
25
+ cp -a usr/local/doc/* /usr/local/doc
26
+
27
+ mkdir -p /usr/local/fx3load
28
+ cp -a usr/local/fx3load/* /usr/local/fx3load
29
+
30
+ mkdir -p /usr/local/lib
31
+ cp -a usr/local/lib/* /usr/local/lib
32
+
33
+ mkdir -p /usr/local/include
34
+ cp -a usr/local/include/* /usr/local/include
35
+
36
+ mkdir -p /lib/firmware
37
+ mkdir -p /lib/firmware/qhy
38
+ cp -a lib/firmware/qhy/* /lib/firmware/qhy
39
+
40
+ mkdir -p /usr/local/testapp
41
+ cp -a usr/local/testapp/* /usr/local/testapp
42
+
43
+ mkdir -p /usr/local/udev
44
+ cp -a usr/local/udev/* /usr/local/udev
45
+
46
+ mkdir -p /usr/share/usb
47
+ cp -a usr/share/usb/* /usr/share/usb
48
+
49
+ ldconfig