Adafruit Library
Public Member Functions | List of all members
seesaw_Audio_Spectrum Class Reference

Class that stores state and functions for seesaw audio spectrum interface. More...

#include <seesaw_spectrum.h>

Inheritance diagram for seesaw_Audio_Spectrum:
Adafruit_seesaw

Public Member Functions

 seesaw_Audio_Spectrum (TwoWire *Wi=NULL)
 seesaw_Audio_Spectrum class constructor. More...
 
bool begin (uint8_t addr=SEESAW_ADDRESS, int8_t flow=-1)
 Begin communication with Seesaw audio spectrum device. More...
 
void getData (void)
 Pull latest audio spectrum data from device.
 
void setRate (uint8_t value)
 Set the audio sampling rate. More...
 
void setChannel (uint8_t value)
 Set the analog input channel. More...
 
uint8_t getRate (void)
 Query the current audio sampling rate. More...
 
uint8_t getChannel (void)
 Query the current analog input channel. More...
 
uint8_t getLevel (uint8_t idx) const
 Get value of individual spectrum bin, as determined during most recent get_data() call. More...
 
uint8_t * getBuffer (void) const
 Get pointer to spectrum bin buffer directly. Use with caution! 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 port_values)
 write the entire GPIO port at once. 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...
 

Additional Inherited Members

- Protected Member Functions inherited from Adafruit_seesaw
uint8_t getI2CaddrEEPROMloc ()
 Return the EEPROM address used to store I2C address. More...
 
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...
 
- 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
 

Detailed Description

Class that stores state and functions for seesaw audio spectrum interface.

Constructor & Destructor Documentation

◆ seesaw_Audio_Spectrum()

seesaw_Audio_Spectrum::seesaw_Audio_Spectrum ( TwoWire *  Wi = NULL)
inline

seesaw_Audio_Spectrum class constructor.

Parameters
WiTwoWire interface this works through.

Member Function Documentation

◆ begin()

bool seesaw_Audio_Spectrum::begin ( uint8_t  addr = SEESAW_ADDRESS,
int8_t  flow = -1 
)
inline

Begin communication with Seesaw audio spectrum device.

Parameters
addrOptional i2c address where the device can be found. Defaults to SEESAW_ADDRESS.
flowOptional flow control pin.
Returns
true on success, false on error.

◆ setRate()

void seesaw_Audio_Spectrum::setRate ( uint8_t  value)

Set the audio sampling rate.

Parameters
valueSampling rate index, 0-31. Values outside this range will be clipped on the Seesaw device side.

◆ setChannel()

void seesaw_Audio_Spectrum::setChannel ( uint8_t  value)

Set the analog input channel.

Parameters
valueChannel index, 0-TBD (probably 1). Values outside the valid range will be clipped on the Seesaw device side.

◆ getRate()

uint8_t seesaw_Audio_Spectrum::getRate ( void  )

Query the current audio sampling rate.

Returns
Sampling rate index, 0-31.

◆ getChannel()

uint8_t seesaw_Audio_Spectrum::getChannel ( void  )

Query the current analog input channel.

Returns
Active ADC channel, 0-TBD (probably 1).

◆ getLevel()

uint8_t seesaw_Audio_Spectrum::getLevel ( uint8_t  idx) const
inline

Get value of individual spectrum bin, as determined during most recent get_data() call.

Parameters
idxSpectrum bin index (0-63) to query.
Returns
Level: 0 (silent) to 255 (loudest) for bin.

◆ getBuffer()

uint8_t* seesaw_Audio_Spectrum::getBuffer ( void  ) const
inline

Get pointer to spectrum bin buffer directly. Use with caution!

Returns
uint8_t base pointer to 64 spectrum bins.

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