diff --git a/README.md b/README.md index 343d64f..2350249 100755 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Copyright (c): 2018 Brookhaven National Laboratory ### An EPICS Driver for USB Video Class (UVC) devices -This driver is in development, and is currently available in only beta form. (R0-1) +There is currently one release version of this driver (R1-0). Release notes are available on https://jwlodek.github.io/ADUVC. Please report any problems or feature requests on the issues page on https://github.com/jwlodek/ADUVC. ### Installation @@ -80,4 +80,8 @@ There are also several more traditional industrial cameras that use the UVC stan ### Some Known Issues -* When building libuvc, the system level jpeg library is used in cmake, but once ADSupport is compiled, a different version is used. This causes an error when converting mjpeg to rgb. THe solution is to either compile libuvc with the jpeg lib in ADSupport, or to set JPEG_EXTERNAL = YES in the CONFIG_SITE.local file in the top level AD configuration directory \ No newline at end of file +* When building libuvc, the system level jpeg library is used in cmake, but once ADSupport is compiled, a different version is used. This causes an error when converting mjpeg to rgb. THe solution is to either compile libuvc with the jpeg lib in ADSupport, or to set JPEG_EXTERNAL = YES in the CONFIG_SITE.local file in the top level AD configuration directory +* Certain cameras only support one framerate per frame size, so setting the framerate PV may not affect the actual image rate +* Not all cameras support RGB raw images, and so YUYV may be the only supported raw image format +* In cheaper cameras framerate drops when there is lots of motion. This is due to image processing on the camera itself, not due to the driver. + diff --git a/RELEASE.md b/RELEASE.md index 07270b8..d623161 100755 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,14 +1,26 @@ # ADUVC RELEASES -Author: Jakub Wlodek - -This driver does not yet have an official stable release. Currently the 0.1.0 beta release is available, and image acquisition has been tested as working. Currently only 24-bit mjpeg images are supported. This will be changed in future releases. +Author: Jakub Wlodek ADUVC requires libusb, libuvc, epics-base, epics-modules, ADCore, and ADSupport. Further installation information can be found in the README file. Release Notes ============= +R1-0 (7-December-2018) +----- +* Key detector features implemented: + * UVC Camera features (Sharpness, Backlight, Brightness, Gain, etc.) + * More format support (MJPEG, RGB, YUYV) + * Frame size and framerate selection (Previously only 640x480 @ 30 fps) + * Custom CSS Screen Added + +* Key fixes and improvements + * Fixed error where first frame in stream was corrupt + * Fixed IOC autosave feature + * Resolved frame drop due to motion (camera dependant) + + R0-1 (Beta) (5-November-2018) ----- * Key detector features implemented: diff --git a/adUVCApp/op/ADUVC.opi b/adUVCApp/op/ADUVC.opi index 4fa35e5..e87f06d 100644 --- a/adUVCApp/op/ADUVC.opi +++ b/adUVCApp/op/ADUVC.opi @@ -15,7 +15,7 @@ 5 - 970 + 1000 true @@ -56,7 +56,7 @@ 100.0 - Default + Default false @@ -102,7 +102,7 @@ $(pv_value) 1 true - Default + Default @@ -194,14 +194,14 @@ $(pv_value) 0.0 - Default + Default false false - 719 + 774 true @@ -252,7 +252,7 @@ $(pv_value) 100.0 - Default + Default false @@ -1021,8 +1021,8 @@ $(pv_value) 40 false -11870864:166d4cb956b:-4d36 - 587 - 631 + 589 + 695 @@ -1071,8 +1071,8 @@ $(pv_value) 100 false -11870864:166d4cb956b:-4d35 - 558 - 631 + 560 + 695 @@ -1097,7 +1097,7 @@ $(pv_value) 1 true - Default + Default false @@ -1125,8 +1125,8 @@ $(pv_value) Action Button 59 -11870864:166d4cb956b:-4d34 - 544 - 651 + 546 + 715 @@ -1151,7 +1151,7 @@ $(pv_value) 1 true - Default + Default false @@ -1179,8 +1179,8 @@ $(pv_value) Action Button 59 -11870864:166d4cb956b:-4d33 - 611 - 651 + 613 + 715 @@ -1219,8 +1219,8 @@ $(pv_value) 70 false -11870864:166d4cb956b:-4d32 - 469 - 651 + 471 + 715 @@ -1317,7 +1317,7 @@ $(pv_value) 1 true - Default + Default false @@ -1435,8 +1435,8 @@ $(pv_value) 140 false -11870864:166d4cb956b:-4d2d - 399 - 751 + 401 + 815 @@ -1487,8 +1487,8 @@ $(pv_value) 160 false -11870864:166d4cb956b:-4d2c - 544 - 751 + 546 + 815 @@ -1527,8 +1527,8 @@ $(pv_value) 140 false -11870864:166d4cb956b:-4d2b - 399 - 801 + 401 + 865 @@ -1579,8 +1579,8 @@ $(pv_value) 67 false -11870864:166d4cb956b:-4d2a - 544 - 802 + 546 + 866 @@ -1636,8 +1636,8 @@ $(pv_value) Text Input 60 -11870864:166d4cb956b:-4d29 - 544 - 826 + 546 + 890 @@ -1676,8 +1676,8 @@ $(pv_value) 130 false -11870864:166d4cb956b:-4d28 - 409 - 826 + 411 + 890 @@ -1728,8 +1728,8 @@ $(pv_value) 80 false -11870864:166d4cb956b:-4d27 - 609 - 827 + 611 + 891 @@ -1768,8 +1768,8 @@ $(pv_value) 100 false -11870864:166d4cb956b:-4d26 - 439 - 851 + 441 + 915 @@ -1820,8 +1820,8 @@ $(pv_value) 100 false -11870864:166d4cb956b:-4d25 - 544 - 852 + 546 + 916 @@ -1860,8 +1860,8 @@ $(pv_value) 150 false -11870864:166d4cb956b:-4d24 - 369 - 876 + 371 + 940 true @@ -1878,7 +1878,7 @@ $(pv_value) 1 true - Default + Default false @@ -1904,8 +1904,8 @@ $(pv_value) Menu Button 90 -11870864:166d4cb956b:-4d23 - 524 - 876 + 526 + 940 @@ -1956,8 +1956,8 @@ $(pv_value) 80 false -11870864:166d4cb956b:-4d22 - 619 - 878 + 621 + 942 @@ -1996,8 +1996,8 @@ $(pv_value) 60 false -11870864:166d4cb956b:-4d21 - 369 - 776 + 371 + 840 @@ -2048,8 +2048,8 @@ $(pv_value) 275 false -11870864:166d4cb956b:-4d20 - 434 - 776 + 436 + 840 @@ -2088,8 +2088,8 @@ $(pv_value) 150 false -11870864:166d4cb956b:-4d1f - 389 - 676 + 391 + 740 @@ -2140,8 +2140,8 @@ $(pv_value) 60 false -11870864:166d4cb956b:-4d1e - 544 - 677 + 546 + 741 @@ -2198,7 +2198,7 @@ $(pv_value) 1 true - Default + Default false @@ -2316,8 +2316,8 @@ $(pv_value) 160 false -11870864:166d4cb956b:-4d1a - 379 - 701 + 381 + 765 true @@ -2334,7 +2334,7 @@ $(pv_value) 1 true - Default + Default false @@ -2360,8 +2360,8 @@ $(pv_value) Menu Button 80 -11870864:166d4cb956b:-4d19 - 544 - 701 + 546 + 765 @@ -2400,8 +2400,8 @@ $(pv_value) 120 false -11870864:166d4cb956b:-4d18 - 419 - 726 + 421 + 790 @@ -2452,8 +2452,8 @@ $(pv_value) 160 false -11870864:166d4cb956b:-4d17 - 544 - 727 + 546 + 791 @@ -2479,7 +2479,7 @@ $(pv_value) 100.0 - Default + Default false @@ -2537,7 +2537,7 @@ $(pv_value) 0.0 - Default + Default false @@ -2685,7 +2685,7 @@ $(pv_value) 1 true - Default + Default false @@ -2777,7 +2777,7 @@ $(pv_value) 1 true - Default + Default false @@ -2831,7 +2831,7 @@ $(pv_value) 1 true - Default + Default false @@ -4982,7 +4982,7 @@ $(pv_value) 1 true - Default + Default @@ -5022,7 +5022,7 @@ $(pv_value) 1 true - Default + Default @@ -5062,7 +5062,7 @@ $(pv_value) 1 true - Default + Default @@ -5102,7 +5102,7 @@ $(pv_value) 1 true - Default + Default @@ -5142,7 +5142,7 @@ $(pv_value) 1 true - Default + Default @@ -5182,7 +5182,7 @@ $(pv_value) 1 true - Default + Default @@ -5210,4 +5210,289 @@ $(pv_value) 6 864 + + + false + + + + + + + 0 + 1 + true + + + + + + + 20 + 2 + Label_82 + + + true + true + false + + + Frame Format + + true + 1 + true + Label + 134 + false + 366e9c6d:167896224cd:-79f4 + 398 + 631 + + + true + false + false + + + + false + + + + 6 + 1 + true + + Default + + false + + + + 20 + + Menu Button_5 + $(P)$(R)UVCImageFormat + + + + true + true + false + + + false + $(pv_name) +$(pv_value) + false + true + Menu Button + 80 + 366e9c6d:167896224cd:-79f3 + 537 + 631 + + + + false + false + false + + + + true + + + + 0 + 1 + true + + + + false + + + + 4 + 18 + 1 + Text Update_55 + 0 + true + $(P)$(R)UVCImageFormat_RBV + + 0.0 + + + true + true + false + + + false + ###### + $(pv_name) +$(pv_value) + false + 1 + true + Text Update + 79 + false + 366e9c6d:167896224cd:-79f2 + 619 + 630 + + + + false + + + + + + + 0 + 1 + true + + + + + + + 20 + 2 + Label_83 + + + true + true + false + + + Frame Rate + + true + 1 + true + Label + 130 + false + 366e9c6d:167896224cd:-79d4 + 406 + 666 + + + + false + false + false + + + + false + + + + 3 + 1 + + true + + + + false + + + + 1 + 20 + 0 + false + 1.7976931348623157E308 + -1.7976931348623157E308 + false + Text Input_24 + 0 + true + $(P)$(R)UVCFramerate + + 0.0 + + + true + true + false + + + 0 + false + + + $(pv_name) +$(pv_value) + false + true + Text Input + 60 + 366e9c6d:167896224cd:-79d3 + 540 + 666 + + + + false + false + false + + + + true + + + + 0 + 1 + true + + + + false + + + + 1 + 18 + 0 + Text Update_56 + 0 + true + $(P)$(R)UVCFramerate_RBV + + 0.0 + + + true + true + false + + + false + ###### + $(pv_name) +$(pv_value) + false + 1 + true + Text Update + 80 + false + 366e9c6d:167896224cd:-79d2 + 605 + 667 + \ No newline at end of file diff --git a/adUVCApp/src/ADUVC.h b/adUVCApp/src/ADUVC.h index 9f8cbd0..9178cc1 100755 --- a/adUVCApp/src/ADUVC.h +++ b/adUVCApp/src/ADUVC.h @@ -15,9 +15,9 @@ #define ADUVC_H // version numbers -#define ADUVC_VERSION 0 -#define ADUVC_REVISION 1 -#define ADUVC_MODIFICATION 3 +#define ADUVC_VERSION 1 +#define ADUVC_REVISION 0 +#define ADUVC_MODIFICATION 0 // includes #include