Coder Social home page Coder Social logo

dennis-van-gils / dvg_arduino_lock-in_amp Goto Github PK

View Code? Open in Web Editor NEW
20.0 5.0 6.0 216.17 MB

A fully fledged lock-in amplifier running at 25 kHz sampling rate @ 12-bit on an Adafruit M4 microprocessor board with an extensive Python graphical user interface showing real-time signals, interactive filter design and real-time power spectra.

License: MIT License

C++ 14.41% Python 6.89% Batchfile 0.09% MATLAB 0.11% Limbo 0.01% HTML 5.66% C 72.83%
lock-in-amplifier samd21 samd51 gui signal-processing scientific laboratory physics detection signal-generator

dvg_arduino_lock-in_amp's People

Contributors

dennis-van-gils avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dvg_arduino_lock-in_amp's Issues

External reference

Hi,

Could I ask if you've considered adding the option to use an external reference signal in place of ref_X?

Would it be straightforward to add this feature?

Thanks for creating this super useful project!

Jon

Not supported by apple silicon M3 conda distributions

I tried installing the requirements.txt but pip complained that mkl is not available. I commented the 'mkl' line on requirements.txt and proceeded:

pip
ipython
# mkl  <========
psutil
pyserial  ~= 3.5

but the script failed to instal pyfftw:

Building wheels for collected packages: pyfftw, PyQt5-sip
  Building wheel for pyfftw (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for pyfftw (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [41 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-11.0-arm64-3.8
      creating build/lib.macosx-11.0-arm64-3.8/pyfftw
      copying pyfftw/config.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw
      copying pyfftw/_version.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw
      copying pyfftw/__init__.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw
      creating build/lib.macosx-11.0-arm64-3.8/pyfftw/builders
      copying pyfftw/builders/builders.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/builders
      copying pyfftw/builders/__init__.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/builders
      copying pyfftw/builders/_utils.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/builders
      creating build/lib.macosx-11.0-arm64-3.8/pyfftw/interfaces
      copying pyfftw/interfaces/cache.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/interfaces
      copying pyfftw/interfaces/__init__.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/interfaces
      copying pyfftw/interfaces/scipy_fft.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/interfaces
      copying pyfftw/interfaces/dask_fft.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/interfaces
      copying pyfftw/interfaces/numpy_fft.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/interfaces
      copying pyfftw/interfaces/scipy_fftpack.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/interfaces
      copying pyfftw/interfaces/_utils.py -> build/lib.macosx-11.0-arm64-3.8/pyfftw/interfaces
      UPDATING build/lib.macosx-11.0-arm64-3.8/pyfftw/_version.py
      set build/lib.macosx-11.0-arm64-3.8/pyfftw/_version.py to '0.13.1'
      running build_ext
      DEBUG:__main__:Link FFTW dynamically
      DEBUG:__main__:Compiler include_dirs: ['/Users/erickmartinez/anaconda3/envs/lia/include/python3.8']
      DEBUG:__main__:3.8.10 | packaged by conda-forge | (default, Sep 13 2021, 21:14:52)
      [Clang 11.1.0 ]
      DEBUG:__main__:Sniffer include_dirs: ['/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-install-ehsq7wc0/pyfftw_eccb08eed9964fc98b6ab7187e04ac99/include', '/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-install-ehsq7wc0/pyfftw_eccb08eed9964fc98b6ab7187e04ac99/pyfftw', '/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-build-env-jy26bx7y/overlay/lib/python3.8/site-packages/numpy/core/include', '/Users/erickmartinez/anaconda3/envs/lia/include']
      DEBUG:__main__:objects: []
      DEBUG:__main__:libraries: []
      DEBUG:__main__:include dirs: ['/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-install-ehsq7wc0/pyfftw_eccb08eed9964fc98b6ab7187e04ac99/include', '/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-install-ehsq7wc0/pyfftw_eccb08eed9964fc98b6ab7187e04ac99/pyfftw', '/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-build-env-jy26bx7y/overlay/lib/python3.8/site-packages/numpy/core/include', '/Users/erickmartinez/anaconda3/envs/lia/include']
      /var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pyfftw-9uhqjrgx/None.c:1:10: fatal error: 'fftw3.h' file not found
      #include <fftw3.h>
               ^~~~~~~~~
      1 error generated.
      WARNING:__main__:Compilation error: command '/usr/bin/gcc' failed with exit code 1
      DEBUG:__main__:gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/erickmartinez/anaconda3/envs/lia/include -arch arm64 -I/Users/erickmartinez/anaconda3/envs/lia/include -arch arm64 -I/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-install-ehsq7wc0/pyfftw_eccb08eed9964fc98b6ab7187e04ac99/include -I/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-install-ehsq7wc0/pyfftw_eccb08eed9964fc98b6ab7187e04ac99/pyfftw -I/private/var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pip-build-env-jy26bx7y/overlay/lib/python3.8/site-packages/numpy/core/include -I/Users/erickmartinez/anaconda3/envs/lia/include -I/Users/erickmartinez/anaconda3/envs/lia/include/python3.8 -c /var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pyfftw-9uhqjrgx/None.c -o /var/folders/zv/mhnhzlt95zv5c8fqm65sykmw0000gn/T/pyfftw-9uhqjrgx/None.o
      
      DEBUG:__main__:Checking with includes ['fftw3.h']...no
      error: Could not find the FFTW header 'fftw3.h'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyfftw
  Building wheel for PyQt5-sip (pyproject.toml) ... done
  Created wheel for PyQt5-sip: filename=PyQt5_sip-12.13.0-cp38-cp38-macosx_11_0_arm64.whl size=79592 sha256=ba4d613bd71a360a2d6abc3a6d303639f9c4f926305eba696c51b8150b631d09
  Stored in directory: /Users/erickmartinez/Library/Caches/pip/wheels/7f/3f/55/593da8d20b5c2810baf2a81c8ae78449b348f09c83111c51a3
Successfully built PyQt5-sip
Failed to build pyfftw
ERROR: Could not build wheels for pyfftw, which is required to install pyproject.toml-based projects

I think fftw can be installed via conda:

pyFFTW/pyFFTW#316 (comment)

but I am not sure if you need mkl.

dvg_pyqt_filelogger.py / file missing?

Hi, I came across your project which really looks awesome! Thanks for sharing!

After cloning the repo I tried to start the main program DvG_Arduino_lockin_amp.py and got the following error:

line 23: from dvg_pyqt_filelogger import FileLogger
ModuleNotFoundError: No module named 'dvg_pyqt_filelogger'

Apparently this file is currently not part of the repo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.