An open API service indexing awesome lists of open source software.

https://github.com/ellisdickinson46/bump-bar-processor

A bump bar processor, for hardware testing and execution of commands via plugins
https://github.com/ellisdickinson46/bump-bar-processor

bump-bar integration python serial

Last synced: about 2 months ago
JSON representation

A bump bar processor, for hardware testing and execution of commands via plugins

Awesome Lists containing this project

README

        

# Bump Bar Processor

A modular Python tool for listening to serial input from Bump Bars
_Tested with: Panasonic JS140MS, TG3 KBA-FP10A_

## ๐Ÿ“ฆ Features

- โœ… Serial port listener with auto-reconnect
- ๐Ÿ”Œ Plugin-based command execution
- โš™๏ธ JSON-based configuration
- ๐Ÿงช Hardware test mode
- ๐Ÿ“œ Cross-platform serial port detection

## ๐Ÿš€ Getting Started

### 1. Install dependencies

```bash
pip install -r requirements.txt
```

### 2. Prepare configuration

Example `config.json`:

```json
{
"commands": {
"e1": {
"plugin": "plugins.platform_command",
"kwargs": {
"command": "echo 'Hello from Terminal'"
}
},
"e2": {
"plugin": "plugins.hello_world"
}
},
"connection": {
"baud": 1200,
"port": "/dev/tty.PL2303G-USBtoUART130"
},
"feature_flags": {
"enable_repeat_presses": true,
"enable_auto_reconnect": false
}
}
```

---

## ๐Ÿ“š Usage

### List available serial ports

```bash
python main.py list-ports
```

### Run with config file

```bash
python main.py run config.json
```

### Hardware test mode (manual arguments)

```bash
python main.py hw-test -b 9600 -p COM3 -a -r
```

> `-b`: Set Baud Rate (defaults to 1200)
> `-p`: Set Port Name/Path
> `-a`: Enable auto-reconnect
> `-r`: Enable repeat key presses

## ๐Ÿ”Œ Plugin System

Look at [PLUGINS.md](PLUGINS.md) for a list of plugins and example usage.