Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
333b596
Added Sphero Functionality
VinceIngram07 Jan 28, 2025
084a74c
More Controls
VinceIngram07 Feb 25, 2025
6da0b3e
changed block names to fit project
VinceIngram07 Mar 31, 2025
f96cd4a
Start of Vex Branch
VinceIngram07 May 25, 2025
94021c8
added block functionality
VinceIngram07 Jun 1, 2025
b031569
Add support for Gaglion
chris35469 Jun 15, 2025
cb6eefa
Merge branch 'feature/ganglion' into VEXAIM
VinceIngram07 Jun 15, 2025
46af284
Added muscle energy block
VinceIngram07 Jun 17, 2025
2fe7c87
Merge branch 'VEXAIM' into feature/ganglion
VinceIngram07 Jun 17, 2025
1950b33
Python server starts automatically
VinceIngram07 Jun 23, 2025
ceb24df
[UNSTABLE] Exe python
VinceIngram07 Jun 25, 2025
e44b1e1
Revert "[UNSTABLE] Exe python"
VinceIngram07 Jul 8, 2025
c54884c
Added Vex Files
VinceIngram07 Jul 8, 2025
370adce
fixed startup error
VinceIngram07 Jul 8, 2025
762a32b
added turn left/ right block and Vex Category
VinceIngram07 Jul 9, 2025
42d6f44
added venv setup
VinceIngram07 Jul 9, 2025
dae3186
Update requirements.txt
VinceIngram07 Jul 9, 2025
076764b
Update requirements.txt
VinceIngram07 Jul 9, 2025
b1f1bd2
Update requirements.txt
VinceIngram07 Jul 9, 2025
eea135d
updated vex category
VinceIngram07 Jul 10, 2025
f70d531
added start bash script
VinceIngram07 Jul 10, 2025
4f79cf2
Added NeuroScope Icon
VinceIngram07 Jul 10, 2025
2510906
Update signal.js
chris35469 Jul 10, 2025
11fb9b1
Merge branch 'feature/ganglion' of https://github.com/htil/neuroscope…
chris35469 Jul 10, 2025
4013a5b
Camp Neuroscope EMG V1.0
VinceIngram07 Jul 11, 2025
5f2c31c
Removed command delay
VinceIngram07 Jul 11, 2025
f02b2cd
feat: Implement single executable build with Ganglion device support
VinceIngram07 Oct 7, 2025
31b1b0d
feat: Add console output, VEX reconnect, and enhanced testing with wo…
VinceIngram07 Oct 13, 2025
1bedf73
Add EMG robot control blocks and block-to-text converter
VinceIngram07 Oct 16, 2025
cc86b3e
feat: robust VEX reconnect, production Python startup, status UI, and…
VinceIngram07 Nov 14, 2025
22e8bde
Revert "Add support for Gaglion"
VinceIngram07 Jan 9, 2026
7f6762a
Migrate from EMG to EEG: Restore Muse headset support and refactor VE…
VinceIngram07 Jan 11, 2026
03bf794
Bump app version to 1.4.0
VinceIngram07 Jan 11, 2026
c89dad6
fix(eeg/blockly): prevent freeze with beta/theta/gamma by sanitizing …
VinceIngram07 Jan 22, 2026
82e824e
Add Blockly run validation hints
VinceIngram07 Mar 30, 2026
28b06cb
Update deprecated cache actions
VinceIngram07 May 1, 2026
3c1561a
Clean up legacy launch artifacts
VinceIngram07 May 1, 2026
1edd29c
Add device target session selector
VinceIngram07 May 1, 2026
2bca769
Port Ganglion input adapter
VinceIngram07 May 1, 2026
b2b6c50
Fix Ganglion signal visualization
VinceIngram07 May 1, 2026
5dc50e2
Align Ganglion visualization layout
VinceIngram07 May 5, 2026
2c1064d
Restore Ganglion muscle energy readout
VinceIngram07 May 5, 2026
584ffd0
Add MechDog output target integration
VinceIngram07 May 6, 2026
29c77b9
Harden output command routing
VinceIngram07 May 7, 2026
82f84d3
Fix dev startup port reuse
VinceIngram07 May 7, 2026
011ecfc
Add keyboard manual control mode
VinceIngram07 May 7, 2026
74eb22c
Add MechDog device selection flow
VinceIngram07 May 20, 2026
6670c87
Configure Ganglion EMG MechDog branch
VinceIngram07 May 25, 2026
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
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,23 @@ jobs:
run: echo "::set-output name=dir::$(yarn cache dir)"

- name: Cache Node.js modules
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
restore-keys: |
${{ runner.os }}-yarn-

- name: Cache Electron
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/.cache/electron
key: ${{ runner.os }}-electron-cache-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
restore-keys: |
${{ runner.os }}-electron-cache-

- name: Cache Electron-Builder
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/.cache/electron-builder
key: ${{ runner.os }}-electron-builder-cache-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-electron-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,23 @@ jobs:
run: echo "::set-output name=dir::$(yarn cache dir)"

- name: Cache Node.js modules
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
restore-keys: |
${{ runner.os }}-yarn-

- name: Cache Electron
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/.cache/electron
key: ${{ runner.os }}-electron-cache-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
restore-keys: |
${{ runner.os }}-electron-cache-

- name: Cache Electron-Builder
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/.cache/electron-builder
key: ${{ runner.os }}-electron-builder-cache-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
Expand Down
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,14 @@ yarn-error.log
.pnp.js
# Yarn Integrity file
.yarn-integrity
*.pyc
__pycache__/

build

build
# Ignore virtual environments
venv/
.venv/

# Local launch shortcuts
*.lnk
61 changes: 61 additions & 0 deletions MechDogServer.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# -*- mode: python ; coding: utf-8 -*-

import os
import sys
from PyInstaller.utils.hooks import collect_submodules, collect_data_files

spec_root = os.getcwd()
print(f'[PYINSTALLER] Working directory (spec_root): {spec_root}')

sys.path.insert(0, os.path.join(spec_root, 'resources', 'python'))

hiddenimports = []
hiddenimports += collect_submodules('websockets')
hiddenimports += collect_submodules('websocket')
hiddenimports += collect_submodules('bleak')
hiddenimports += collect_submodules('ssl')
hiddenimports += collect_submodules('asyncio')

datas = []
datas += collect_data_files('websockets')
datas += collect_data_files('bleak')

a = Analysis(
['resources/python/MechDogServer.py'],
pathex=[],
binaries=[],
datas=datas,
hiddenimports=hiddenimports,
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=None,
noarchive=False,
)

pyz = PYZ(a.pure, a.zipped_data, cipher=None)

exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='MechDogServer',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
Loading
Loading