Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] Fieldline opm plugin #952

Open
wants to merge 147 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
e8fb5fd
add fieldline plugin folder to cmake in mne_scan
juangpc Feb 14, 2023
76920a0
add initial structure plugin Fieldline
juangpc Feb 14, 2023
3dd2832
add fieldline header file for the plugin
juangpc Feb 14, 2023
f8cfe07
activate fieldline plugin
juangpc Feb 15, 2023
ee60b52
fieldline plugin adapting
juangpc Feb 16, 2023
fc7817b
improve indentation cmakelists
juangpc Feb 17, 2023
9bc494a
add .sessions to gitignore
juangpc Feb 17, 2023
e8f4104
create fieldline plugin
juangpc Feb 18, 2023
96b769f
fix typo no_tests
juangpc Feb 18, 2023
29bf3e9
fieldline barebones plugin working
juangpc Feb 21, 2023
0a5a2a2
add python bindings to fieldline plugin
juangpc Feb 22, 2023
07804e2
add python to fieldline plugin
juangpc Feb 22, 2023
13c3afe
add fieldline acq system class
juangpc Feb 22, 2023
52fd119
add example python script
juangpc Feb 22, 2023
5614571
Add sensor, chassis, and rack ui elements. Sensors can blink
gabrielbmotta Feb 22, 2023
6a101ff
Reorganize and refactor fl_rack
gabrielbmotta Feb 23, 2023
6102e5b
Reorganize and refactor fl_sensor
gabrielbmotta Feb 23, 2023
f3ce786
Reorganiz files and names
gabrielbmotta Feb 23, 2023
3d46492
clean up led indicator
gabrielbmotta Feb 23, 2023
bc7122a
Implement rest of Fielline view and chassis logic
gabrielbmotta Feb 23, 2023
f0ddaf5
Change indexing type to unsigned size_t
gabrielbmotta Feb 24, 2023
4402f38
remove unnecessary PRIVATE in cmakelists file
juangpc Feb 23, 2023
eaeab9c
add folder for dependencies
juangpc Feb 23, 2023
5c32d81
minor edit cmakelists.txt
juangpc Feb 23, 2023
3796cb4
Trigger deletion of removed widgets
gabrielbmotta Feb 27, 2023
b553c47
Trying out gui interaction
gabrielbmotta Feb 28, 2023
e1a7984
create random data from fieldline
juangpc Mar 1, 2023
2910ea3
[FIX] Seg fault when calling qDebug in destructor
juangpc Mar 2, 2023
b0c8761
set minimum size for control slider
juangpc Mar 3, 2023
b7b6021
Add functions for creating fiffinfo based on filedline chassis parame…
gabrielbmotta Mar 2, 2023
67ca4fb
Add callback functions to be called by python
gabrielbmotta Mar 3, 2023
a76880e
uncomment cmakelists to include python paths and vars
juangpc Mar 3, 2023
f992e55
add callback functions to event of right click on channels
juangpc Mar 3, 2023
556d5e0
normalize height of graphs and styling, typos
juangpc Mar 4, 2023
d8b0013
fix quick control settings
juangpc Mar 4, 2023
ac0f1a7
add initial structure plugin Fieldline
juangpc Feb 14, 2023
64cec78
add fieldline header file for the plugin
juangpc Feb 14, 2023
066df63
activate fieldline plugin
juangpc Feb 15, 2023
b960499
fieldline plugin adapting
juangpc Feb 16, 2023
a3cdef4
add .sessions to gitignore
juangpc Feb 17, 2023
6797439
create fieldline plugin
juangpc Feb 18, 2023
a66fb68
fieldline barebones plugin working
juangpc Feb 21, 2023
c34ee99
add python bindings to fieldline plugin
juangpc Feb 22, 2023
09dbd13
add python to fieldline plugin
juangpc Feb 22, 2023
d566076
add fieldline acq system class
juangpc Feb 22, 2023
6ada8b1
Add sensor, chassis, and rack ui elements. Sensors can blink
gabrielbmotta Feb 22, 2023
22f7f01
Reorganize and refactor fl_rack
gabrielbmotta Feb 23, 2023
1b0a387
Reorganize and refactor fl_sensor
gabrielbmotta Feb 23, 2023
7c87aaf
Reorganiz files and names
gabrielbmotta Feb 23, 2023
5fc0788
clean up led indicator
gabrielbmotta Feb 23, 2023
1156417
Implement rest of Fielline view and chassis logic
gabrielbmotta Feb 23, 2023
6cf74bd
Change indexing type to unsigned size_t
gabrielbmotta Feb 24, 2023
7a2dd61
remove unnecessary PRIVATE in cmakelists file
juangpc Feb 23, 2023
6176f36
add folder for dependencies
juangpc Feb 23, 2023
5fd86a3
minor edit cmakelists.txt
juangpc Feb 23, 2023
7d47916
Trigger deletion of removed widgets
gabrielbmotta Feb 27, 2023
154b9f3
Trying out gui interaction
gabrielbmotta Feb 28, 2023
d68293a
create random data from fieldline
juangpc Mar 1, 2023
f0479c1
[FIX] Seg fault when calling qDebug in destructor
juangpc Mar 2, 2023
c1c5ba3
Add functions for creating fiffinfo based on filedline chassis parame…
gabrielbmotta Mar 2, 2023
0745963
Add callback functions to be called by python
gabrielbmotta Mar 3, 2023
32934ac
adapting cmakelists to martinos setup
juangpc Mar 8, 2023
9ef573f
fieldline python setup within cmake working
juangpc Mar 8, 2023
33b2cb5
fine tune dependencies regarding python
juangpc Mar 8, 2023
1ee6256
plugin destructor checks for thread running
juangpc Mar 9, 2023
a8ef9c0
move fieldline_view to fieldline folder
juangpc Mar 28, 2023
71a21ef
update gitignore
juangpc Mar 28, 2023
367000a
delete quickcontrol transitory png used
juangpc Mar 28, 2023
6c87922
fieldline working in directory
juangpc Mar 29, 2023
ffc08f4
put view files in plugin folder
juangpc Mar 29, 2023
4d5a385
major reorganization fieldline plugin
juangpc Mar 29, 2023
5a1191f
minor edit style
juangpc Mar 29, 2023
5bf91a2
minor update style clang-format
juangpc Mar 29, 2023
2197899
add clang-format file to gitignore
juangpc Mar 30, 2023
3e9046e
minr edits
juangpc Mar 30, 2023
980c16e
add differentiation of component classes and resources
juangpc Apr 3, 2023
5678bd2
make path to resources work correctly
juangpc Apr 3, 2023
8834af5
python initialization almost ready
juangpc Apr 4, 2023
cb1e4df
plugin fieldline functions refactoring
juangpc Apr 4, 2023
f5cdce4
update main plugin to show import resolution
juangpc Apr 4, 2023
e4a9a98
add example and debug python scripts to resources fieldline
juangpc Apr 4, 2023
2e264fb
update gitignore to avoid pushing python cache files and wheels
juangpc Apr 4, 2023
8a6389a
update cmakelists to check for linux and automate python finding
juangpc Apr 5, 2023
b7807ad
update cmakelists work generic python installation
juangpc Apr 5, 2023
d3b8ce3
minr edits formatting
juangpc Apr 5, 2023
9e3ad81
add venv folders to gitignore
juangpc Apr 5, 2023
8557107
udpate python testing scripts
juangpc Apr 5, 2023
9324ffb
opm fieldline python working
juangpc Apr 5, 2023
090cdf5
add formfiles for the plugin
juangpc Apr 5, 2023
ca509aa
delete unused python scripts
juangpc Apr 5, 2023
dcacb40
add fieldline mocking script
juangpc Apr 5, 2023
847e724
update gitignore to not include fieldline api files
juangpc Apr 5, 2023
9c625b6
update main fieldline plugin class
juangpc Apr 6, 2023
937cf06
refactor main fieldline widget
juangpc Apr 6, 2023
6864888
biuld pythod mock and improve widget
juangpc Apr 11, 2023
b3e89a6
Debugging python symlinks
gabrielbmotta Apr 11, 2023
77582a0
set symlink for python-config when it is missing
gabrielbmotta Apr 11, 2023
5db4d1a
extend data generation channel bounds
gabrielbmotta Apr 11, 2023
b3af346
Make mock ork with fieldline example. Set data generation interval
gabrielbmotta Apr 11, 2023
8e9d9b2
Fine tune sleep time in mock file
gabrielbmotta Apr 11, 2023
798ced3
add venv folder to gitignore
juangpc Apr 12, 2023
0e62baf
add fieldline definitions header file
juangpc Apr 13, 2023
a38b8a0
modify cmakelists fieldline
juangpc Apr 13, 2023
efa86db
comment python to work with qt creator
juangpc Apr 13, 2023
02123d7
add table for ip mac addresses
juangpc Apr 14, 2023
831ac05
prepare chassis without form file
juangpc Apr 14, 2023
9153ee1
find ip given mac
juangpc Apr 20, 2023
c865e40
update cmake for python controller
juangpc Apr 21, 2023
675205c
working so happy
juangpc Apr 21, 2023
e67dc54
fieldline view working, python api
juangpc Apr 21, 2023
5a6235b
sensor and chassis working
juangpc Apr 25, 2023
98aa491
update gitignore to avoid linter config files
juangpc Apr 25, 2023
564f021
make led indicator for channel work
juangpc Apr 25, 2023
44aa352
add blinking structure for leds
juangpc Apr 26, 2023
e5fa21c
minor edits
juangpc Apr 27, 2023
6f45304
minor edits multisamplearray
juangpc Apr 27, 2023
527211f
minor edits mainwindow
juangpc Apr 27, 2023
0f1b2c1
minor edits mainwindow mne_scan
juangpc Apr 27, 2023
123e768
minor edit
juangpc Apr 27, 2023
6efbcd4
solve crash on shut down
juangpc Apr 27, 2023
3b04e79
minior edits
juangpc Apr 27, 2023
8677ec7
remove unnecessary debug prints
juangpc Apr 27, 2023
18643cc
debug crit error. set fieldline plugin offline
juangpc Apr 27, 2023
bd4d19d
fix findIp problems
juangpc Apr 28, 2023
8172412
finish fieldline mock api
juangpc Apr 29, 2023
76af775
delete debugs prints from acq system class
juangpc May 1, 2023
e0f16b0
add simple python interaction
juangpc May 2, 2023
5022052
python cpp interaction cranking up
juangpc May 2, 2023
048e03f
refactor python api code
juangpc May 3, 2023
5479693
prepare for new callbacks interacting with fieldline box
juangpc May 5, 2023
0a89e7e
instantiate objects in c python
juangpc May 5, 2023
b1d2320
connect new data to circular buffer
juangpc May 10, 2023
41fa5af
troubleshooting connection
juangpc May 11, 2023
93ed6f9
something wrong with circularbuffer
juangpc May 11, 2023
fecc80d
review decref for pyobjects
juangpc May 11, 2023
6fdeaaf
fix undefined PyExc_ValueError when linking python as shared lib
juangpc May 16, 2023
68b2cd8
have client communicate with fieldline box
juangpc May 17, 2023
f997a4f
fix incref of Py_None obj
juangpc May 17, 2023
d2cabbf
add coarse and fine zero interactions
juangpc May 17, 2023
0c2eca0
improve reference counting
juangpc May 17, 2023
26eed8c
fix typo in method name for fine zero callback
juangpc May 17, 2023
70b316d
refactor for real time data. not working
juangpc May 19, 2023
814ef2c
debug interaction with python
juangpc May 19, 2023
3146cf1
getting data_parser callback to work
juangpc May 22, 2023
8ea8963
fix data parser callback
juangpc May 22, 2023
95791bf
only startADC after data_parser callback in place
juangpc May 22, 2023
bc450ca
fix calib value
juangpc May 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 21 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@
*.pdb
*.qm

