ESPHome  2024.3.1
Data Structures | Variables
esphome::sx1509 Namespace Reference

Here you'll find the Arduino code used to interface with the SX1509 I2C 16 I/O expander. More...

Data Structures

class  SX1509BinarySensor
 
class  SX1509Component
 
class  SX1509FloatOutputChannel
 
class  SX1509GPIOPin
 
class  SX1509Processor
 

Variables

const uint8_t INTERNAL_CLOCK_2MHZ = 2
 
const uint8_t EXTERNAL_CLOCK = 1
 
const uint8_t SOFTWARE_RESET = 0
 
const uint8_t HARDWARE_RESET = 1
 
const uint8_t REG_I_ON [16]
 
const uint8_t REG_INPUT_DISABLE_B
 
const uint8_t REG_INPUT_DISABLE_A
 
const uint8_t REG_LONG_SLEW_B
 
const uint8_t REG_LONG_SLEW_A = 0x03
 
const uint8_t REG_LOW_DRIVE_B
 
const uint8_t REG_LOW_DRIVE_A = 0x05
 
const uint8_t REG_PULL_UP_B = 0x06
 
const uint8_t REG_PULL_UP_A = 0x07
 
const uint8_t REG_PULL_DOWN_B = 0x08
 
const uint8_t REG_PULL_DOWN_A = 0x09
 
const uint8_t REG_OPEN_DRAIN_B = 0x0A
 
const uint8_t REG_OPEN_DRAIN_A = 0x0B
 
const uint8_t REG_POLARITY_B = 0x0C
 
const uint8_t REG_POLARITY_A = 0x0D
 
const uint8_t REG_DIR_B = 0x0E
 
const uint8_t REG_DIR_A = 0x0F
 
const uint8_t REG_DATA_B = 0x10
 
const uint8_t REG_DATA_A = 0x11
 
const uint8_t REG_INTERRUPT_MASK_B
 
const uint8_t REG_INTERRUPT_MASK_A
 
const uint8_t REG_SENSE_HIGH_B = 0x14
 
const uint8_t REG_SENSE_LOW_B = 0x15
 
const uint8_t REG_SENSE_HIGH_A = 0x16
 
const uint8_t REG_SENSE_LOW_A = 0x17
 
const uint8_t REG_INTERRUPT_SOURCE_B
 
const uint8_t REG_INTERRUPT_SOURCE_A
 
const uint8_t REG_EVENT_STATUS_B = 0x1A
 
const uint8_t REG_EVENT_STATUS_A = 0x1B
 
const uint8_t REG_LEVEL_SHIFTER_1 = 0x1C
 
const uint8_t REG_LEVEL_SHIFTER_2 = 0x1D
 
const uint8_t REG_CLOCK = 0x1E
 
const uint8_t REG_MISC = 0x1F
 
const uint8_t REG_LED_DRIVER_ENABLE_B
 
const uint8_t REG_LED_DRIVER_ENABLE_A
 
const uint8_t REG_DEBOUNCE_CONFIG = 0x22
 
const uint8_t REG_DEBOUNCE_ENABLE_B
 
const uint8_t REG_DEBOUNCE_ENABLE_A
 
const uint8_t REG_KEY_CONFIG_1 = 0x25
 
const uint8_t REG_KEY_CONFIG_2 = 0x26
 
const uint8_t REG_KEY_DATA_1 = 0x27
 
const uint8_t REG_KEY_DATA_2 = 0x28
 
const uint8_t REG_I_ON_0 = 0x2A
 
const uint8_t REG_I_ON_1 = 0x2D
 
const uint8_t REG_I_ON_2 = 0x30
 
const uint8_t REG_I_ON_3 = 0x33
 
const uint8_t REG_I_ON_4 = 0x36
 
const uint8_t REG_I_ON_5 = 0x3B
 
const uint8_t REG_I_ON_6 = 0x40
 
const uint8_t REG_I_ON_7 = 0x45
 
const uint8_t REG_I_ON_8 = 0x4A
 
const uint8_t REG_I_ON_9 = 0x4D
 
const uint8_t REG_I_ON_10 = 0x50
 
const uint8_t REG_I_ON_11 = 0x53
 
const uint8_t REG_I_ON_12 = 0x56
 
const uint8_t REG_I_ON_13 = 0x5B
 
const uint8_t REG_I_ON_14 = 0x60
 
const uint8_t REG_I_ON_15 = 0x65
 
const uint8_t REG_HIGH_INPUT_B = 0x69
 
