TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (405 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (133 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (142085 times)
  2. FAT32 Library (75310 times)
  3. Network Ethernet Library (59504 times)
  4. USB Device Library (49526 times)
  5. Network WiFi Library (45290 times)
  6. FT800 Library (44928 times)
  7. GSM click (31442 times)
  8. mikroSDK (30468 times)
  9. microSD click (27804 times)
  10. PID Library (27625 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

SwipeSwitch click

Rating:

5

Author: MIKROE

Last Updated: 2019-05-10

Package Version: 1.0.0.0

mikroSDK Library: 1.0.0.0

Category: Capacitive

Downloaded: 2221 times

Not followed.

License: MIT license  

SwipeSwitch click is capacitive touch, gesture, and proximity sensing Click board, which is equipped with the IQS266, an integrated trackpad controller circuit which features ProxSense® and IQ Switch® technologies.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "SwipeSwitch click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "SwipeSwitch click" changes.

Do you want to report abuse regarding "SwipeSwitch click".

  • mikroSDK Library 2.0.0.0
  • Comments (0)

mikroSDK Library Blog

SwipeSwitch click

SwipeSwitch click

Native view of the SwipeSwitch click board.

View full image
SwipeSwitch click

SwipeSwitch click

Front and back view of the SwipeSwitch click board.

View full image

Library Description

This library contains all the functions required to work with SwipeSwitch click.

Key functions:

  • void swipeswitch_init() - Function for initialization chip.
  • void swipeswitch_goToEventMode() - Function for go to Event mode.
  • uint8_t swipeswitch_waitForReady() - Function for checking RDY pins.

Examples description

The application is composed of the three sections :

  • System Initialization - Initialization I2C module and sets INT pin as INPUT.
  • Application Initialization - Initialization and configuration of the chip for measurement.
  • Application Task - (code snippet) : In the first test mode, it checks whether or not a new event ocurred (TAP or SWIPE). If it did, it writes out data regarding that event via UART. In the second test mode, X and Y coordinates are being read and logged via UART.

Note: After reading data or status registers, there is a certain time which must pass until the device is ready again. The device is ready for a new conversion and reading after the Ready pin is LOW.

void applicationTask()
{
    if(displayMode == 0)
    {
        while(swipeswitch_waitForReady() != 0);
        events = swipeswitch_readEvents();
        while(swipeswitch_waitForReady() != 0);
        gestures = swipeswitch_readGestures();

        if((events & (_SWIPESWITCH_EVENT_SWIPE)) != 0 )
        {
            if((gestures & _SWIPESWITCH_GESTURE_SWIPE_UP) != 0)
            {
                mikrobus_logWrite("SWIPE UP", _LOG_LINE);
            }
            if((gestures & _SWIPESWITCH_GESTURE_SWIPE_DOWN) != 0)
            {
                mikrobus_logWrite("SWIPE DOWN", _LOG_LINE);
            }
            if((gestures & _SWIPESWITCH_GESTURE_SWIPE_LEFT) != 0)
            {
                mikrobus_logWrite("SWIPE LEFT", _LOG_LINE);
            }
            if((gestures & _SWIPESWITCH_GESTURE_SWIPE_RIGHT) != 0)
            {
                mikrobus_logWrite("SWIPE RIGHT", _LOG_LINE);
            }
        }
        else if ((events & (_SWIPESWITCH_EVENT_TAP)) != 0)
        {
            mikrobus_logWrite("TAP", _LOG_LINE);
        }
    }
    else
    {
        while(swipeswitch_waitForReady() != 0);
        xCoordinate = swipeswitch_readXCoordinate();
        while(swipeswitch_waitForReady() != 0);
        yCoordinate = swipeswitch_readYCoordinate();

        if((xCoordinate != oldXCoordinate) || (yCoordinate != oldYCoordinate))
        {
            mikrobus_logWrite("Coordinate : (", _LOG_TEXT);
            IntToStr(xCoordinate, demoText);
            mikrobus_logWrite(demoText, _LOG_TEXT);
            mikrobus_logWrite(",", _LOG_TEXT);
            IntToStr(yCoordinate, demoText);
            mikrobus_logWrite(demoText, _LOG_TEXT);
            mikrobus_logWrite(")", _LOG_LINE);
            oldXCoordinate = xCoordinate;
            oldYCoordinate = yCoordinate;
        }
    }
    Delay_ms( 300 );
}

Other mikroE Libraries used in the example:

  • I2C

Additional notes and informations

Depending on the development board you are using, you may need USB UART clickUSB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.

ALSO FROM THIS AUTHOR

3D Hall 14 Click

0

3D Hall 14 Click is a compact add-on board designed for high-precision position sensing in various applications. This board features the MLX90394, a 3-axis magnetometer from Melexis based on the Triaxis® Hall technology. The MLX90394 offers low power consumption, excellent noise performance, and flexible measurement modes, including intelligent wake-up functions for efficient power management. It communicates via a standard 2-Wire I2C interface and supports fast-mode frequencies up to 1MHz.

[Learn More]

ClockGen 2 demo example

0

This example is made to demonstrate the operation of the ClockGen 2 click.

[Learn More]

LED DRIVER Click

0

This application controls the brightness.

[Learn More]