package seesaw type ModuleBaseAddress byte // Module Base Addreses // The module base addresses for different seesaw modules. const ( ModuleStatusBase ModuleBaseAddress = 0x00 ModuleGpioBase ModuleBaseAddress = 0x01 ModuleSercom0Base ModuleBaseAddress = 0x02 ModuleTimerBase ModuleBaseAddress = 0x08 ModuleAdcBase ModuleBaseAddress = 0x09 ModuleDacBase ModuleBaseAddress = 0x0A ModuleInterruptBase ModuleBaseAddress = 0x0B ModuleDapBase ModuleBaseAddress = 0x0C ModuleEepromBase ModuleBaseAddress = 0x0D ModuleNeoPixelBase ModuleBaseAddress = 0x0E ModuleTouchBase ModuleBaseAddress = 0x0F ModuleKeypadBase ModuleBaseAddress = 0x10 ModuleEncoderBase ModuleBaseAddress = 0x11 ModuleSpectrumBase ModuleBaseAddress = 0x12 ) type FunctionAddress byte // GPIO module function address registers const ( FunctionGpioDirsetBulk FunctionAddress = 0x02 FunctionGpioDirclrBulk FunctionAddress = 0x03 FunctionGpioBulk FunctionAddress = 0x04 FunctionGpioBulkSet FunctionAddress = 0x05 FunctionGpioBulkClr FunctionAddress = 0x06 FunctionGpioBulkToggle FunctionAddress = 0x07 FunctionGpioIntenset FunctionAddress = 0x08 FunctionGpioIntenclr FunctionAddress = 0x09 FunctionGpioIntflag FunctionAddress = 0x0A FunctionGpioPullenset FunctionAddress = 0x0B FunctionGpioPullenclr FunctionAddress = 0x0C ) // status module function address registers const ( FunctionStatusHwId FunctionAddress = 0x01 FunctionStatusVersion FunctionAddress = 0x02 FunctionStatusOptions FunctionAddress = 0x03 FunctionStatusTemp FunctionAddress = 0x04 FunctionStatusSwrst FunctionAddress = 0x7F ) // timer module function address registers const ( FunctionTimerStatus FunctionAddress = 0x00 FunctionTimerPwm FunctionAddress = 0x01 FunctionTimerFreq FunctionAddress = 0x02 ) // ADC module function address registers const ( FunctionAdcStatus FunctionAddress = 0x00 FunctionAdcInten FunctionAddress = 0x02 FunctionAdcIntenclr FunctionAddress = 0x03 FunctionAdcWinmode FunctionAddress = 0x04 FunctionAdcWinthresh FunctionAddress = 0x05 FunctionAdcChannelOffset FunctionAddress = 0x07 ) // Sercom module function address registers const ( FunctionSercomStatus FunctionAddress = 0x00 FunctionSercomInten FunctionAddress = 0x02 FunctionSercomIntenclr FunctionAddress = 0x03 FunctionSercomBaud FunctionAddress = 0x04 FunctionSercomData FunctionAddress = 0x05 ) // neopixel module function address registers const ( FunctionNeopixelStatus FunctionAddress = 0x00 FunctionNeopixelPin FunctionAddress = 0x01 FunctionNeopixelSpeed FunctionAddress = 0x02 FunctionNeopixelBufLength FunctionAddress = 0x03 FunctionNeopixelBuf FunctionAddress = 0x04 FunctionNeopixelShow FunctionAddress = 0x05 ) // touch module function address registers const ( FunctionTouchChannelOffset FunctionAddress = 0x10 ) // keypad module function address registers const ( FunctionKeypadStatus FunctionAddress = 0x00 FunctionKeypadEvent FunctionAddress = 0x01 FunctionKeypadIntenset FunctionAddress = 0x02 FunctionKeypadIntenclr FunctionAddress = 0x03 FunctionKeypadCount FunctionAddress = 0x04 FunctionKeypadFifo FunctionAddress = 0x10 ) // encoder module function address registers // these are the defaults for encoder 0, change the lower nibble to address other encoders // see the Device.GetEncoderPosition and SetEncoderPosition methods for examples. const ( FunctionEncoderIntenset FunctionAddress = 0x10 FunctionEncoderIntenclr FunctionAddress = 0x20 FunctionEncoderPosition FunctionAddress = 0x30 FunctionEncoderDelta FunctionAddress = 0x40 )