# Bin folder with exceptions
/lib/

# External device SDKs (if installed)
/applications/mne_scan/plugins/eegosports/eemagine/
/applications/mne_scan/plugins/gusbamp/gtec_gUSBamp.h
Expand Down Expand Up @@ -55,24 +52,34 @@ ui_*.h
*.user
Makefile

# Generated docu Docker files
/_site

# Binary data folders
/build*
/out*

# Resources folders
/src/external/fftw
/resources/data*
__pycache__/
venv/
/resources/**/fieldline/*.whl
/resources/**/fieldline/sample_restart.py
/resources/**/fieldline/venv/
.cache/*

codecov

# IDE settings
.cproject
.project
.settings
.vscode
.session
.clang-format
mne-cpp.pro.user*
compile_commands.json
CPPLINT.cfg

# FFTW
/src/external/fftw

# Generated docu Docker files
/_site

/build*
/out*
/resources/data*
.cache/*

codecov
32 changes: 32 additions & 0 deletions config2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import sys
def dump(obj):
for attr in dir(obj):
print("obj.%s = %r" % (attr, getattr(obj, attr)))

#sys.argv = '/autofs/cluster/fusion/juan/anaconda3/bin/anaconda'
print(' === configuration script =======================================================')
dump(sys)
print(' ==================================================================================')

print(' === system path ===============================================================')
for p in sys.path:
print(p)
print(' ==================================================================================')

print(' === system argv ===============================================================')
print(sys.argv)
print(' ==================================================================================')
sys.argv = '/autofs/cluster/fusion/juan/anaconda3/bin/python'
print(' === system argv ===============================================================')
print(sys.argv)
print(' ==================================================================================')

import logging
import argparse
import queue
import sys
import time
import multiprocessing

multiprocessing.set_executable('autofs/cluster/fusion/juan/anaconda3/bin/python')

4 changes: 4 additions & 0 deletions resources/mne_scan/plugins/fieldline/.flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[flake8]
max-line-length = 125
extend-ignore = E251

21 changes: 21 additions & 0 deletions resources/mne_scan/plugins/fieldline/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FieldLine API README

Prerequisits:
- Python 3.8 needs to be installed - due to an issue in the shared memory library that was fixed
- Download api-example.zip and fieldline_api_XXX.whl

1) Download and extract api-example.zip
2) cd api-example
3) python3.8 -m venv venv
4) . venv/bin/activate
5) pip install -r requirements-api.txt
6) pip install <path to downloaded API whl file>
7) python main.py

Release Notes:
0.0.13 - add SENSOR_READY state
0.0.12 - fix wrong file include
0.0.11 - Add sensor status call
0.0.10 - Few API cleanup items
0.0.2 - add start_adc and stop_adc calls
0.0.1 - initial release
Empty file.
Loading