const uint8_t REG_HIGH_INPUT_A = 0x6A
 
const uint8_t REG_RESET = 0x7D
 
const uint8_t REG_TEST_1 = 0x7E
 
const uint8_t REG_TEST_2 = 0x7F
 

Detailed Description

Here you'll find the Arduino code used to interface with the SX1509 I2C 16 I/O expander.

There are functions to take advantage of everything the SX1509 provides - input/output setting, writing pins high/low, reading the input value of pins, LED driver utilities (blink, breath, pwm), and keypad engine utilities.

Development environment specifics: IDE: Arduino 1.6.5 Hardware Platform: Arduino Uno SX1509 Breakout Version: v2.0

This code is beerware; if you see me (or any other SparkFun employee) at the local, and you've found our code helpful, please buy us a round!

Distributed as-is; no warranty is given.

Variable Documentation

◆ EXTERNAL_CLOCK

const uint8_t esphome::sx1509::EXTERNAL_CLOCK = 1

Definition at line 16 of file sx1509.h.

◆ HARDWARE_RESET

const uint8_t esphome::sx1509::HARDWARE_RESET = 1

Definition at line 18 of file sx1509.h.

◆ INTERNAL_CLOCK_2MHZ

const uint8_t esphome::sx1509::INTERNAL_CLOCK_2MHZ = 2

Definition at line 15 of file sx1509.h.

◆ REG_CLOCK

const uint8_t esphome::sx1509::REG_CLOCK = 0x1E

Definition at line 68 of file sx1509_registers.h.

◆ REG_DATA_A

const uint8_t esphome::sx1509::REG_DATA_A = 0x11

Definition at line 51 of file sx1509_registers.h.

◆ REG_DATA_B

const uint8_t esphome::sx1509::REG_DATA_B = 0x10

Definition at line 50 of file sx1509_registers.h.

◆ REG_DEBOUNCE_CONFIG

const uint8_t esphome::sx1509::REG_DEBOUNCE_CONFIG = 0x22

Definition at line 75 of file sx1509_registers.h.

◆ REG_DEBOUNCE_ENABLE_A

const uint8_t esphome::sx1509::REG_DEBOUNCE_ENABLE_A
Initial value:
=
0x24

Definition at line 78 of file sx1509_registers.h.

◆ REG_DEBOUNCE_ENABLE_B

const uint8_t esphome::sx1509::REG_DEBOUNCE_ENABLE_B
Initial value:
=
0x23

Definition at line 76 of file sx1509_registers.h.

◆ REG_DIR_A

const uint8_t esphome::sx1509::REG_DIR_A = 0x0F

Definition at line 49 of file sx1509_registers.h.

◆ REG_DIR_B

const uint8_t esphome::sx1509::REG_DIR_B = 0x0E

Definition at line 48 of file sx1509_registers.h.

◆ REG_EVENT_STATUS_A

const uint8_t esphome::sx1509::REG_EVENT_STATUS_A = 0x1B

Definition at line 65 of file sx1509_registers.h.

◆ REG_EVENT_STATUS_B

const uint8_t esphome::sx1509::REG_EVENT_STATUS_B = 0x1A

Definition at line 64 of file sx1509_registers.h.

◆ REG_HIGH_INPUT_A

const uint8_t esphome::sx1509::REG_HIGH_INPUT_A = 0x6A

Definition at line 103 of file sx1509_registers.h.

◆ REG_HIGH_INPUT_B

const uint8_t esphome::sx1509::REG_HIGH_INPUT_B = 0x69

Definition at line 102 of file sx1509_registers.h.

◆ REG_I_ON

const uint8_t esphome::sx1509::REG_I_ON[16]
Initial value:
const uint8_t REG_I_ON_9
const uint8_t REG_I_ON_6
const uint8_t REG_I_ON_10
const uint8_t REG_I_ON_3
const uint8_t REG_I_ON_4
const uint8_t REG_I_ON_2
const uint8_t REG_I_ON_15
const uint8_t REG_I_ON_7
const uint8_t REG_I_ON_5
const uint8_t REG_I_ON_14
const uint8_t REG_I_ON_13
const uint8_t REG_I_ON_12
const uint8_t REG_I_ON_11
const uint8_t REG_I_ON_1
const uint8_t REG_I_ON_0
const uint8_t REG_I_ON_8

Definition at line 20 of file sx1509.h.

◆ REG_I_ON_0

const uint8_t esphome::sx1509::REG_I_ON_0 = 0x2A

Definition at line 85 of file sx1509_registers.h.

◆ REG_I_ON_1

