@hangtime/grip-connect-cli
Version:
CLI tool for Grip Connect devices
85 lines • 2.75 kB
JavaScript
/**
* Device definition for the PitchSix Force Board.
*/
import { ForceBoard } from "@hangtime/grip-connect-runtime";
import pc from "picocolors";
import { printResult, printSuccess } from "../utils.js";
const forceboard = {
name: "ForceBoard",
class: ForceBoard,
actions: [
{
name: "Battery",
description: "Read battery level",
run: async (device) => {
const d = device;
printResult("Battery:", await d.battery());
},
},
{
name: "Humidity",
description: "Read humidity level",
run: async (device) => {
const d = device;
printResult("Humidity:", await d.humidity());
},
},
{
name: "Manufacturer",
description: "Read manufacturer info",
run: async (device) => {
const d = device;
printResult("Manufacturer:", await d.manufacturer());
},
},
{
name: "Temperature",
description: "Read temperature",
run: async (device) => {
const d = device;
printResult("Temperature:", await d.temperature());
},
},
{
name: "Quick Start",
description: "Quick Start mode (5s default)",
run: async (device, options) => {
const d = device;
const duration = options.duration ?? 5000;
console.log(pc.cyan(`\nQuick Start running for ${duration / 1000}s...\n`));
await d.quick(duration);
printSuccess("Quick Start complete.");
},
},
{
name: "Threshold",
description: "Set Quick Start threshold (lbs)",
run: async (device) => {
const d = device;
const lbs = 10;
await d.threshold(lbs);
printSuccess(`Threshold set to ${lbs} lbs.`);
},
},
{
name: "Tare by characteristic",
description: "Zero calibration via characteristic",
run: async (device) => {
const d = device;
await d.tareByCharacteristic();
printSuccess("Tare complete.");
},
},
{
name: "Tare by mode",
description: "Zero calibration via Device Mode",
run: async (device) => {
const d = device;
await d.tareByMode();
printSuccess("Tare complete.");
},
},
],
};
export default forceboard;
//# sourceMappingURL=forceboard.js.map