Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
b3918c8
Fix Cyton impedance check board configuration
philippitts Feb 29, 2024
cc16de1
Update Networking Test Kit
retiutut Mar 17, 2025
676eba6
Update BrainFlow to 5.13.3
retiutut Mar 17, 2025
610154c
Update all PDE files to v7 spec
retiutut Mar 17, 2025
c3d717d
Update and organize data folder and remove old files
retiutut Mar 17, 2025
5c9c84a
Fix bugs in TopNav and Control Panel UI created by v7 merge
retiutut Mar 17, 2025
0f73ecc
Remove PPGCapableBoard class
retiutut Mar 18, 2025
839d92b
Remove PacketLoss widget from Playback Mode
retiutut Mar 18, 2025
7734a5b
Remove unused PlotFontInfo class
retiutut Mar 19, 2025
049c650
Remove Processing 3 build Github Action for Windows
retiutut Mar 19, 2025
5ff114b
Update Windows build and deploy Github Action to use Wix
retiutut Mar 20, 2025
81ac8dc
Update Windows icons folder to fix Windows Build Action
retiutut Mar 20, 2025
1d0953a
Update Windows Build Action with correct S3 bucket name
retiutut Mar 20, 2025
8a272b3
Update Mac Build Deploy Action with v7 spec
retiutut Mar 20, 2025
095c176
Fix CreateDMG step in Mac Build Deploy Action
retiutut Mar 20, 2025
78d94be
Update license in dmgbuild_settings.py
retiutut Mar 20, 2025
d7e09c6
Update license in dmgbuild_settings.py
retiutut Mar 20, 2025
943ea36
Update settings in dmgbuild_settings.py
retiutut Mar 20, 2025
4e82ef1
Fix bytes/string issue in dmgbuild_settings.py
retiutut Mar 21, 2025
aa02b6c
Update S3 bucket for Linux Build Deploy action
retiutut Mar 21, 2025
8fe58b3
Fix S3 upload for WIndows Build Deploy Action
retiutut Mar 21, 2025
bdf0cbf
Fix S3 rm command in WIndows Build Deploy Action
retiutut Mar 21, 2025
32fd7b1
Add Focus Widget values to Session Settings - Fixes #1198
retiutut Oct 12, 2023
5d0178b
added sd-card-file-conversion script
Shyamal-Dharia Jan 20, 2024
efa13f0
Updated code based on GUIv6 file format
Shyamal-Dharia Jan 22, 2024
93f39be
Merge pull request #1239 from OpenBCI/gui-7.0.0
retiutut Apr 1, 2025
88280fa
Refactor FFT settings variables across the GUI and Add GlobalFFTSetti…
retiutut Apr 3, 2025
0db7671
Fix FFT and BandPower widget dropdowns linked settings on frontend
retiutut Apr 4, 2025
085084f
Update lower threshold of YLim for vertScaleValue
ranyabel Apr 9, 2025
fc59720
Merge pull request #1242 from OpenBCI/1072-cyton-analog-read-values
retiutut Apr 9, 2025
31a20ad
Add SpectrogramEnums.pde for spectrogram settings
retiutut Apr 8, 2025
19a14e9
Refactor settings for TimeSeries, Accelerometer, Analog Read, and Dig…
retiutut Apr 10, 2025
2a9ba27
Refactor SessionSettings global variable to be named sessionSettings …
retiutut Apr 10, 2025
6b83bc3
Remove usage of pApplet from Widget class and instead use global exis…
retiutut Apr 10, 2025
43f91d6
Update variable name for WidgetManager and NAV_HEIGHT
retiutut Apr 10, 2025
bdd3dd9
Refactor locking/unlocking Widget Settings dropdowns when TopNav UIs …
retiutut Apr 10, 2025
b4c5fd1
Refactor WidgetManager to contain all Widgets
retiutut Apr 11, 2025
73e3926
Remove widgetName from the constructor of base Widget class
retiutut Apr 11, 2025
54ef837
Refactor WidgetManager even more for readability and maintainability
retiutut Apr 11, 2025
5a5053d
Remove widgetOptions ArrayList from WidgetManager
retiutut Apr 11, 2025
adeba05
Add functional WidgetWithSettings class using the new WidgetSettings …
retiutut Apr 14, 2025
3f9f6d6
Refactor and clean up SessionSettings.pde with initial Save/Load sett…
retiutut Apr 15, 2025
073205d
Remove mention of Ganglion in [ and ] keys in Interactivity.pde
retiutut Apr 17, 2025
074fff7
Add functional save/load widget settings with simpler method calls - …
retiutut Apr 18, 2025
93757b3
Add ability to save ChannelSelect settings to WidgetWithSettings clas…
retiutut Apr 18, 2025
b5d8c32
Refactor SessionSettings again after achieving functionality (for rea…
retiutut Apr 18, 2025
f1053e0
Add WidgetWithSettings to Accelerometer, AnalogRead, FFT, and BandPow…
retiutut Apr 24, 2025
8b68e6b
Remove HeadPlot widget due to multiple bugs, glitches, and performanc…
retiutut Apr 24, 2025
a29d9bc
Add WidgetWithSettings to EMG and EMGJoystick widgets
retiutut Apr 24, 2025
2a465c1
Add WidgetWithSettings to Spectrogram Widget and account for dual cha…
retiutut Apr 24, 2025
8a7e69a
Refactor Spectrogram Widget for readability and maintainability
retiutut Apr 24, 2025
c3ab090
Add WidgetWithSettings to Marker widget
retiutut Apr 25, 2025
ad4621f
Add WidgetWithSettings to Focus widget
retiutut Apr 25, 2025
cc2103b
Add FilterSettings to SessionSettings
retiutut Apr 25, 2025
5843fad
Add EMGSettings to SessionSettings
retiutut Apr 25, 2025
c002eaf
Fix null pointer in ADS1299SettingsController and fix front end bug
retiutut Apr 28, 2025
916b941
Add the option to switch band power widget to linear scale #1139
retiutut Apr 30, 2025
47766db
Merge pull request #1240 from OpenBCI/independent-widget-settings
retiutut Apr 30, 2025
06e09af
Merge pull request #1211 from OpenBCI/1204-cyton-impedance-checks-inc…
retiutut Apr 30, 2025
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
24 changes: 12 additions & 12 deletions .github/workflows/linux_build_deploy.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
name: Build GUI for Linux

on:
workflow_dispatch:
workflow_dispatch:
pull_request:
branches: [master, development]
push:
branches: [master, development]

permissions:
id-token: write
contents: read

env:
AWS_REGION : us-east-1
AWS_REGION: us-east-1

jobs:
build:
Expand All @@ -28,10 +28,10 @@ jobs:
with:
python-version: '3.9'
cache: 'pip'

- name: Install Python Dependencies
run: pip install -r release/requirements.txt

- name: Install Processing
run: |
mkdir -p $GITHUB_WORKSPACE/processing
Expand All @@ -55,10 +55,10 @@ jobs:
cp -a $GITHUB_WORKSPACE/OpenBCI_GUI/libraries/. $HOME/sketchbook/libraries/

# Unit tests cannot be run on Linux without attached display.

- name: Build
run: python $GITHUB_WORKSPACE/release/build.py

- name: Package
run: python $GITHUB_WORKSPACE/release/package.py

Expand All @@ -67,17 +67,17 @@ jobs:
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: ${{ env.AWS_REGION }}

- name: Get Branch Names
id: branch-name
uses: tj-actions/branch-names@v7

- name: Store Build on AWS
run: |
cd $GITHUB_WORKSPACE
ls
CURRENT_BRANCH=${{ steps.branch-name.outputs.head_ref_branch }}
echo $CURRENT_BRANCH
aws s3 rm s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v6/${CURRENT_BRANCH} --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 rm s3://openbci-public-gui-v7/latest --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v7/${CURRENT_BRANCH} --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v7/latest --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
31 changes: 20 additions & 11 deletions .github/workflows/mac_build_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ on:
branches: [master, development]
push:
branches: [master, development]

permissions:
id-token: write
contents: read

env:
AWS_REGION : us-east-1
AWS_REGION: us-east-1

jobs:
build:
Expand All @@ -28,10 +28,10 @@ jobs:
with:
python-version: '3.9'
cache: 'pip'

- name: Install Python Dependencies
run: pip install -r release/requirements.txt

- name: Install Processing
run: |
curl -O -L --insecure https://github.com/processing/processing4/releases/download/processing-1292-4.2/processing-4.2-macos-x64.zip
Expand All @@ -57,7 +57,7 @@ jobs:

- name: Run Unit Tests
run: python $GITHUB_WORKSPACE/GuiUnitTests/run-unittests.py

- name: Decrypt Certificate
run: |
openssl version
Expand All @@ -72,26 +72,35 @@ jobs:

- name: Add OSX Signing Certificate to Keychain
uses: apple-actions/import-codesign-certs@v2
with:
with:
p12-filepath: ${{ github.workspace }}/release/mac/certificate.p12
p12-password: ${{ secrets.CERTIFICATE_P12_PASSWORD }}

- name: Build
run: |
python $GITHUB_WORKSPACE/release/build.py
cp $GITHUB_WORKSPACE/OpenBCI_GUI/sketch.icns $GITHUB_WORKSPACE/application.macosx/OpenBCI_GUI.app/Contents/Resources/sketch.icns

- name: Sign Build
if: ${{ false }}
run: |
codesign -f -v -s "Developer ID Application: OpenBCI, Inc. (3P82WRGLM8)" $GITHUB_WORKSPACE/application.macosx/OpenBCI_GUI.app

- name: Debug DMG Build Settings
run: |
echo "Examining license settings in dmgbuild_settings.py..."
cat release/mac/dmgbuild_settings.py
pip install --upgrade dmgbuild

- name: Create DMG
run: |
dmgbuild -s release/mac/dmgbuild_settings.py \
-D app=$GITHUB_WORKSPACE/application.macosx/OpenBCI_GUI.app \
-D license_encoding=utf-8 \
OpenBCI_GUI $GITHUB_WORKSPACE/application.macosx.dmg

- name: Sign DMG
if: ${{ false }}
run: |
codesign -f -v -s "Developer ID Application: OpenBCI, Inc. (3P82WRGLM8)" $GITHUB_WORKSPACE/application.macosx.dmg

Expand All @@ -107,13 +116,13 @@ jobs:
- name: Get Branch Names
id: branch-name
uses: tj-actions/branch-names@v7

- name: Store Build on AWS
run: |
cd $GITHUB_WORKSPACE
ls
CURRENT_BRANCH=${{ steps.branch-name.outputs.head_ref_branch }}
echo $CURRENT_BRANCH
aws s3 rm s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v6/${CURRENT_BRANCH} --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 rm s3://openbci-public-gui-v7/latest --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v7/${CURRENT_BRANCH} --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v7/latest --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
211 changes: 132 additions & 79 deletions .github/workflows/windows_build_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,89 +12,142 @@ permissions:
contents: read

env:
AWS_REGION : us-east-1
AWS_REGION: us-east-1

jobs:
build:
name: Build for Windows
runs-on: windows-latest

steps:
- name: Clone Repository
uses: actions/checkout@v3

- name: Install Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
architecture: 'x64'

- name: Install Processing
run: |
mkdir %GITHUB_WORKSPACE%\processing
cd %GITHUB_WORKSPACE%\processing
curl -O -L --insecure https://github.com/processing/processing4/releases/download/processing-1292-4.2/processing-4.2-windows-x64.zip
ls -l %GITHUB_WORKSPACE%\processing
unzip processing-4.2-windows-x64.zip
ls -l %GITHUB_WORKSPACE%\processing\processing-4.2
mkdir %userprofile%\documents\processing\libraries
xcopy %GITHUB_WORKSPACE%\OpenBCI_GUI\libraries\* %userprofile%\documents\processing\libraries /s /i /q
ls -l %userprofile%\documents\processing\libraries
shell: cmd

- name: Set Path
run: |
echo %GITHUB_WORKSPACE%\processing\processing-4.2>>%GITHUB_PATH%
echo C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64>>%GITHUB_PATH%
shell: cmd

- name: Print Path
run: echo %PATH%
shell: cmd

- name: Check processing-java Command
run: processing-java --help
shell: cmd

- name: Run Unit Tests
run: python %GITHUB_WORKSPACE%\GuiUnitTests\run-unittests.py
shell: cmd

- name: Build
run: python %GITHUB_WORKSPACE%\release\build.py
shell: cmd

- name: Sign
run: |
dotnet tool install --global azuresigntool
mt -manifest %GITHUB_WORKSPACE%\release\windows\gui.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\OpenBCI_GUI.exe;#1
mt -manifest %GITHUB_WORKSPACE%\release\windows\java.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\java\bin\java.exe;#1
mt -manifest %GITHUB_WORKSPACE%\release\windows\javaw.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\java\bin\javaw.exe;#1
azuresigntool sign --azure-key-vault-url "${{ secrets.AZURE_KEY_VAULT_URI }}" --azure-key-vault-client-id "${{ secrets.AZURE_CLIENT_ID }}" --azure-key-vault-tenant-id "${{ secrets.AZURE_TENANT_ID }}" --azure-key-vault-client-secret "${{ secrets.AZURE_CLIENT_SECRET }}" --azure-key-vault-certificate "${{ secrets.AZURE_CERT_NAME }}" --timestamp-rfc3161 http://timestamp.digicert.com --verbose %GITHUB_WORKSPACE%\application.windows64\OpenBCI_GUI.exe
shell: cmd

- name: Package
run: python %GITHUB_WORKSPACE%\release\package.py
shell: cmd

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: ${{ env.AWS_REGION }}

- name: Get Branch Names
id: branch-name
uses: tj-actions/branch-names@v7

- name: Store Build on AWS
run: |
cd ${{ github.workspace }}
ls
echo "${{ steps.branch-name.outputs.head_ref_branch }}"
set S3_BRANCH_FOLDER=s3://openbci-public-gui-v6/${{ steps.branch-name.outputs.head_ref_branch }}
echo %S3_BRANCH_FOLDER%
aws s3 rm s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_windows64.zip"
aws s3 cp ${{ github.workspace }}/. %S3_BRANCH_FOLDER% --recursive --exclude "*" --include "openbcigui_*_windows64.zip"
aws s3 cp ${{ github.workspace }}/. s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_windows64.zip"
shell: cmd
- name: Clone Repository
uses: actions/checkout@v4

- name: Install Python 3.9
uses: actions/setup-python@v5
with:
python-version: '3.9'
architecture: 'x64'

- name: Install Processing
run: |
mkdir %GITHUB_WORKSPACE%\processing
cd %GITHUB_WORKSPACE%\processing
curl -O -L --insecure https://github.com/processing/processing4/releases/download/processing-1292-4.2/processing-4.2-windows-x64.zip
ls -l %GITHUB_WORKSPACE%\processing
unzip processing-4.2-windows-x64.zip
ls -l %GITHUB_WORKSPACE%\processing\processing-4.2
mkdir %userprofile%\documents\processing\libraries
xcopy %GITHUB_WORKSPACE%\OpenBCI_GUI\libraries\* %userprofile%\documents\processing\libraries /s /i /q
ls -l %userprofile%\documents\processing\libraries
shell: cmd

- name: Set Path
run: |
echo %GITHUB_WORKSPACE%\processing\processing-4.2>>%GITHUB_PATH%
echo C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64>>%GITHUB_PATH%
shell: cmd

- name: Print Path
run: echo %PATH%
shell: cmd

- name: Check processing-java Command
run: processing-java --help
shell: cmd

- name: Update Processing Application Icon File
run: |
echo ${{ env.gui-icon-parent-folder }}
ls -l ${{ env.gui-icon-parent-folder }}
echo ${{ env.processing-icon-path }}
ls -l ${{ env.processing-icon-path }}
xcopy ${{ env.gui-icon-path }} ${{ env.processing-icon-path }} /i /y
env:
gui-icon-parent-folder: ${{ github.workspace }}\release\windows\icons\application
gui-icon-path: ${{ github.workspace }}\release\windows\icons\application\application.ico
processing-icon-path: ${{ github.workspace }}\processing\processing-4.2\modes\java\application

- name: Update Processing Core Icon Files
run: |
ren ${{ env.processing-core-folder }}\core.jar core.zip
mkdir ${{ env.processing-core-icon-path }}
ls -l ${{ env.processing-core-folder }}
unzip ${{ env.processing-core-folder }}\core.zip -d ${{ env.processing-core-unzip-path }}
del ${{ env.processing-core-folder }}\core.zip
xcopy ${{ env.gui-core-icon-path }} ${{ env.processing-core-icon-path }} /e /i /y
cd ${{ env.processing-core-unzip-path }}
ls -l
7z a -r core.zip *
ren core.zip core.jar
echo "Updated Processing Core Icon Files"
ls -l
move core.jar ${{ env.processing-core-updated-jar-path }}
cd ${{ env.processing-core-updated-jar-path }}
rmdir ${{ env.processing-core-icon-path }} /s /q
ls -l
env:
processing-core-folder: ${{ github.workspace }}\processing\processing-4.2\core\library\
processing-core-unzip-path: ${{ github.workspace }}\processing\processing-4.2\core\library\core
gui-core-icon-path: ${{ github.workspace }}\release\windows\icons\core\*
processing-core-icon-path: ${{ github.workspace }}\processing\processing-4.2\core\library\core\icon
processing-core-updated-jar-path: ${{ github.workspace }}\processing\processing-4.2\core\library\
shell: cmd

- name: Run Unit Tests
run: python %GITHUB_WORKSPACE%\GuiUnitTests\run-unittests.py
shell: cmd

- name: Build
run: python %GITHUB_WORKSPACE%\release\build.py
shell: cmd

- name: Sign Executables
if: ${{ true }}
run: |
dotnet tool install --global azuresigntool
mt -manifest %GITHUB_WORKSPACE%\release\windows\gui.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\OpenBCI_GUI.exe;#1
mt -manifest %GITHUB_WORKSPACE%\release\windows\java.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\java\bin\java.exe;#1
mt -manifest %GITHUB_WORKSPACE%\release\windows\javaw.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\java\bin\javaw.exe;#1
azuresigntool sign --azure-key-vault-url "${{ secrets.AZURE_KEY_VAULT_URI }}" --azure-key-vault-client-id "${{ secrets.AZURE_CLIENT_ID }}" --azure-key-vault-tenant-id "${{ secrets.AZURE_TENANT_ID }}" --azure-key-vault-client-secret "${{ secrets.AZURE_CLIENT_SECRET }}" --azure-key-vault-certificate "${{ secrets.AZURE_CERT_NAME }}" --timestamp-rfc3161 http://timestamp.digicert.com --verbose %GITHUB_WORKSPACE%\application.windows64\OpenBCI_GUI.exe
shell: cmd

- name: Package
id: package
run: python %GITHUB_WORKSPACE%\release\package.py
shell: cmd

- name: Sign MSI Package
if: ${{ true }}
run: |
azuresigntool sign --azure-key-vault-url "${{ secrets.AZURE_KEY_VAULT_URI }}" --azure-key-vault-client-id "${{ secrets.AZURE_CLIENT_ID }}" --azure-key-vault-tenant-id "${{ secrets.AZURE_TENANT_ID }}" --azure-key-vault-client-secret "${{ secrets.AZURE_CLIENT_SECRET }}" --azure-key-vault-certificate "${{ secrets.AZURE_CERT_NAME }}" --timestamp-rfc3161 http://timestamp.digicert.com --verbose ${{ env.msi-path }}
env:
msi-path: ${{ steps.package.outputs.msi_path }}
shell: cmd

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: ${{ env.AWS_REGION }}

- name: Get Branch Names
id: branch-name
uses: tj-actions/branch-names@v8

- name: Store Build on AWS
run: |
cd ${{ env.msi-path }}
ls
echo "${{ steps.branch-name.outputs.head_ref_branch }}"
set S3_BRANCH_FOLDER=s3://openbci-public-gui-v7/${{ steps.branch-name.outputs.head_ref_branch }}
echo Branch Folder: %S3_BRANCH_FOLDER%
set S3_LATEST_FOLDER=s3://openbci-public-gui-v7/latest
echo Latest Folder: %S3_LATEST_FOLDER%
aws s3 rm %S3_LATEST_FOLDER% --recursive --exclude "*" --include "*.msi"
aws s3 rm %S3_BRANCH_FOLDER% --recursive --exclude "*" --include "*.msi"
aws s3 cp . %S3_BRANCH_FOLDER% --recursive --exclude "*" --include "*.msi"
aws s3 cp . %S3_LATEST_FOLDER% --recursive --exclude "*" --include "*.msi"
env:
msi-path: ${{ github.workspace }}\release\wix\bin\Release\en-US\
shell: cmd
Loading