phone/src/test-pins.ts
2025-11-20 16:16:47 -08:00

39 lines
730 B
TypeScript

import GPIO from "./pins"
console.log(`kill -9 ${process.pid}`)
const gpio = new GPIO()
using led = gpio.output(21)
using button = gpio.input(20, { pull: "up", debounce: 10 })
using switchInput = gpio.input(16, { pull: "up", debounce: 10 })
led.value = button.value
button.onChange((event) => {
led.value = event.value
})
const switchEvent = new Promise<void>(async (resolve) => {
await switchInput.waitForValue(0)
console.log("Switch pressed!")
resolve()
})
process.on("SIGINT", () => {
button.close()
switchInput.close()
led.close()
process.exit(0)
})
process.on("SIGTERM", () => {
button.close()
switchInput.close()
led.close()
process.exit(0)
})
await switchEvent
console.log(`👋 Goodbye!`)