import board
from adafruit_seesaw import seesaw, rotaryio, digitalio
from adafruit_debouncer import Button
import ring_light
import device

_seesaw = seesaw.Seesaw(board.STEMMA_I2C(), addr=0x49)

def _make_button(pin, long_duration_ms=500):
	_seesaw.pin_mode(pin, _seesaw.INPUT_PULLUP)
	ss_io = digitalio.DigitalIO(_seesaw, pin)

	return Button(ss_io,
				  short_duration_ms=0, 
				  long_duration_ms=long_duration_ms,
				  value_when_pressed=False)

def make_device(neopixel_pin, led_count):
	# Edit pins as necessary
	return device.Device(ring_light=ring_light.RingLight(neopixel_pin, led_count),
						 rotary_encoder=rotaryio.IncrementalEncoder(_seesaw),
						 select_button=_make_button(1, long_duration_ms=1000),
						 up_button=_make_button(2),
						 left_button=_make_button(3),
						 down_button=_make_button(4),
						 right_button=_make_button(5))