unfortunately some units in the earliest batch had bad encoders soldered on. i’ve been replacing them by hand when issues show up. this is a maybe-fail over time, so there’s a pretty strong chance that even though i fixed one of your encoders, another failed. i’m happy to get the unit fixed and apologize for the trouble. e-mail help@monome.org
the currently released update also has not-great acceleration code, which is fixed in the upcoming update, so generally everything will feel better. but this will not fix a sad encoder.
little test script to help you identify a defect
-- encoder test
screen_dirty = true
function init()
counter = {}
for e = 1,3 do
counter[e] = 0
end
clock.run(screen_redraw_clock)
redraw()
end
function enc(e,d)
counter[e] = util.clamp(counter[e] + d,0,100)
screen_dirty = true
end
function redraw()
screen:clear()
screen.level(15)
for i = 1,3 do
screen.move(120, 22 + (10*i))
screen.text_right("e"..i..": "..counter[i])
end
screen:update()
end
function screen_redraw_clock()
while true do
if screen_dirty then
redraw()
screen_dirty = false
end
clock.sleep(1/30)
end
end