-- How to add Buttons: -- https://siminnovations.com/wiki/index.php?title=Hw_button_add -- hw_button_add(hw_id, pressed_callback, released_callback) function log(buttonName, config) print(buttonName) print("default hw id: " .. arduino .. config.pin) print("event: " .. config.event) print("- - - - - - - - - - -") end -- add button with one event (press) function assign(buttonName, config) local buttonNameWithPin = config.name .. " (Default Pin: " .. config.pin .. ")" hw_button_add(buttonNameWithPin, function() event(config.event) end) end -- add button with two events (press/release) function assignClr(buttonName, config) local buttonNameWithPin = config.name .. " (Default Pin: " .. config.pin .. ")" hw_button_add(buttonNameWithPin, function() timer_clear = timer_start(2000, function() event(config.event2) end) end, function() timer_stop(timer_clear) event(config.event) end) end function setupButtons() for buttonName, config in pairs(buttons) do log(buttonName, config) if (buttonName == "CLR") then assignClr(buttonName, config) else assign(buttonName, config) end end end