Adafruit Library
Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
Adafruit_NeoKey_1x4 Class Reference

Class that stores state and functions for interacting with the seesaw NeoKey module. More...

#include <Adafruit_NeoKey_1x4.h>

Inheritance diagram for Adafruit_NeoKey_1x4:
Adafruit_seesaw

Public Member Functions

 Adafruit_NeoKey_1x4 (uint8_t addr=NEOKEY_1X4_ADDR, TwoWire *i2c_bus=&Wire)
 Class constructor. More...
 
bool begin (uint8_t addr=NEOKEY_1X4_ADDR, int8_t flow=-1)
 Begin communication with the RGB trellis. More...
 
void registerCallback (uint8_t key, NeoKey1x4Callback(*cb)(keyEvent))
 register a callback function on the passed key. More...
 
void unregisterCallback (uint8_t key)
 unregister a callback on a given key More...
 
uint8_t read (void)
 Read key GPIO pins, possibly generating callback events. More...
 
- Public Member Functions inherited from Adafruit_seesaw
 Adafruit_seesaw (TwoWire *Wi=NULL)
 Create a seesaw object on a given I2C bus. More...
 
bool begin (uint8_t addr=SEESAW_ADDRESS, int8_t flow=-1, bool reset=true)
 Start the seesaw. More...
 
uint32_t getOptions ()
 Returns the available options compiled into the seesaw firmware. More...
 
uint32_t getVersion ()
 Returns the version of the seesaw. More...
 
bool getProdDatecode (uint16_t *pid, uint8_t *year, uint8_t *mon, uint8_t *day)
 Returns the version of the seesaw. More...
 
bool SWReset ()
 perform a software reset. This resets all seesaw registers to their default values. This is called automatically from Adafruit_seesaw.begin() More...
 
void pinMode (uint8_t pin, uint8_t mode)
 Set the mode of a GPIO pin. More...
 
void pinModeBulk (uint32_t pins, uint8_t mode)
 set the mode of multiple GPIO pins at once. More...
 
void pinModeBulk (uint32_t pinsa, uint32_t pinsb, uint8_t mode)
 set the mode of multiple GPIO pins at once. This supports both ports A and B. More...
 
virtual void analogWrite (uint8_t pin, uint16_t value, uint8_t width=8)
 write a PWM value to a PWM-enabled pin More...
 
void digitalWrite (uint8_t pin, uint8_t value)
 Set the output of a GPIO pin. More...
 
void digitalWriteBulk (uint32_t pins, uint8_t value)
 write a value to multiple GPIO pins at once. More...
 
void digitalWriteBulk (uint32_t pinsa, uint32_t pinsb, uint8_t value)
 write a value to multiple GPIO pins at once. This supports both ports A and B More...
 
bool digitalRead (uint8_t pin)
 Read the current status of a GPIO pin. More...
 
uint32_t digitalReadBulk (uint32_t pins)
 read the status of multiple pins on port A. More...
 
uint32_t digitalReadBulkB (uint32_t pins)
 read the status of multiple pins on port B. More...
 
void setGPIOInterrupts (uint32_t pins, bool enabled)
 Enable or disable GPIO interrupts on the passed pins. More...
 
virtual uint16_t analogRead (uint8_t pin)
 read the analog value on an ADC-enabled pin. More...
 
uint16_t touchRead (uint8_t pin)
 read the analog value on an capacitive touch-enabled pin. More...
 
virtual void setPWMFreq (uint8_t pin, uint16_t freq)
 set the PWM frequency of a PWM-enabled pin. Note that on SAMD09, SAMD11 boards the frequency will be mapped to closest match fixed frequencies. Also note that PWM pins 4 and 5 share a timer, and PWM pins 6 and 7 share a timer. Changing the frequency for one pin will change the frequency for the other pin that is on the timer. More...
 
void enableSercomDataRdyInterrupt (uint8_t sercom=0)
 Enable the data ready interrupt on the passed sercom. Note that both the interrupt module and the passed sercom must be compiled into the seesaw firmware for this to function. If both of these things are true, the interrupt pin on the seesaw will fire when there is data to be read from the passed sercom. On the default seesaw firmeare on the SAMD09 breakout, no sercoms are enabled. More...
 
void disableSercomDataRdyInterrupt (uint8_t sercom=0)
 Disable the data ready interrupt on the passed sercom. More...
 
char readSercomData (uint8_t sercom=0)
 Reads a character from the passed sercom if one is available. Note that on the default seesaw firmware on the SAMD09 breakout no sercoms are enabled. More...
 
void EEPROMWrite8 (uint8_t addr, uint8_t val)
 Write a 1 byte to an EEPROM address. More...
 
void EEPROMWrite (uint8_t addr, uint8_t *buf, uint8_t size)
 write a string of bytes to EEPROM starting at the passed address More...
 
uint8_t EEPROMRead8 (uint8_t addr)
 Read 1 byte from the specified EEPROM address. More...
 
void setI2CAddr (uint8_t addr)
 Set the seesaw I2C address. This will automatically call Adafruit_seesaw.begin() with the new address. More...
 
uint8_t getI2CAddr ()
 Read the I2C address of the seesaw. More...
 
void UARTSetBaud (uint32_t baud)
 Set the baud rate on SERCOM0. More...
 
