Skip to content

Commit

Permalink
Merge pull request #116 from makebrainwaves/dano-window-bluetooth
Browse files Browse the repository at this point in the history
[WIP] Removed Windows-specific bluetooth overrides
  • Loading branch information
jdpigeon authored Sep 19, 2020
2 parents 568008c + e172a4f commit 018a510
Show file tree
Hide file tree
Showing 22 changed files with 183 additions and 1,002 deletions.
13 changes: 13 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp

// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"stylelint.vscode-stylelint",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
}
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,105 +1,137 @@
# 0.14.2 (September 19, 2020) - TypeScript and tooling update

- TypeScript
- Dependencies update
- CI
- Remove Windows-specific bluetooth overrides

# 0.13.0 (May 18, 2020) - Improved usability and tasks

- Removed remnants of old experiment backend
- Moved to using lab.js with npm
- Cleaned up UI throughout app
- New stimuli for Faces and Houses study
- Clearer customization workflow

# 0.12.0 (Mar 9, 2020) - Project Cleanup and UI fixes

- Randomization bug fixed
- New EEG Data Explorer component
- Fixed the Explore EEG Data screen
- QA and linting over the whole project

# 0.11.2 (Feb 29, 2020) - Additional Updates to Customize Screen

- Clean up Customization

# 0.11.1 (Feb 25, 2020) - Update Customize Screen

- Update the UI for ease of experiment customization

# 0.11.0 (Feb 4, 2020) - Fixes error logging

- Fix error messaging for authentication with Emotiv in app.

# 0.10.1 (Jan 23, 2020) - Minor fixes

# 0.10.0 (Jan 22, 2020) - Add Explore EEG data tab; compat fixes

- Enable EEG for all experiments
- Explore EEG data tab
- Delay the python kernel launch
- fix emotiv compability

# 0.9.1 (Nov 13, 2019)

- Standardize labjs experiments
- Update task descriptions

# 0.9.0 (Nov 12, 2019) - Redesign on landing page; majority lab.js experiments

- Redesign on landing page
- Now using labjs for the majority of experiments
- Option to enable/disable EEG

# 0.8.2 (Jul 17, 2019) - Added Behavioral Results View

- It is now possible to visualize the behavioral results from the experiment.
- Within the app, we present the individual summary data as well as a toggle to plot the raw data.

# 0.8.1 (Apr 9, 2019) - Updated RxJs and removed debug device from menu

- Updated RxJs
- Removed debug device from menu

# 0.8.0 (Apr 1, 2019) - Better behavioural data and simplified Python environment

- Better behavioural data and simplified Python environment
- This release adds Event Type, Expected Key Press, and Correct columns to behavioural data. Hopefully, this makes it easier for students to work with the behavioral data collected from the app.
- The Python environment has also been greatly simplified. We are now using just the dependencies that we actually use in the app instead of the entire recommended set of dependencies from MNE. This should hopefully reduce issues with installation.

# 0.7.5 (Jan 18, 2019) - Hotfix: Updated Emotiv Credentials

- This release includes new Emotiv credentials into the app that should address issues with being unable to create new sessions on Epoc EEG devices.

# 0.7.4 (Jan 16, 2019) - Hotfix: Improved error handling in device connectivity

- This version should be free of Emotiv connectivity issues, as well as provide better error messages about the connection process.
- In the event of a connection failure, notifications will now indicate where along the process of authentication, requesting sessions, and subscribing to data things went wrong.
- Special characters such as "." and "/" that will lead to corrupt directory names will now be automatically removed from text inputs.
- Some typos were also fixed in the app text.

# 0.7.3 (Jan 15, 2019) - Hotfix: device names not displayed; issues connecting to EEG devices

- This update should address issues with device connectivity in the most recent version of the app.
- Some changes introduced in 0.7.2 have been reverted.

# 0.7.2 (Jan 13, 2019) - Custom stimuli titles; Small tweaks

- Custom stimuli should now appear with the correct names in the Analyze and Clean screens
- The Home screen should allow scrolling through workspaces when many of them are created

# 0.7.1 (Dec 4, 2018) - More comprehensive error handling for Emotiv devices

- Improved error handling of Emotiv devices in connectEpic
- Removed debug tools window

# 0.7.0 (Nov 23, 2018) - Win7 compatibility; Subject names in Images; Layout fixes

- Works on Windows 7
- Reduced scale of Y axis in ERP plots
- Added experiment instructions at beginning of experiment
- Tweaked layouts for smaller rez screens
- Added subject name to image filenames

# 0.6.1 (Nov 16, 2018) - Win7 bugfix; Remove menubar

- This has an important bugfix for the code that tries to make the app run on Windows 7.
- Removed the menubar because I thought it looked better (and we're not using it anyway)

# 0.6.0 (Nov 16, 2018) - Offline experiments, illustrations, and Windows 7 support

- This release includes the ability to create custom behaviour only experiments and should hopefully work on Windows 7 computers (by conditionally dropping Muse connectivity when run on a machine detected to be running Windows 7).
- It also has some more illustrations!

# 0.5.1 (Oct 28, 2018) - Small app tweak

- Addressing comments here: [#27](https://github.com/makebrainwaves/BrainWaves/issues/27)

# 0.5.0 (Oct 14, 2018) - Alpha 5 release (Beta?)

- A complete EEG collection and analysis experience for both Emotiv and Muse, restricted to the N170 experiment and custom experiments based on the 2-stimulus protocol.

# 0.4.0 (Oct 1, 2018) - Alpha 4 release

- Contains the custom experiment design feature, as well as lots of UI tweaks

# 0.3.0 (Sep 24, 2018) - Alpha 3 release

- Includes workspace update and re-design of most of the app's UI

# 0.2.0 (Sep 13, 2018) - Alpha 2 release for experiment testing

- Includes some UI redesign as well as corrections to the core experiment collection code that should increase experiment reliability.

# 0.1.0 (Aug 22, 2018) - Alpha release for teacher training

- An early version of the app that should be suitable for running N170 experiments with Emotiv or Muse and getting a feel for what working with the final version will be like.
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
- Supports Emotiv Epoc+ and Muse devices

## Screenshots

<p align="center">
<img src="app_home.png" width="600">
</p>
Expand Down Expand Up @@ -44,7 +45,6 @@ following command on Windows_
5. Finally, run the following command to create a new jupyter kernel that uses this environment:
`python -m ipykernel install --user --name brainwaves --display-name "brainwaves"`


## Download

- Windows:
Expand All @@ -53,7 +53,6 @@ following command on Windows_
- Linux (only supports Muse):
[click here](https://github.com/makebrainwaves/BrainWaves/releases/download/v0.7.5/BrainWaves_0.7.4_amd64.deb)


## Installing from Source (for developers)

- Make sure you have node version >= 7, npm version >= 4 and have followed the [Environment Setup](https://github.com/makebrainwaves/BrainWaves#environment-setup) instructions
Expand All @@ -76,7 +75,6 @@ following command on Windows_

- [Visual C++ Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15)


1. First, clone the repo via git:

```bash
Expand Down Expand Up @@ -153,11 +151,11 @@ DEBUG_PROD=true npm run package
```

## Contributing

if you are interested in fixing issues with the BrainWaves app or helping us add additional features, that's amazing! Please see our [How to Contribute](https://github.com/makebrainwaves/BrainWaves/blob/master/CONTRIBUTING.md).

Also, read our [Code of Conduct](https://github.com/makebrainwaves/BrainWaves/blob/master/CODE_OF_CONDUCT.md)


## License

[MIT](https://github.com/makebrainwaves/BrainWaves/blob/master/LICENSE)
2 changes: 1 addition & 1 deletion app/app.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
if (scripts.length) {
document.write(
scripts
.map(script => `<script defer src="${script}"><\/script>`)
.map((script) => `<script defer src="${script}"><\/script>`)
.join('')
);
}
Expand Down
7 changes: 4 additions & 3 deletions app/components/ViewerComponent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -113,13 +113,14 @@ class ViewerComponent extends Component<Props, State> {
}

render() {
const trueAsString = 'true' as any;
return (
<webview
id="eegView"
src={`file://${__dirname}/viewer.html`}
autosize
nodeintegration
plugins
autosize={trueAsString}
nodeintegration={trueAsString}
plugins={trueAsString}
/>
);
}
Expand Down
2 changes: 1 addition & 1 deletion app/components/d3Classes/EEGViewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class EEGViewer {
this.zoom = 1;
this.zoomScalar = 1.5;
this.canvas = d3.select(svg);
this.margin = { top: 20, right: 10, bottom: 0, left: 20 };
this.margin = { top: 20, right: 10, bottom: 0, left: 30 };
this.channelMaxs = new Array(this.channels.length).fill(100);
this.channelMins = new Array(this.channels.length).fill(-100);
this.lastTimestamp = new Date().getTime();
Expand Down
43 changes: 22 additions & 21 deletions app/components/styles/common.css
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@

.experimentCard {
border-radius: 5px;
background-color: #ffffff;
background-color: #fff;
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
border: 4px solid transparent;
}
Expand All @@ -159,7 +159,7 @@
/* Header, Faces/Houses, Stroop, Mult-tasking, Visual Search */
.experimentCardHeader {
color: #1a1a1a;
font-family: Lato;
font-family: Lato, sans-serif;
font-size: 24px;
letter-spacing: 0.86px;
line-height: 29px;
Expand All @@ -168,7 +168,7 @@
/* Description copy */
.experimentCardDescription {
color: #4a4a4a;
font-family: Lato;
font-family: Lato, sans-serif;
font-size: 16px;
letter-spacing: 0.57px;
line-height: 24px;
Expand All @@ -179,7 +179,7 @@
}

.noExperimentsTitle {
font-family: Lato;
font-family: Lato, sans-serif;
font-style: normal;
font-weight: normal !important;
font-size: 24px !important;
Expand All @@ -189,7 +189,7 @@
}

.noExperimentsText {
font-family: Lato;
font-family: Lato, sans-serif;
font-style: normal;
font-weight: normal;
font-size: 18px;
Expand All @@ -203,8 +203,8 @@
}

.experimentRow {
background-color: #ffffff !important;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
background-color: #fff !important;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
border-radius: 4px;
display: grid;
grid-template-columns: 1fr 1fr auto;
Expand All @@ -213,14 +213,14 @@
}

.experimentRowName {
font-family: Lato;
font-family: Lato, sans-serif;
font-style: normal !important;
font-weight: normal !important;
font-size: 18px !important;
line-height: 24px !important;
letter-spacing: -0.2px;
padding-left: 26px !important;
border: 0px !important;
border: 0 !important;
padding-right: 10px !important;
}

Expand All @@ -245,15 +245,15 @@
}

.conditionsNameRow {
font-family: Lato;
font-family: Lato, sans-serif;
font-style: normal !important;
font-weight: normal !important;
font-size: 18px !important;
line-height: 24px !important;
letter-spacing: -0.2px;
color: #1a1a1a;
padding-left: 26px !important;
border: 0px !important;
border: 0 !important;
padding-right: 10px !important;
display: grid;
grid-template-columns: 50px 1fr;
Expand All @@ -265,8 +265,8 @@
}

.conditionRow {
background-color: #ffffff !important;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
background-color: #fff !important;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
border-radius: 4px;
display: grid;
grid-template-columns: 300px 200px 1fr;
Expand Down Expand Up @@ -294,8 +294,8 @@
}

.trialsRow {
background-color: #ffffff !important;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
background-color: #fff !important;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
border-radius: 4px;
display: grid;
grid-template-columns: 1fr 1fr 180px 350px;
Expand All @@ -304,15 +304,15 @@
}

.trialsTrialTypeRow {
font-family: Lato;
font-family: Lato, sans-serif;
font-style: normal !important;
font-weight: normal !important;
font-size: 18px !important;
line-height: 24px !important;
letter-spacing: -0.2px;
color: #1a1a1a;
padding-left: 26px !important;
border: 0px !important;
border: 0 !important;
padding-right: 10px !important;
display: grid;
grid-template-columns: 1fr 120px;
Expand All @@ -326,22 +326,23 @@
align-items: center;
margin: 0 !important;
padding: 10px 12px 10px 12px !important;
border: 2px solid #cccccc !important;
border: 2px solid #ccc !important;
border-radius: 4px !important;
}

.trialsTrialTypeRowSelector {
/* background-color: #EB1B66 !important; */
color: white !important;

/* background-color: `${this.props.phase === 'main' ? '#1AC4EF' : '#EB1B66'}; */
font-family: Lato !important;
font-family: Lato, sans-serif !important;
font-style: normal !important;
font-weight: bold !important;
font-size: 14px !important;
line-height: 24px !important;
letter-spacing: -0.2px !important;
border-radius: 27px;
padding: 0px 7px 0px 7px !important;
padding: 0 7px 0 7px !important;
}

.trialsTable {
Expand All @@ -362,7 +363,7 @@
display: grid;
grid-template-columns: auto auto 1fr;
grid-column-gap: 10px;
border: 2px solid #cccccc;
border: 2px solid #ccc;
padding: inherit;
border-radius: 4px;
width: fit-content;
Expand Down
Loading

0 comments on commit 018a510

Please sign in to comment.