from mangobox import Mango
import csv
from datetime import datetime
from threading import Lock

m = Mango(mode="hardware")
log_lock = Lock()
def record(state):
    with log_lock:
        row = [datetime.now().isoformat(timespec="milliseconds"), state]
        with open("button-events.csv", "a", newline="", encoding="utf-8") as file:
            csv.writer(file).writerow(row)
        print(*row)

m.when_pressed("button", lambda: record("pressed"))
m.when_released("button", lambda: record("released"))
m.start_button(100)
m.run_forever()
