Sponsored Content
Top Forums Programming Python Screen Capture of RIGOL 1054Z on macOS Catalina Using NI-VISA Post 303043049 by Neo on Thursday 16th of January 2020 08:29:03 AM
Old 01-16-2020
Update:

I find this works best if we enter the pip environment:

Code:
pipenv shell
(rigol-grab) bash-3.2$ python --version
Python 3.7.5

and we get better screen grabs if we edit the rigol_grab.py script and change the image format to JPG instead of PNG. However, so far, I cannot get 100% perfect images each time without disconnecting and reconnecting the USB cable.

This is a known bug with this script, and I'm not sure how much time I will spend debugging this at this time.

FYI (seems buggy):

Code:
(rigol-grab) bash-3.2$ pyvisa-info
Machine Details:
   Platform ID:    Darwin-19.2.0-x86_64-i386-64bit
   Processor:      i386

Python:
   Implementation: CPython
   Executable:     /Users/Tim/.local/share/virtualenvs/rigol-grab-UTG9DSmW/bin/python3.7
   Version:        3.7.5
   Compiler:       Clang 11.0.0 (clang-1100.0.33.8)
   Bits:           64bit
   Build:          Nov  1 2019 02:16:23 (#default)
   Unicode:        UCS4

PyVISA Version: 1.10.1

Backends:
   ni:
      Version: 1.10.1 (bundled with PyVISA)
      #1: /Library/Frameworks/visa.framework/visa:
         found by: auto
         bitness: 64
         Vendor: National Instruments
         Impl. Version: 19922944
         Spec. Version: 5244928
   py:
      Version: 0.3.1
      ASRL INSTR:
         Please install PySerial (>=3.0) to use this resource type.
         No module named 'serial'
      USB INSTR: Available via PyUSB (1.0.2). Backend: libusb1
      USB RAW: Available via PyUSB (1.0.2). Backend: libusb1
      TCPIP INSTR: Available 
      TCPIP SOCKET: Available 
      GPIB INSTR:
         Please install linux-gpib to use this resource type.
         No module named 'gpib'

(rigol-grab) bash-3.2$

Python Screen Capture of RIGOL 1054Z on macOS Catalina Using NI-VISA-hello_invertedjpg
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

screen capture

I was wondering is there something out there for Solaris 7 for screen capture? Also it would really help if there was some software out there that can record whats happens on the screen for like 10 seconds or how ever long I need it to. I did a search but doesn't seem to be alot out there. (10 Replies)
Discussion started by: merlin
10 Replies

2. Solaris

Solaris 10 screen capture

We are using Solaris 10 for our Radiation Treatment Planning and need to create a simulation for our service engineers. I need a screen capture tool that can not only capture screens, but create movies of mouse movements (similar to Captivate). I have contacted Oracle and talked to several people... (2 Replies)
Discussion started by: TomH
2 Replies

3. OS X (Apple)

Python script to do simple audio capture...

This site is the first to get this snippet. It will capture an audio recording of any time length within the limits of OSX's QuickTime Player's capablility... A shell script derivative of this will be used as a further capture for CygWin's AudioScope.sh. Thoroughly read ALL the comments in... (0 Replies)
Discussion started by: wisecracker
0 Replies

4. UNIX for Beginners Questions & Answers

Capture power button press on MacOs High Sierra?

Hello everyone! I'm developing a MacOs Application in python and I'm having some issues trying to find information related to the power button pressed event. I know that in Ubuntu 14.04 you can find information about it on the acpi folders, but I realized that here in Mac that process is... (0 Replies)
Discussion started by: xedge
0 Replies

5. OS X (Apple)

MacOS 10.15 (Catalina) switches from bash to zsh

Interestingly Apple has decided to switch the default shell for new users from bash to zsh in MacOS Catalina (10.15) Use zsh as the default shell on your Mac - Apple Support Another interesting fact is that Catalina also comes with /bin/dash (5 Replies)
Discussion started by: Scrutinizer
5 Replies

6. OS X (Apple)

MacOS 10.15 Catalina Crashes and Freezes on Boot

Sadly, I have turned off my access to the Apple Developers Beta program after installing macOS 10.15 Catalina a few days ago. After the install, I rebooted by MacBook Air and it "hard froze" and we were heading out of town so I grabbed a backup MBA running Mojave. Then, after getting back at... (10 Replies)
Discussion started by: Neo
10 Replies

7. Windows & DOS: Issues & Discussions

Poor Windows 10 Performance of Parallels Desktop 15 on macOS Catalina

Just a quick note for macOS users. I just installed (and removed) Parallels Desktop 15 Edition on my MacPro (2013) with 64GB memory and 12-cores, which is running the latest version of macOS Catalina as of this post. The reason for this install was to test some RIGOL test gear software which... (6 Replies)
Discussion started by: Neo
6 Replies

8. Programming

A Slightly Better NTP Client for the ESP32 (ESPWROOM32) on macOS Catalina

Currently have two ESP8266 modules testing some Blynk apps, whereI'm not so happy with the Blynk business model for developers, but that's another story. So, with two of my ESP8266s currently "busy", I decided to work on the ESP32, and in particular the ESPWROOM32. I installed the... (0 Replies)
Discussion started by: Neo
0 Replies

9. OS X (Apple)

MacOS 10.15.2 Catalina display crash and system panic

MacPro (2013) 12-Core, 64GB RAM (today's crash): panic(cpu 2 caller 0xffffff7f8b333ad5): userspace watchdog timeout: no successful checkins from com.apple.WindowServer in 120 seconds service: com.apple.logd, total successful checkins since load (318824 seconds ago): 31883, last successful... (3 Replies)
Discussion started by: Neo
3 Replies
IO::Capture::Stdout(3pm)				User Contributed Perl Documentation				  IO::Capture::Stdout(3pm)

NAME
IO::Capture::Stdout - Capture any output sent to STDOUT SYNOPSIS
# Generic example (Just to give the overall view) use IO::Capture::Stdout; $capture = IO::Capture::Stdout->new(); $capture->start(); # STDOUT Output captured print STDOUT "Test Line One "; print STDOUT "Test Line Two "; print STDOUT "Test Line Three "; $capture->stop(); # STDOUT output sent to wherever it was before 'start' # In 'scalar context' returns next line $line = $capture->read; print "$line"; # prints "Test Line One" $line = $capture->read; print "$line"; # prints "Test Line Two" # move line pointer to line 1 $capture->line_pointer(1); $line = $capture->read; print "$line"; # prints "Test Line One" # Find out current line number $current_line_position = $capture->line_pointer; # In 'List Context' return an array(list) @all_lines = $capture->read; # More useful example 1 - "Using in module tests" # Note: If you don't want to make users install # the IO::Capture module just for your tests, # you can just install in the t/lib directory # of your module and use the lib pragma in # your tests. use lib "t/lib"; use IO::Capture::Stdout; use Test::More; my $capture = IO::Capture::Stdout->new; $capture->start # execute with a bad parameter to make sure get # an error. ok( ! $test("Bad Parameter") ); $capture->stop(); DESCRIPTION
The module "IO::Capture::Stdout", is derived from the abstract class "IO::Capture". See IO::Capture. The purpose of the module (as the name suggests) is to capture any output sent to "STDOUT". After the capture is stopped, the STDOUT filehandle will be reset to the previ- ous location. E.g., If previously redirected to a file, when "IO::Capture->stop" is called, output will start going into that file again. Note: This module won't work with the perl function, system(), or any other operation involving a fork(). If you want to capture the output from a system command, it is faster to use open() or back-ticks. my $output = `/usr/sbin/ls -l 2>&1`; METHODS
new o Creates a new capture object. o An object can be reused as needed, so will only need to do one of these. o Be aware, any data previously captured will be discarded if a new capture session is started. start o Start capturing data into the "IO::Capture" Object. o Can not be called on an object that is already capturing. o Can not be called while STDOUT tied to an object. o "undef" will be returned on an error. stop o Stop capturing data and point STDOUT back to it's previous output location I.e., untie STDOUT read o In Scalar Context o Lines are read from the buffer at the position of the "line_pointer", and the pointer is incremented by one. $next_line = $capture->read; o In List Context o The array is returned. The "line_pointer" is not affected. @buffer = $capture->read; o Data lines are returned exactly as they were captured. You may want to use "chomp" on them if you don't want the end of line charac- ter(s) while (my $line = $capture->read) { chomp $line; $cat_line = join '', $cat_line, $line; } line_pointer o Reads or sets the "line_pointer". my $current_line = $capture->line_pointer; $capture->line_pointer(1); SUB-CLASSING Adding Features If you would like to sub-class this module to add a feature (method) or two, here is a couple of easy steps. Also see IO::Capture::Over- view. 1 Give your package a name package MyPackage; 2 Use this "IO::Capture::Stdout" as your base class like this: package MyPackage; use base qw/IO::Capture::Stdout/; 3 Add your new method like this package MyPackage; use base qw/IO::Capture::Stdout/; sub grep { my $self = shift; for $line ( } See Also IO::Capture::Overview IO::Capture IO::Capture::Stderr AUTHORS
Mark Reynolds reynolds@sgi.com Jon Morgan jmorgan@sgi.com COPYRIGHT
Copyright (c) 2003, Mark Reynolds. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. perl v5.8.8 2007-07-30 IO::Capture::Stdout(3pm)
All times are GMT -4. The time now is 09:28 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy