Skip to content

Commit

Permalink
Merge branch 'master' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
leon0399 committed Aug 12, 2024
2 parents 1c6b8f5 + 4478bce commit e99d09c
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 54 deletions.
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
custom: ['https://buymeacoffee.com/leon0399'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
1 change: 1 addition & 0 deletions .github/codeql/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
paths:
- firmware
- include
- lib
paths-ignore:
- .pio/libdeps
12 changes: 10 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -384,10 +384,13 @@ jobs:
retention-days: 5

report-coverage:
# Skip any PR created by dependabot to avoid permission issues:
if: (github.actor != 'dependabot[bot]')
needs:
- build-bhaptics
- build-opengloves
- test

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -437,9 +440,12 @@ jobs:
flags: unittests

report-memory-usage:
# Skip any PR created by dependabot to avoid permission issues:
if: (github.actor != 'dependabot[bot]')
needs:
- build-bhaptics
- build-opengloves

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -530,7 +536,7 @@ jobs:
repository: ${{ github.repository }}
run-id: ${{ steps.base_branch_workflow.outputs.result }}

- uses: actions/setup-python@v2
- uses: actions/setup-python@v5
if: github.event_name == 'pull_request' && steps.download-base-usage.outcome == 'success'
with:
python-version: '3.x'
Expand Down Expand Up @@ -561,12 +567,14 @@ jobs:
comment_tag: memory-usage-comparison

wokwi:
# Skip any PR created by dependabot to avoid permission issues:
if: (github.actor != 'dependabot[bot]')
needs:
- build-bhaptics
- build-opengloves
- test
runs-on: ubuntu-latest

runs-on: ubuntu-latest
strategy:
matrix:
variant:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sast.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}

- name: Upload SARIF file for GitHub Advanced Security Dashboard
uses: github/codeql-action/upload-sarif@v2
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: semgrep.sarif
if: always()
Expand All @@ -108,7 +108,7 @@ jobs:
output: 'flawfinder_results.sarif'

- name: Upload SARIF file for GitHub Advanced Security Dashboard
uses: github/codeql-action/upload-sarif@v2
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: flawfinder_results.sarif
if: always()
122 changes: 73 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
# SenseShift Firmware — Open-Source VR accessories

This project is intended to let people build their own DIY haptic-feedback devices. Integrates into all existing games that work with bHaptics and OpenGloves.
This project is intended to let people build their own DIY haptic-feedback
devices. Integrates into all existing games that work with bHaptics and
OpenGloves.

Build your own DIY haptic vest, haptic gloves, and more!