const uint8_t esphome::sx1509::REG_I_ON_1 = 0x2D

Definition at line 86 of file sx1509_registers.h.

◆ REG_I_ON_10

const uint8_t esphome::sx1509::REG_I_ON_10 = 0x50

Definition at line 95 of file sx1509_registers.h.

◆ REG_I_ON_11

const uint8_t esphome::sx1509::REG_I_ON_11 = 0x53

Definition at line 96 of file sx1509_registers.h.

◆ REG_I_ON_12

const uint8_t esphome::sx1509::REG_I_ON_12 = 0x56

Definition at line 97 of file sx1509_registers.h.

◆ REG_I_ON_13

const uint8_t esphome::sx1509::REG_I_ON_13 = 0x5B

Definition at line 98 of file sx1509_registers.h.

◆ REG_I_ON_14

const uint8_t esphome::sx1509::REG_I_ON_14 = 0x60

Definition at line 99 of file sx1509_registers.h.

◆ REG_I_ON_15

const uint8_t esphome::sx1509::REG_I_ON_15 = 0x65

Definition at line 100 of file sx1509_registers.h.

◆ REG_I_ON_2

const uint8_t esphome::sx1509::REG_I_ON_2 = 0x30

Definition at line 87 of file sx1509_registers.h.

◆ REG_I_ON_3

const uint8_t esphome::sx1509::REG_I_ON_3 = 0x33

Definition at line 88 of file sx1509_registers.h.

◆ REG_I_ON_4

const uint8_t esphome::sx1509::REG_I_ON_4 = 0x36

Definition at line 89 of file sx1509_registers.h.

◆ REG_I_ON_5

const uint8_t esphome::sx1509::REG_I_ON_5 = 0x3B

Definition at line 90 of file sx1509_registers.h.

◆ REG_I_ON_6

const uint8_t esphome::sx1509::REG_I_ON_6 = 0x40

Definition at line 91 of file sx1509_registers.h.

◆ REG_I_ON_7

const uint8_t esphome::sx1509::REG_I_ON_7 = 0x45

Definition at line 92 of file sx1509_registers.h.

◆ REG_I_ON_8

const uint8_t esphome::sx1509::REG_I_ON_8 = 0x4A

Definition at line 93 of file sx1509_registers.h.

◆ REG_I_ON_9

const uint8_t esphome::sx1509::REG_I_ON_9 = 0x4D

Definition at line 94 of file sx1509_registers.h.

◆ REG_INPUT_DISABLE_A

const uint8_t esphome::sx1509::REG_INPUT_DISABLE_A
Initial value:
=
0x01

Definition at line 32 of file sx1509_registers.h.

◆ REG_INPUT_DISABLE_B

const uint8_t esphome::sx1509::REG_INPUT_DISABLE_B
Initial value:
=
0x00

Definition at line 30 of file sx1509_registers.h.

◆ REG_INTERRUPT_MASK_A

const uint8_t esphome::sx1509::REG_INTERRUPT_MASK_A
Initial value:
=
0x13

Definition at line 54 of file sx1509_registers.h.

◆ REG_INTERRUPT_MASK_B

const uint8_t esphome::sx1509::REG_INTERRUPT_MASK_B
Initial value:
=
0x12

Definition at line 52 of file sx1509_registers.h.

◆ REG_INTERRUPT_SOURCE_A

const uint8_t esphome::sx1509::REG_INTERRUPT_SOURCE_A
Initial value:
=
0x19

Definition at line 62 of file sx1509_registers.h.

◆ REG_INTERRUPT_SOURCE_B

const uint8_t esphome::sx1509::REG_INTERRUPT_SOURCE_B
Initial value:
=
0x18

Definition at line 60 of file sx1509_registers.h.

◆ REG_KEY_CONFIG_1

const uint8_t esphome::sx1509::REG_KEY_CONFIG_1 = 0x25

Definition at line 80 of file sx1509_registers.h.

◆ REG_KEY_CONFIG_2

const uint8_t esphome::sx1509::REG_KEY_CONFIG_2 = 0x26

Definition at line 81 of file sx1509_registers.h.

◆ REG_KEY_DATA_1

const uint8_t esphome::sx1509::REG_KEY_DATA_1 = 0x27

Definition at line 82 of file sx1509_registers.h.

◆ REG_KEY_DATA_2

const uint8_t esphome::sx1509::REG_KEY_DATA_2 = 0x28

Definition at line 83 of file sx1509_registers.h.

◆ REG_LED_DRIVER_ENABLE_A

