28 lines
1.0 KiB
Lua
28 lines
1.0 KiB
Lua
function logEncoder(knobName, config)
|
|
print(knobName)
|
|
print("default hw id A: " .. arduino .. config.pinA)
|
|
print("default hw id B: " .. arduino .. config.pinB)
|
|
print("event: " .. config.event)
|
|
print("- - - - - - - - - - -")
|
|
end
|
|
|
|
-- assign a string to a integer of encoder direction (0,1)
|
|
function leftRight(direction)
|
|
return direction == 1 and "_Right" or "_Left"
|
|
end
|
|
|
|
-- How to add Rotary Encoders:
|
|
-- https://siminnovations.com/wiki/index.php?title=Rotary_encoder_connection_tutorial
|
|
-- https://siminnovations.com/wiki/index.php?title=Hw_dial_add
|
|
-- hw_dial_add(hw_id_a, hw_id_b, callback)
|
|
function setupEncoders()
|
|
-- Run the four encoders through the assignment function
|
|
for knobName, config in pairs(knobs) do
|
|
logEncoder(knobName, config)
|
|
local knobNameWithPin = config.name .. " (Default Pins: " .. config.pinA .. ", " .. config.pinB .. ")"
|
|
hw_dial_add(knobNameWithPin, function(direction)
|
|
event(config.event .. leftRight(direction))
|
|
end)
|
|
end
|
|
end
|