Skip to content

Commit

Permalink
Implement web config tool, firmware support (#100)
Browse files Browse the repository at this point in the history
  • Loading branch information
ASleepyCat authored Sep 26, 2024
1 parent 918f939 commit 4b8f684
Show file tree
Hide file tree
Showing 73 changed files with 7,226 additions and 125 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ jobs:
build:
name: Build
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./fw
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -20,7 +23,6 @@ jobs:
echo "PATH=/opt/avr-gcc-14.1.0-x64-linux/bin:$(echo $PATH)" >> $GITHUB_ENV
- name: make
run: |
cd fw
make
- uses: actions/upload-artifact@v4
with:
Expand Down
55 changes: 55 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Deploy to GitHub Pages

on:
push:
branches: master

jobs:
build:
name: Build site
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./beef-config
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: '**/package-lock.json'

- name: Install dependencies
run: npm install

- name: Build
env:
BASE_PATH: '/${{ github.event.repository.name }}'
run: |
npm run build
- name: Upload Artifacts
uses: actions/upload-pages-artifact@v3
with:
path: 'beef-config/build/'

deploy:
name: Deploy
needs: build
runs-on: ubuntu-latest

permissions:
pages: write
id-token: write

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Deploy
id: deployment
uses: actions/deploy-pages@v4
22 changes: 18 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# beef board

<p float="left">
<img src="pcb/pics/front.png" height="250">
<img src="pcb/pics/back.png" height="250">
Expand All @@ -11,7 +12,6 @@ This is a USB I/O PCB for use with Konami Rhythm games. Drop-in support for PHOE
* Sound Voltex
* Pop'n Music


## Wiring configuration

<details>
Expand Down Expand Up @@ -50,9 +50,13 @@ This is a USB I/O PCB for use with Konami Rhythm games. Drop-in support for PHOE
</details>

## Configuration
Various configuration options can be changed on-the-fly by holding a button combination. Holding the buttons simultaneously for 1 second will cause the change to take affect. Button lights will momentarily shut off to indicate that the change has occurred. Refer to this table for a list of configuration options currently supported:

Various configuration options can be changed on-the-fly by holding a button combination. Holding the buttons simultaneously for 1 second will cause the change to take affect. Button lights will momentarily shut off to indicate that the change has occurred.

Refer to these tables for a list of configuration options currently supported:

### IIDX

| Configuration option | Button combination |
|:---|:---|
| Reverse TT direction | B1 + B7 + B8 |
Expand All @@ -70,12 +74,15 @@ Various configuration options can be changed on-the-fly by holding a button comb
Note: TT deadzone only affects digital TT output.

### SDVX

| Configuration option | Button combination |
|:---|:---|
| Disable LEDs | B1 + B2 + B3 + B4 + B9 |

### Start up

There also exist button combinations which perform special actions if held while connecting the device:

| Special action | Button combination |
|:---|:---|
| Enter programming mode | B1 + B2 |
Expand All @@ -84,8 +91,13 @@ There also exist button combinations which perform special actions if held while
| SDVX mode - HID | B1 + B9 |
| SDVX mode - Keyboard | B2 + B9 |

## Web configuration tool

You can also use the [web config tool](https://hwxlr8.github.io/beef-board/) to quickly configure multiple settings, reset settings to default values or to launch the bootloader to flash a new firmware.

## BOM
```

```plaintext
### PIN HEADERS ###
1 JST XH 5pin
15 JST XH 4pin
Expand Down Expand Up @@ -116,7 +128,8 @@ There also exist button combinations which perform special actions if held while
2 USB-B (ED2983-ND)
```

## Credits:
## Credits

* HW design by [HWXLR8](https://github.com/HWXLR8)
* FW written by [HWXLR8](https://github.com/HWXLR8) / [supervaka](https://github.com/supervaka) / [ASleepyCat](https://github.com/ASleepyCat)
* HID implementation provided by the [LUFA project](https://github.com/abcminiuser/lufa)
Expand All @@ -128,5 +141,6 @@ There also exist button combinations which perform special actions if held while
* Special thanks to Mechada and Cryto for beta testing

# PCB APPROVED BY KORS K

![image](pcb/pics/korsk.jpg)
![image](pcb/pics/sig.jpg)
21 changes: 21 additions & 0 deletions beef-config/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
node_modules

# Output
.output
.vercel
/.svelte-kit
/build

# OS
.DS_Store
Thumbs.db

# Env
.env
.env.*
!.env.example
!.env.test

# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
1 change: 1 addition & 0 deletions beef-config/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine-strict=true
4 changes: 4 additions & 0 deletions beef-config/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Package Managers
package-lock.json
pnpm-lock.yaml
yarn.lock
15 changes: 15 additions & 0 deletions beef-config/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"useTabs": true,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
"overrides": [
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
}
38 changes: 38 additions & 0 deletions beef-config/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# create-svelte

Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).

## Creating a project

If you're seeing this, you've probably already done this step. Congrats!

```bash
# create a new project in the current directory
npm create svelte@latest

# create a new project in my-app
npm create svelte@latest my-app
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```bash
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open
```

## Building

To create a production version of your app:

```bash
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
14 changes: 14 additions & 0 deletions beef-config/components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"$schema": "https://shadcn-svelte.com/schema.json",
"style": "default",
"tailwind": {
"config": "tailwind.config.ts",
"css": "src/app.css",
"baseColor": "slate"
},
"aliases": {
"components": "$lib/components",
"utils": "$lib/utils"
},
"typescript": true
}
33 changes: 33 additions & 0 deletions beef-config/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import js from '@eslint/js';
import ts from 'typescript-eslint';
import svelte from 'eslint-plugin-svelte';
import prettier from 'eslint-config-prettier';
import globals from 'globals';

/** @type {import('eslint').Linter.Config[]} */
export default [
js.configs.recommended,
...ts.configs.recommended,
...svelte.configs['flat/recommended'],
prettier,
...svelte.configs['flat/prettier'],
{
languageOptions: {
globals: {
...globals.browser,
...globals.node
}
}
},
{
files: ['**/*.svelte'],
languageOptions: {
parserOptions: {
parser: ts.parser
}
}
},
{
ignores: ['build/', '.svelte-kit/', 'dist/']
}
];
Loading

0 comments on commit 4b8f684

Please sign in to comment.