X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok-meter;h=b2f60070d5442d284d76a58aa74b814599e458f6;hb=1dc3ae069fa8649774fb6d97f0d9e974318d6577;hp=7ded2865cda5d5defaf3d1be2e4f137555ad3176;hpb=68348e5abaa05fbbde7f3e6b0b28c2d12a7a2601;p=sigrok-meter.git diff --git a/sigrok-meter b/sigrok-meter index 7ded286..b2f6007 100755 --- a/sigrok-meter +++ b/sigrok-meter @@ -16,18 +16,15 @@ ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## along with this program; if not, see . ## import argparse -import sigrok.core as sr import sys import textwrap import signal default_drivers = [('demo:analog_channels=4', 'samplerate=4')] -default_loglevel = 2 def parse_cli(): parser = argparse.ArgumentParser( @@ -63,7 +60,7 @@ def parse_cli(): help='Specify device configuration options') parser.add_argument('-l', '--loglevel', type=int, - default=default_loglevel, + default=None, help='Set loglevel (5 is most verbose)') parser.add_argument('--pyside', action='store_true', @@ -96,20 +93,32 @@ if __name__ == '__main__': qtcompat.load_modules(args.pyside) QtCore = qtcompat.QtCore QtGui = qtcompat.QtGui - import mainwindow - - context = sr.Context_create() - try: - loglevel = sr.LogLevel.get(args.loglevel) - context.log_level = loglevel - except: - sys.exit('Error: invalid log level.') app = QtGui.QApplication([]) + try: + import sigrok.core as sr + except Exception as e: + QtGui.QMessageBox.critical(None, 'Error starting sigrok-meter', + 'Unable to use the sigrok Python bindings:\n{}.'.format(e)) + sys.exit(1) + + # Initialize modules that need a QApplication to exist. + import settings + settings.init() import icons icons.load_icons() + context = sr.Context_create() + + if args.loglevel != None: + try: + loglevel = sr.LogLevel.get(args.loglevel) + settings.logging.level.setValue(loglevel) + except: + sys.exit('Error: invalid log level.') + + import mainwindow s = mainwindow.MainWindow(context, args.drivers) s.show()