void setKeypadEvent (uint8_t key, uint8_t edge, bool enable=true)
 activate or deactivate a key and edge on the keypad module More...
 
void enableKeypadInterrupt ()
 enable the keypad interrupt that fires when events are in the fifo.
 
void disableKeypadInterrupt ()
 disable the keypad interrupt that fires when events are in the fifo.
 
uint8_t getKeypadCount ()
 Get the number of events currently in the fifo. More...
 
bool readKeypad (keyEventRaw *buf, uint8_t count)
 Read all keyEvents into the passed buffer. More...
 
float getTemp ()
 Read the temperature of the seesaw board in degrees Celsius. NOTE: not all seesaw firmwares have the temperature sensor enabled. More...
 
int32_t getEncoderPosition (uint8_t encoder=0)
 Read the current position of the encoder. More...
 
int32_t getEncoderDelta (uint8_t encoder=0)
 Read the change in encoder position since it was last read. More...
 
bool enableEncoderInterrupt (uint8_t encoder=0)
 Enable the interrupt to fire when the encoder changes position. More...
 
bool disableEncoderInterrupt (uint8_t encoder=0)
 Disable the interrupt from firing when the encoder changes position. More...
 
void setEncoderPosition (int32_t pos, uint8_t encoder=0)
 Set the current position of the encoder. More...
 
virtual size_t write (uint8_t)
 The print wrapper for the seesaw class. Calling this allows you to use ss.print() or ss.println() and write to the UART on SERCOM0 of the seesaw. Note that this functionality is only available when the UART (sercom) module is compiled into the seesaw firmware. On the default seesaw firmware on the SAMD09 breakout this functionality is not available. More...
 
virtual size_t write (const char *str)
 The print wrapper for the seesaw class allowing the user to print a string. Calling this allows you to use ss.print() or ss.println() and write to the UART on SERCOM0 of the seesaw. Note that this functionality is only available when the UART (sercom) module is compiled into the seesaw firmware. On the default seesaw firmware on the SAMD09 breakout this functionality is not available. More...
 

Public Attributes

seesaw_NeoPixel pixels
 the onboard neopixel matrix
 

Protected Attributes

uint8_t last_buttons = 0
 The last reading for the buttons.
 
uint8_t _addr
 the I2C address of this board
 
NeoKey1x4Callback(* _callbacks [NEOKEY_1X4_KEYS])(keyEvent)
 the array of callback functions
 
- Protected Attributes inherited from Adafruit_seesaw
TwoWire * _i2cbus
 
Adafruit_I2CDevice * _i2c_dev = NULL
 The BusIO device for I2C control.
 
int8_t _flow
 
uint8_t _hardwaretype = 0
 
sercom_inten _sercom_inten
 sercom interrupt enable register instance
 

Friends

class Adafruit_MultiNeoKey1x4
 

Additional Inherited Members

- Protected Member Functions inherited from Adafruit_seesaw
bool write8 (byte regHigh, byte regLow, byte value)
 Write 1 byte to the specified seesaw register. More...
 
uint8_t read8 (byte regHigh, byte regLow, uint16_t delay=250)
 read 1 byte from the specified seesaw register. More...
 
bool read (uint8_t regHigh, uint8_t regLow, uint8_t *buf, uint8_t num, uint16_t delay=250)
 Read a specified number of bytes into a buffer from the seesaw. More...
 
bool write (uint8_t regHigh, uint8_t regLow, uint8_t *buf, uint8_t num)
 Write a specified number of bytes to the seesaw from the passed buffer. More...
 

Detailed Description

Class that stores state and functions for interacting with the seesaw NeoKey module.

Constructor & Destructor Documentation

◆ Adafruit_NeoKey_1x4()

Adafruit_NeoKey_1x4::Adafruit_NeoKey_1x4 ( uint8_t  addr = NEOKEY_1X4_ADDR,
TwoWire *  i2c_bus = &Wire 
)

Class constructor.

Parameters
addrthe I2C address this neotrellis object uses
i2c_busthe I2C bus connected to this neokey, defaults to "Wire"

Member Function Documentation

◆ begin()

bool Adafruit_NeoKey_1x4::begin ( uint8_t  addr = NEOKEY_1X4_ADDR,
int8_t  flow = -1 
)

Begin communication with the RGB trellis.

Parameters
addroptional i2c address where the device can be found. Defaults to NEOKEY_1X4_ADDR
flowoptional flow control pin
Returns
true on success, false on error.

◆ registerCallback()

void Adafruit_NeoKey_1x4::registerCallback ( uint8_t  key,
NeoKey1x4Callback(*)(keyEvent cb 
)

register a callback function on the passed key.

Parameters
keythe key number to register the callback on
cbthe callback function that should be called when an event on that key happens

◆ unregisterCallback()

void Adafruit_NeoKey_1x4::unregisterCallback ( uint8_t  key)

unregister a callback on a given key

Parameters
keythe key number the callback is currently mapped to.

◆ read()

uint8_t Adafruit_NeoKey_1x4::read ( void  )

Read key GPIO pins, possibly generating callback events.

Returns
Byte with the bottom 4 bits corresponding to each keypress status

Friends And Related Function Documentation

◆ Adafruit_MultiNeoKey1x4

friend class Adafruit_MultiNeoKey1x4
friend

for allowing use of protected methods by aggregate class


The documentation for this class was generated from the following files: