Force-Sensing Climbing Training
The objective of this project is to create a client that can establish connections with various Force-Sensing Hangboards/Plates used by climbers for strength measurement. Examples of such hangboards include the Moterboard, Climbro, SmartBoard,
Entralpi or Tindeq Progressor
Roadmap
- ➡️ Connect with devices
- âś… Griptonte Motherboard
- âś… Tindeq Progressor
- âś… Entralpi
- ➡️ Climbro
- ➡️ SmartBoard
- âś… Read / Write / Notify using Bluetooth
- ➡️ Calibrate Devices
- ➡️ Output weight/force stream
Development
git clone https://github.com/Stevie-Ray/motherboard
cd motherboard
npm install
Install
$ npm install @hangtime/motherboard
Example usage (Motherboard)
Simply importing the utilities you need from @hangtime/motherboard
<button id="motherboard" type="button">Connect Motherboard</button>
import { Motherboard, connect, disconnect, read, write, notify } from "@hangtime/motherboard"
const motherboardButton = document.querySelector("#motherboard")
motherboardButton.addEventListener("click", () => {
connect(Motherboard, async () => {
notify((data) => {
console.log(data)
})
await read(Motherboard, "battery", "level")
await read(Motherboard, "device", "manufacturer")
await read(Motherboard, "device", "hardware")
await read(Motherboard, "device", "firmware")
await write(Motherboard, "uart", "tx", "C", 5000)
await write(Motherboard, "unknown", "01", "1", 2500)
await write(Motherboard, "unknown", "02", "0", 2500)
await write(Motherboard, "uart", "tx", "S30", 5000)
await write(Motherboard, "unknown", "01", "0", 2500)
await write(Motherboard, "unknown", "02", "1", 2500)
await write(Motherboard, "uart", "tx", "S30", 5000)
disconnect(Motherboard)
})
})
License
MIT © Stevie-Ray Hartog