const uint8_t esphome::sx1509::REG_LED_DRIVER_ENABLE_A
Initial value:
=
0x21

Definition at line 72 of file sx1509_registers.h.

◆ REG_LED_DRIVER_ENABLE_B

const uint8_t esphome::sx1509::REG_LED_DRIVER_ENABLE_B
Initial value:
=
0x20

Definition at line 70 of file sx1509_registers.h.

◆ REG_LEVEL_SHIFTER_1

const uint8_t esphome::sx1509::REG_LEVEL_SHIFTER_1 = 0x1C

Definition at line 66 of file sx1509_registers.h.

◆ REG_LEVEL_SHIFTER_2

const uint8_t esphome::sx1509::REG_LEVEL_SHIFTER_2 = 0x1D

Definition at line 67 of file sx1509_registers.h.

◆ REG_LONG_SLEW_A

const uint8_t esphome::sx1509::REG_LONG_SLEW_A = 0x03

Definition at line 36 of file sx1509_registers.h.

◆ REG_LONG_SLEW_B

const uint8_t esphome::sx1509::REG_LONG_SLEW_B
Initial value:
=
0x02

Definition at line 34 of file sx1509_registers.h.

◆ REG_LOW_DRIVE_A

const uint8_t esphome::sx1509::REG_LOW_DRIVE_A = 0x05

Definition at line 39 of file sx1509_registers.h.

◆ REG_LOW_DRIVE_B

const uint8_t esphome::sx1509::REG_LOW_DRIVE_B
Initial value:
=
0x04

Definition at line 37 of file sx1509_registers.h.

◆ REG_MISC

const uint8_t esphome::sx1509::REG_MISC = 0x1F

Definition at line 69 of file sx1509_registers.h.

◆ REG_OPEN_DRAIN_A

const uint8_t esphome::sx1509::REG_OPEN_DRAIN_A = 0x0B

Definition at line 45 of file sx1509_registers.h.

◆ REG_OPEN_DRAIN_B

const uint8_t esphome::sx1509::REG_OPEN_DRAIN_B = 0x0A

Definition at line 44 of file sx1509_registers.h.

◆ REG_POLARITY_A

const uint8_t esphome::sx1509::REG_POLARITY_A = 0x0D

Definition at line 47 of file sx1509_registers.h.

◆ REG_POLARITY_B

const uint8_t esphome::sx1509::REG_POLARITY_B = 0x0C

Definition at line 46 of file sx1509_registers.h.

◆ REG_PULL_DOWN_A

const uint8_t esphome::sx1509::REG_PULL_DOWN_A = 0x09

Definition at line 43 of file sx1509_registers.h.

◆ REG_PULL_DOWN_B

const uint8_t esphome::sx1509::REG_PULL_DOWN_B = 0x08

Definition at line 42 of file sx1509_registers.h.

◆ REG_PULL_UP_A

const uint8_t esphome::sx1509::REG_PULL_UP_A = 0x07

Definition at line 41 of file sx1509_registers.h.

◆ REG_PULL_UP_B

const uint8_t esphome::sx1509::REG_PULL_UP_B = 0x06

Definition at line 40 of file sx1509_registers.h.

◆ REG_RESET

const uint8_t esphome::sx1509::REG_RESET = 0x7D

Definition at line 105 of file sx1509_registers.h.

◆ REG_SENSE_HIGH_A

const uint8_t esphome::sx1509::REG_SENSE_HIGH_A = 0x16

Definition at line 58 of file sx1509_registers.h.

◆ REG_SENSE_HIGH_B

const uint8_t esphome::sx1509::REG_SENSE_HIGH_B = 0x14

Definition at line 56 of file sx1509_registers.h.

◆ REG_SENSE_LOW_A

const uint8_t esphome::sx1509::REG_SENSE_LOW_A = 0x17

Definition at line 59 of file sx1509_registers.h.

◆ REG_SENSE_LOW_B

const uint8_t esphome::sx1509::REG_SENSE_LOW_B = 0x15

Definition at line 57 of file sx1509_registers.h.

◆ REG_TEST_1

const uint8_t esphome::sx1509::REG_TEST_1 = 0x7E

Definition at line 106 of file sx1509_registers.h.

◆ REG_TEST_2

const uint8_t esphome::sx1509::REG_TEST_2 = 0x7F

Definition at line 107 of file sx1509_registers.h.

◆ SOFTWARE_RESET

const uint8_t esphome::sx1509::SOFTWARE_RESET = 0

Definition at line 17 of file sx1509.h.