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

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

#include <Adafruit_NeoTrellis.h>

Inheritance diagram for Adafruit_NeoTrellis:
Adafruit_seesaw

Public Member Functions

 Adafruit_NeoTrellis (uint8_t addr=NEO_TRELLIS_ADDR)
 Class constructor. More...
 
bool begin (uint8_t addr=NEO_TRELLIS_ADDR, int8_t flow=-1)
 Begin communication with the RGB trellis. More...
 
void registerCallback (uint8_t key, TrellisCallback(*cb)(keyEvent))
 register a callback function on the passed key. More...
 
void unregisterCallback (uint8_t key)
 unregister a callback on a given key More...
 
void activateKey (uint8_t key, uint8_t edge, bool enable=true)
 activate or deactivate a given key event More...
 
void read (bool polling=true)
 read all events currently stored in the seesaw fifo and call any callbacks. 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...
 
void SWReset ()
 perform a software reset. This resets all seesaw registers to their default values. This is called automatically from Adafruit_seesaw.begin()
 
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...
 
void 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 ()
 Read the current position of the encoder. More...
 
int32_t getEncoderDelta ()
 Read the change in encoder position since it was last read. More...
 
void enableEncoderInterrupt ()
 Enable the interrupt to fire when the encoder changes position.
 
void disableEncoderInterrupt ()
 Disable the interrupt from firing when the encoder changes position.
 
void setEncoderPosition (int32_t pos)
 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 _addr
 the I2C address of this board
 
TrellisCallback(* _callbacks [NEO_TRELLIS_NUM_KEYS])(keyEvent)
 the array of callback functions
 
- Protected Attributes inherited from Adafruit_seesaw
uint8_t _i2caddr
 
TwoWire * _i2cbus
 
int8_t _flow
 
sercom_inten _sercom_inten
 sercom interrupt enable register instance
 

Friends

class Adafruit_MultiTrellis
 

Additional Inherited Members

- Protected Member Functions inherited from Adafruit_seesaw
void 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=125)
 read 1 byte from the specified seesaw register. More...
 
void read (uint8_t regHigh, uint8_t regLow, uint8_t *buf, uint8_t num, uint16_t delay=125)
 Read a specified number of bytes into a buffer from the seesaw. More...
 
void 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...
 
void writeEmpty (uint8_t regHigh, uint8_t regLow)
 Write only the module base address register and the function address register. More...
 
void _i2c_init ()
 Initialize I2C. On arduino this just calls i2c->begin()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ Adafruit_NeoTrellis()

Adafruit_NeoTrellis::Adafruit_NeoTrellis ( uint8_t  addr = NEO_TRELLIS_ADDR)

Class constructor.

Parameters
addrthe I2C address this neotrellis object uses

Member Function Documentation

◆ begin()

bool Adafruit_NeoTrellis::begin ( uint8_t  addr = NEO_TRELLIS_ADDR,
int8_t  flow = -1 
)

Begin communication with the RGB trellis.

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

◆ registerCallback()

void Adafruit_NeoTrellis::registerCallback ( uint8_t  key,
TrellisCallback(*)(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_NeoTrellis::unregisterCallback ( uint8_t  key)

unregister a callback on a given key

Parameters
keythe key number the callback is currently mapped to.

◆ activateKey()

void Adafruit_NeoTrellis::activateKey ( uint8_t  key,
uint8_t  edge,
bool  enable = true 
)

activate or deactivate a given key event

Parameters
keythe key number to map the event to
edgethe edge sensitivity of the event
enablepass true to enable the passed event, false to disable it.

◆ read()

void Adafruit_NeoTrellis::read ( bool  polling = true)

read all events currently stored in the seesaw fifo and call any callbacks.

Parameters
pollingpass true if the interrupt pin is not being used, false if it is. Defaults to true.

Friends And Related Function Documentation

◆ Adafruit_MultiTrellis

friend class Adafruit_MultiTrellis
friend

for allowing use of protected methods by aggregate class


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