<b>Get involved: 💬 [Discord](https://discord.gg/YUtRKAqty2) • 🌐 [Website](https://senseshift.io) • 📖 [Documentaion](https://docs.senseshift.io/docs/getting-started) • 🐛 [Issues](https://github.com/senseshift/senseshift-firmware/issues) • 📢 [Twitter](https://twitter.com/senseshiftio) • 💎 [Patreon](https://www.patreon.com/senseshift)</b>
<b>Get involved:
💬 [Discord](https://discord.gg/YUtRKAqty2)
🌐 [Website](https://senseshift.io)
📖 [Documentaion](https://docs.senseshift.io/docs/getting-started)
🐛 [Issues](https://github.com/senseshift/senseshift-firmware/issues)
📢 [Twitter](https://twitter.com/senseshiftio)
💎 [Patreon](https://www.patreon.com/senseshift)</b>

[![Support me on Patreon](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Dsenseshift%26type%3Dpatrons&style=flat)](https://patreon.com/senseshift)
[![Buy me a beer](https://img.shields.io/badge/Donate-Buy%20me%20a%20beer-yellow?logo=buy-me-a-coffee)](https://www.buymeacoffee.com/leon0399)

[![Discord Widget](https://discord.com/api/guilds/966090258104062023/widget.png?style=banner2)](https://discord.gg/YUtRKAqty2)

Expand All @@ -19,7 +30,8 @@ Build your own DIY haptic vest, haptic gloves, and more!

## Configuration, flashing, and connecting

The main documentation on this project is located on [senseshift.github.io](https://senseshift.github.io/)
The main documentation on this project is located
on [senseshift.github.io](https://senseshift.github.io/)

* [Getting Started](https://senseshift.github.io/docs/getting-started)
* **NEW** [Build Guides](https://senseshift.github.io/guides/getting-started)
Expand All @@ -32,29 +44,31 @@ Please note that documentation is still a work in progress.

### MCU

| Board | Status |
| :------------------- | :----------: |
| ESP32-WROOM-32 | |
| ESP32-WROVER | |
| ESP32-C3 | 🚧 |
| ESP32-S3 | 🚧 |
| Board | Status |
|:---------------|:------:|
| ESP32-WROOM-32 | |
| ESP32-WROVER | |
| ESP32-C3 | 🚧 |
| ESP32-S3 | 🚧 |

> **Note**
> Please, refer to [Documentation on MCUs](https://senseshift.github.io/docs/hardware/mcu) for more detailed info
> Please, refer
> to [Documentation on MCUs](https://senseshift.github.io/docs/hardware/mcu) for
> more detailed info
### PWM Drivers

| Board | Status | Max outputs per board |
| :------------------- | :----------: | ---------------------: |
| Internal PWM | | 16 |
| PCA9685 | | 16 |
| PCA9634 | 🚧 | 8 |
| PCA9531 | 🚧 | 8 |
| PCA9635 | 🚧 | 16 |
| SN3218 | 🚧 | 18 |
| MP3326 | 🚧 | 16 |
| TLC59108F | 🚧 | 8 |
| LP50xx | 🚧 | 9 _or_ 12 |
| Board | Status | Max outputs per board |
|:-------------|:------:|----------------------:|
| Internal PWM | | 16 |
| PCA9685 | | 16 |
| PCA9634 | 🚧 | 8 |
| PCA9531 | 🚧 | 8 |
| PCA9635 | 🚧 | 16 |
| SN3218 | 🚧 | 18 |
| MP3326 | 🚧 | 16 |
| TLC59108F | 🚧 | 8 |
| LP50xx | 🚧 | 9 _or_ 12 |

> **Note**
> Most of supported PWM drivers are provided by
Expand All @@ -63,13 +77,13 @@ Please note that documentation is still a work in progress.
### Battery controllers

| Board | Status |
| :------------------- | :----------: |
| Internal ADC | |
| MAX1704x | |
| INA219 | |
| MCP3021 | 🚧 |
| STUSB4500 | 🚧 |
| Board | Status |
|:-------------|:------:|
| Internal ADC | |
| MAX1704x | |
| INA219 | |
| MCP3021 | 🚧 |
| STUSB4500 | 🚧 |

> **Note**
> Most of supported battery controllers are provided by
Expand All @@ -78,25 +92,25 @@ Please note that documentation is still a work in progress.
## Supported Protocols

| Protocol | Status |
| :------------------------ | :-----------------------------------------------------------------: |
| bHaptics Bluetooth LE | ✅ (Android/Windows/Quest) |
| OpenGloves Alpha-encoding | ✅ (Serial/Bluetooth Serial) |
| ProTubeVR | 🚧 (Bluetooth) |
| SenseShift | [RFC](https://github.com/senseshift/senseshift-firmware/issues/9) |
| Protocol | Status |
|:--------------------------|:-----------------------------------------------------------------:|
| bHaptics Bluetooth LE | ✅ (Android/Windows/Quest) |
| OpenGloves Alpha-encoding | ✅ (Serial/Bluetooth Serial) |
| ProTubeVR | 🚧 (Bluetooth) |
| SenseShift | [RFC](https://github.com/senseshift/senseshift-firmware/issues/9) |

## Supported devices

| Device | Supported Devices | Retail price | DIY Price | Hardware |
| :-------------------- | :------------------- | -----------: | ----------------: | :------------------------------------------------------------------------------------------------ |
| Haptics Face Interface | Tactal, TactVisor | US $149 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-face-interface) |
| Haptic Gloves | TactGlove | US $299 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-glove) |
| Haptic Sleeves | Tactosy for arms | US $249 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-forearm-sleeve) |
| Haptic Hand Gauntlet | Tactosy for hands | US $249 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-gauntlet) |
| Haptic Feet Device | Tactosy for feet | US $249 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-feet-device) |
| X16 Haptic Vest | TactSuit X16 | US $299 | ~$40 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#x16-haptic-vest) |
| X40 Haptic Vest | TactSuit X40, Tactot | US $499 | ~$70 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#x40-haptic-vest) |
| VR Glove / OpenGloves | LucidGloves | N/A | ~$40 &mdash; ~$80 | See [Original Wiki](https://github.com/LucidVR/lucidgloves/wiki) |
| Device | Supported Devices | Retail price | DIY Price | Hardware |
|:-----------------------|:---------------------|-------------:|------------------:|:--------------------------------------------------------------------------------------------------|
| Haptics Face Interface | Tactal, TactVisor | US $149 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-face-interface) |
| Haptic Gloves | TactGlove | US $299 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-glove) |
| Haptic Sleeves | Tactosy for arms | US $249 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-forearm-sleeve) |
| Haptic Hand Gauntlet | Tactosy for hands | US $249 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-gauntlet) |
| Haptic Feet Device | Tactosy for feet | US $249 | ~$20 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#haptic-feet-device) |
| X16 Haptic Vest | TactSuit X16 | US $299 | ~$40 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#x16-haptic-vest) |
| X40 Haptic Vest | TactSuit X40, Tactot | US $499 | ~$70 | See [Hardware Reference](https://github.com/senseshift/senseshift-hardware#x40-haptic-vest) |
| VR Glove / OpenGloves | LucidGloves | N/A | ~$40 &mdash; ~$80 | See [Original Wiki](https://github.com/LucidVR/lucidgloves/wiki) |

## For Developers

Expand All @@ -110,17 +124,27 @@ Please note that documentation is still a work in progress.
## Credits

* [LucasVRTech](https://github.com/lucas-vrtech) of the LucidGlove project
* [JohnRThomas](https://github.com/JohnRThomas) for his implementation of LucidGlove firmware
* [JetBrains](https://www.jetbrains.com/community/opensource) for providing free All-Products-Pack license(s) to the main active contributors of SenseShift through the [Free OpenSource Licenses](https://www.jetbrains.com/community/opensource) program.
* [JohnRThomas](https://github.com/JohnRThomas) for his implementation of
LucidGlove firmware
* [JetBrains](https://www.jetbrains.com/community/opensource) for providing free
All-Products-Pack license(s) to the main active contributors of SenseShift
through
the [Free OpenSource Licenses](https://www.jetbrains.com/community/opensource)
program.

<a href="https://jb.gg/OpenSourceSupport"><img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_square.png" alt="JetBrains Black Box Logo logo." height="75"></a>

## Licensing

[![GPL-3.0](https://www.gnu.org/graphics/gplv3-or-later-sm.png)](./LICENSE)

This firmware is licensed under [GPL-3.0](./LICENSE). Please see the [LICENSE](./LICENSE) file for details.
This firmware is licensed under [GPL-3.0](./LICENSE). Please see
the [LICENSE](./LICENSE) file for details.

SenseShift is not affiliated with bHaptics. All brands and trademarks belong to their respective owners. SenseShift is not bHaptics-approved software, nor is it associated with bHaptics.
SenseShift is not affiliated with bHaptics. All brands and trademarks belong to
their respective owners. SenseShift is not bHaptics-approved software, nor is it
associated with bHaptics.

SenseShift is not affiliated with ProTubeVR. All brands and trademarks belong to their respective owners. SenseShift is not ProTubeVR-approved software, nor is it associated with ProTubeVR.
SenseShift is not affiliated with ProTubeVR. All brands and trademarks belong to
their respective owners. SenseShift is not ProTubeVR-approved software, nor is
it associated with ProTubeVR.

0 comments on commit e99d09c

Please sign in to comment.