HiPi
The HiPi module provides access to constants used throughout the HiPi distribution using the following import tags.
| :rpi :raspberry | constants for use with HiPi::GPIO and the GPIO pins generally. |
| :i2c | constants for use with HiPi::Device::I2C and related interface modules. |
| :spi | constants for use with HiPi::Device::SPI and related interface modules. |
| :mcp23017 | constants for use with HiPi::Interface::MCP23017 and and HiPi::Interface::MCP23S17 port extender modules. |
| :mpl3115a2 | constants for use with HiPi::Interface::MPL3115A2 for the Freescale MPL3115A2 pressure and temperature sensor. |
| :lcd | constants for modules providing HD44780 LCD support |
| :hrf69 | constants for use with HiPi::Interface::HopeRF69 for the Hope RF69 434Mhz radio modules |
| :mcp3adc | constants for use with HiPi::Interface::MCP3ADC providing support for the MCP 3004, 3008, 3204 and 3208 SPI analog to digital converters. |
| :mcp4dac | constants for use with HiPi::Interface::MCP4DAC providing support for the MCP 48xx series and 49xx series SPI digital to analog converters. |
| :openthings | constants for use with HiPi::RF::OpenThings::Message using the Sentec OpenThings RF message protocol. |
| :energenie | constants for use with Energenie Modules controlling Energenie switches and sensors. |
| :pca9685 | constants for use with HiPi::Interface::PCA9685 and PWM. |
| :oled | constants for use with HiPi::Interface::MonoOLED |
| :ms5611 | constants for use with HiPi::Interface::MS5611 |
| :tmp102 | constants for use with HiPi::Interface::TMP102 |
| :epaper | constants for use with HiPi::Interface::EPaper |
| :fl3730 | constants for use with HiPi::Interface::IS31FL3730 |
| :max7219 | constants for use with HiPi::Interface::MAX7219 |
| :hilink | constants for use with Huawei HiLink Modules |
:rpi :raspberry
use HiPi qw( :rpi ); use HiPi qw( :raspberry )
The :rpi or :raspberry tags import useful GPIO constants.
All methods and functions in the HiPi library take BCM ( GPIO ) pin numbers. The RPI constants allow you
to use the pin number from the Raspberry Pi header to refer to the necessary BCM pin number. For example, to refer to
GPIO 22 you may use the constant RPI_PIN_15. You may, of course, always use the number 22 directly.
RPI_PIN_3 RPI_PIN_5 RPI_PIN_7 RPI_PIN_8 RPI_PIN_10 RPI_PIN_11 RPI_PIN_12 RPI_PIN_13 RPI_PIN_15 RPI_PIN_16 RPI_PIN_18 RPI_PIN_19 RPI_PIN_21 RPI_PIN_22 RPI_PIN_23 RPI_PIN_24 RPI_PIN_26 RPI_PIN_27 RPI_PIN_28 RPI_PIN_29 RPI_PIN_31 RPI_PIN_32 RPI_PIN_33 RPI_PIN_35 RPI_PIN_36 RPI_PIN_37 RPI_PIN_38 RPI_PIN_40
Mode constants for use with the HiPi::GPIO methods for setting GPIO function.
RPI_OUTPUT RPI_INPUT RPI_MODE_INPUT RPI_MODE_OUTPUT RPI_MODE_ALT0 RPI_MODE_ALT1 RPI_MODE_ALT2 RPI_MODE_ALT3 RPI_MODE_ALT4 RPI_MODE_ALT5
Interrupt constants for use with the HiPi::GPIO methods for setting interrupt functions.
RPI_INT_NONE RPI_INT_FALL RPI_INT_RISE RPI_INT_BOTH RPI_INT_AFALL RPI_INT_ARISE RPI_INT_HIGH RPI_INT_LOW
Utility constants for setting and checking pin values.
RPI_HIGH RPI_LOW
Pull up / Pull Down constants.
RPI_PUD_OFF RPI_PUD_DOWN RPI_PUD_UP RPI_PUD_UNSET
:i2c
use HiPi qw( :i2c );
I2C_READMODE_SYSTEM I2C_READMODE_REPEATED_START I2C_READMODE_START_STOP I2C_SCANMODE_AUTO I2C_SCANMODE_QUICK I2C_SCANMODE_READ I2C_RETRIES I2C_TIMEOUT I2C_SLAVE I2C_TENBIT I2C_FUNCS I2C_SLAVE_FORCE I2C_RDWR I2C_PEC I2C_SMBUS I2C_M_TEN I2C_M_RD I2C_M_NOSTART I2C_M_REV_DIR_ADDR I2C_M_IGNORE_NAK I2C_M_NO_RD_ACK I2C_M_RECV_LEN I2C0_SDA I2C0_SCL I2C1_SDA I2C1_SCL I2C_SDA I2C_SCL ID_SD ID_SC
:spi
use HiPi qw( :spi );
SPI_CPHA SPI_CPOL SPI_MODE_0 SPI_MODE_1 SPI_MODE_2 SPI_MODE_3 SPI_CS_HIGH SPI_LSB_FIRST SPI_3WIRE SPI_LOOP SPI_NO_CS SPI_READY SPI_SPEED_KHZ_500 SPI_SPEED_MHZ_1 SPI_SPEED_MHZ_2 SPI_SPEED_MHZ_4 SPI_SPEED_MHZ_8 SPI_SPEED_MHZ_16 SPI_SPEED_MHZ_32
:mcp23017 :mcp23S17
use HiPi qw( :mcp23017 ); use HiPi qw( :mcp23S17 ); use HiPi qw( :mcp23x17 );
MCP23S17_A0
MCP23S17_A1
MCP23S17_A2
MCP23S17_A3
MCP23S17_A4
MCP23S17_A5
MCP23S17_A6
MCP23S17_A7
MCP23S17_B0
MCP23S17_B1
MCP23S17_B2
MCP23S17_B3
MCP23S17_B4
MCP23S17_B5
MCP23S17_B6
MCP23S17_B7
MCP23S17_BANK
MCP23S17_MIRROR
MCP23S17_SEQOP
MCP23S17_DISSLW
MCP23S17_HAEN
MCP23S17_ODR
MCP23S17_INTPOL
MCP23S17_INPUT
MCP23S17_OUTPUT
MCP23S17_HIGH
MCP23S17_LOW
MCP23017_A0
MCP23017_A1
MCP23017_A2
MCP23017_A3
MCP23017_A4
MCP23017_A5
MCP23017_A6
MCP23017_A7
MCP23017_B0
MCP23017_B1
MCP23017_B2
MCP23017_B3
MCP23017_B4
MCP23017_B5
MCP23017_B6
MCP23017_B7
MCP23017_BANK
MCP23017_MIRROR
MCP23017_SEQOP
MCP23017_DISSLW
MCP23017_HAEN
MCP23017_ODR
MCP23017_INTPOL
MCP23017_INPUT
MCP23017_OUTPUT
MCP23017_HIGH
MCP23017_LOW
MCP_PIN_A0
MCP_PIN_A1
MCP_PIN_A2
MCP_PIN_A3
MCP_PIN_A4
MCP_PIN_A5
MCP_PIN_A6
MCP_PIN_A7
MCP_PIN_B0
MCP_PIN_B1
MCP_PIN_B2
MCP_PIN_B3
MCP_PIN_B4
MCP_PIN_B5
MCP_PIN_B6
MCP_PIN_B7
:mpl3115a2
use HiPi qw( :mpl3115a2);
MPL_REG_STATUS
MPL_REG_OUT_P_MSB
MPL_REG_OUT_P_CSB
MPL_REG_OUT_P_LSB
MPL_REG_OUT_T_MSB
MPL_REG_OUT_T_LSB
MPL_REG_DR_STATUS
MPL_REG_OUT_P_DELTA_MSB
MPL_REG_OUT_P_DELTA_CSB
MPL_REG_OUT_P_DELTA_LSB
MPL_REG_OUT_T_DELTA_MSB
MPL_REG_OUT_T_DELTA_LSB
MPL_REG_WHO_AM_I
MPL_REG_F_STATUS
MPL_REG_F_DATA
MPL_REG_F_SETUP
MPL_REG_TIME_DLY
MPL_REG_SYSMOD
MPL_REG_INT_SOURCE
MPL_REG_PT_DATA_CFG
MPL_REG_BAR_IN_MSB
MPL_REG_MAR_IN_LSB
MPL_REG_P_TGT_MSB
MPL_REG_P_TGT_LSB
MPL_REG_T_TGT
MPL_REG_P_WND_MSB
MPL_REG_P_WND_LSB
MPL_REG_T_WND
MPL_REG_P_MIN_MSB
MPL_REG_P_MIN_CSB
MPL_REG_P_MIN_LSB
MPL_REG_T_MIN_MSB
MPL_REG_T_MIN_LSB
MPL_REG_P_MAX_MSB
MPL_REG_P_MAX_CSB
MPL_REG_P_MAX_LSB
MPL_REG_T_MAX_MSB
MPL_REG_T_MAX_LSB
MPL_REG_CTRL_REG1
MPL_REG_CTRL_REG2
MPL_REG_CTRL_REG3
MPL_REG_CTRL_REG4
MPL_REG_CTRL_REG5
MPL_REG_OFF_P
MPL_REG_OFF_T
MPL_REG_OFF_H
MPL_CTRL_REG1_SBYB
MPL_CTRL_REG1_OST
MPL_CTRL_REG1_RST
MPL_CTRL_REG1_OS0
MPL_CTRL_REG1_OS1
MPL_CTRL_REG1_OS2
MPL_CTRL_REG1_RAW
MPL_CTRL_REG1_ALT
MPL_CTRL_REG1_MASK
MPL_CTRL_REG2_ST0
MPL_CTRL_REG2_ST1
MPL_CTRL_REG2_ST2
MPL_CTRL_REG2_ST3
MPL_CTRL_REG2_ALARM_SEL
MPL_CTRL_REG2_LOAD_OUTPUT
MPL_CTRL_REG2_MASK
MPL_CTRL_REG3_PP_0D2
MPL_CTRL_REG3_IPOL2
MPL_CTRL_REG3_PP_OD1
MPL_CTRL_REG3_IPOL1
MPL_CTRL_REG3_MASK
MPL_CTRL_REG4_INT_EN_DRDY
MPL_CTRL_REG4_INT_EN_FIFO
MPL_CTRL_REG4_INT_EN_PW
MPL_CTRL_REG4_INT_EN_TW
MPL_CTRL_REG4_INT_EN_PTH
MPL_CTRL_REG4_INT_EN_TTH
MPL_CTRL_REG4_INT_EN_PCHG
MPL_CTRL_REG4_INT_EN_TCHG
MPL_CTRL_REG4_MASK
MPL_INTREGS_DRDY
MPL_INTREGS_FIFO
MPL_INTREGS_PW
MPL_INTREGS_TW
MPL_INTREGS_PTH
MPL_INTREGS_TTH
MPL_INTREGS_PCHG
MPL_INTREGS_TCHG
MPL_INTREGS_MASK
MPL_DR_STATUS_PTOW
MPL_DR_STATUS_POW
MPL_DR_STATUS_TOW
MPL_DR_STATUS_PTDR
MPL_DR_STATUS_PDR
MPL_DR_STATUS_TDR
MPL_DR_STATUS_MASK
MPL_F_STATUS_F_OVF
MPL_F_STATUS_F_WMRK_FLAG
MPL_F_STATUS_F_CNT5
MPL_F_STATUS_F_CNT4
MPL_F_STATUS_F_CNT3
MPL_F_STATUS_F_CNT2
MPL_F_STATUS_F_CNT1
MPL_F_STATUS_F_CNT0
MPL_F_STATUS_MASK
MPL_PT_DATA_CFG_DREM
MPL_PT_DATA_CFG_PDEFE
MPL_PT_DATA_CFG_TDEFE
MPL_PT_DATA_CFG_MASK
MPL_BIT_SBYB
MPL_BIT_OST
MPL_BIT_RST
MPL_BIT_OS0
MPL_BIT_OS1
MPL_BIT_OS2
MPL_BIT_RAW
MPL_BIT_ALT
MPL_BIT_ST0
MPL_BIT_ST1
MPL_BIT_ST2
MPL_BIT_ST3
MPL_BIT_ALARM_SEL
MPL_BIT_LOAD_OUTPUT
MPL_BIT_PP_0D2
MPL_BIT_IPOL2
MPL_BIT_PP_OD1
MPL_BIT_IPOL1
# interrupt bits for CTRL_REG5,
MPL_BIT_DRDY
MPL_BIT_FIFO
MPL_BIT_PW
MPL_BIT_TW
MPL_BIT_PTH
MPL_BIT_TTH
MPL_BIT_PCHG
MPL_BIT_TCHG
MPL_BIT_PTOW
MPL_BIT_POW
MPL_BIT_TOW
MPL_BIT_PTDR
MPL_BIT_PDR
MPL_BIT_TDR
MPL_BIT_F_OVF
MPL_BIT_F_WMRK_FLAG
MPL_BIT_F_CNT5
MPL_BIT_F_CNT4
MPL_BIT_F_CNT3
MPL_BIT_F_CNT2
MPL_BIT_F_CNT1
MPL_BIT_F_CNT0
MPL_BIT_DREM
MPL_BIT_PDEFE
MPL_BIT_TDEFE
MPL_FUNC_ALTITUDE
MPL_FUNC_PRESSURE
MPL3115A2_ID
MPL_CONTROL_MASK
MPL_BYTE_MASK
MPL_WORD_MASK
MPL_OVERSAMPLE_1
MPL_OVERSAMPLE_2
MPL_OVERSAMPLE_4
MPL_OVERSAMPLE_8
MPL_OVERSAMPLE_16
MPL_OVERSAMPLE_32
MPL_OVERSAMPLE_64
MPL_OVERSAMPLE_128
MPL_OVERSAMPLE_MASK
:lcd
use HiPi qw( :lcd );
HD44780_CLEAR_DISPLAY HD44780_HOME_UNSHIFT HD44780_CURSOR_MODE_LEFT HD44780_CURSOR_MODE_LEFT_SHIFT HD44780_CURSOR_MODE_RIGHT HD44780_CURSOR_MODE_RIGHT_SHIFT HD44780_DISPLAY_OFF HD44780_DISPLAY_ON HD44780_CURSOR_OFF HD44780_CURSOR_UNDERLINE HD44780_CURSOR_BLINK HD44780_SHIFT_CURSOR_LEFT HD44780_SHIFT_CURSOR_RIGHT HD44780_SHIFT_DISPLAY_LEFT HD44780_SHIFT_DISPLAY_RIGHT HD44780_CURSOR_POSITION SRX_CURSOR_OFF SRX_CURSOR_BLINK SRX_CURSOR_UNDERLINE HTV2_END_SERIALRX_COMMAND => chr(0xFF), HTV2_BAUD_2400 HTV2_BAUD_4800 HTV2_BAUD_9600 HTV2_BAUD_14400 HTV2_BAUD_19200 HTV2_BAUD_28800 HTV2_BAUD_57600 HTV2_BAUD_115200 HTV2_CMD_PRINT HTV2_CMD_SET_CURSOR_POS HTV2_CMD_CLEAR_LINE HTV2_CMD_CLEAR_DISPLAY HTV2_CMD_LCD_TYPE HTV2_CMD_HD44780_CMD HTV2_CMD_BACKLIGHT HTV2_CMD_WRITE_CHAR HTV2_CMD_I2C_ADDRESS HTV2_CMD_BAUD_RATE HTV2_CMD_CUSTOM_CHAR SLCD_START_COMMAND => chr(0xFE) SLCD_SPECIAL_COMMAND => chr(0x7C)
:hrf69
use HiPi qw( :hrf69 );
RF69_REG_FIFO RF69_REG_OPMODE RF69_REG_REGDATAMODUL RF69_REG_BITRATEMSB RF69_REG_BITRATELSB RF69_REG_FDEVMSB RF69_REG_FDEVLSB RF69_REG_FRMSB RF69_REG_FRMID RF69_REG_FRLSB RF69_REG_CALLIB RF69_REG_AFCCTRL RF69_REG_LISTEN1 RF69_REG_LISTEN2 RF69_REG_LISTEN3 RF69_REG_VERSION RF69_REG_PALEVEL RF69_REG_PARAMP RF69_REG_OCP RF69_REG_LNA RF69_REG_RXBW RF69_REG_AFCBW RF69_REG_OOKPEAK RF69_REG_OOKAVG RF69_REG_OOKFIX RF69_REG_AFCFEI RF69_REG_AFCMSB RF69_REG_AFCLSB RF69_REG_FEIMSB RF69_REG_FEILSB RF69_REG_RSSICONFIG RF69_REG_RSSIVALUE RF69_REG_DIOMAPPING1 RF69_REG_DIOMAPPING2 RF69_REG_IRQFLAGS1 RF69_REG_IRQFLAGS2 RF69_REG_RSSITHRESH RF69_REG_RXTIMEOUT1 RF69_REG_RXTIMEOUT2 RF69_REG_PREAMBLEMSB RF69_REG_PREAMBLELSB RF69_REG_SYNCCONFIG RF69_REG_SYNCVALUE1 RF69_REG_SYNCVALUE2 RF69_REG_SYNCVALUE3 RF69_REG_SYNCVALUE4 RF69_REG_SYNCVALUE5 RF69_REG_SYNCVALUE6 RF69_REG_SYNCVALUE7 RF69_REG_SYNCVALUE8 RF69_REG_PACKETCONFIG1 RF69_REG_PAYLOADLEN RF69_REG_NODEADDRESS RF69_REG_BROADCASTADDRESS RF69_REG_AUTOMODES RF69_REG_FIFOTHRESH RF69_REG_PACKETCONFIG2 RF69_REG_AESKEY1 RF69_REG_AESKEY2 RF69_REG_AESKEY3 RF69_REG_AESKEY4 RF69_REG_AESKEY5 RF69_REG_AESKEY6 RF69_REG_AESKEY7 RF69_REG_AESKEY8 RF69_REG_AESKEY9 RF69_REG_AESKEY10 RF69_REG_AESKEY11 RF69_REG_AESKEY12 RF69_REG_AESKEY13 RF69_REG_AESKEY14 RF69_REG_AESKEY15 RF69_REG_AESKEY16 RF69_REG_TEMP1 RF69_REG_TEMP2 RF69_REG_TESTLNA RF69_REG_TESTPA1 RF69_REG_TESTPA2 RF69_REG_TESTDAGC RF69_REG_TESTAFC RF69_MASK_REG_WRITE RF69_TRUE RF69_FALSE RF69_MASK_OPMODE_SEQOFF RF69_MASK_OPMODE_LISTENON RF69_MASK_OPMODE_LISTENABORT RF69_MASK_OPMODE_RX RF69_MASK_OPMODE_TX RF69_MASK_OPMODE_FS RF69_MASK_OPMODE_SB RF69_MASK_MODEREADY RF69_MASK_FIFONOTEMPTY RF69_MASK_FIFOLEVEL RF69_MASK_FIFOOVERRUN RF69_MASK_PACKETSENT RF69_MASK_TXREADY RF69_MASK_PACKETMODE RF69_MASK_MODULATION RF69_MASK_PAYLOADRDY RF69_MASK_REGDATAMODUL_FSK # Modulation scheme FSK RF69_MASK_REGDATAMODUL_OOK # Modulation scheme OOK RF69_VAL_AFCCTRLS # standard AFC routine RF69_VAL_AFCCTRLI # improved AFC routine RF69_VAL_LNA50 # LNA input impedance 50 ohms RF69_VAL_LNA50G # LNA input impedance 50 ohms, LNA gain -> 48db RF69_VAL_LNA200 # LNA input impedance 200 ohms RF69_VAL_RXBW60 # channel filter bandwidth 10kHz -> 60kHz page:26 RF69_VAL_RXBW120 # channel filter bandwidth 120kHz RF69_VAL_AFCFEIRX # AFC is performed each time RX mode is entered RF69_VAL_RSSITHRESH220 # RSSI threshold => 0xE4 -> => 0xDC (220) RF69_VAL_PREAMBLELSB3 # preamble size LSB 3 RF69_VAL_PREAMBLELSB5 # preamble size LSB 5
:mcp3adc
use HiPi qw( :mcp3adc );
MCP3004 # 4 channels, 10 bit MCP3008 # 8 channels, 10 bit MCP3204 # 4 channels, 12 bit MCP3208 # 8 channels, 12 bit MCP3ADC_CHAN_0 => 0b00001000, # single-ended CH0 MCP3ADC_CHAN_1 => 0b00001001, # single-ended CH1 MCP3ADC_CHAN_2 => 0b00001010, # single-ended CH2 MCP3ADC_CHAN_3 => 0b00001011, # single-ended CH3 MCP3ADC_CHAN_4 => 0b00001100, # single-ended CH4 MCP3ADC_CHAN_5 => 0b00001101, # single-ended CH5 MCP3ADC_CHAN_6 => 0b00001110, # single-ended CH6 MCP3ADC_CHAN_7 => 0b00001111, # single-ended CH7 MCP3ADC_DIFF_0_1 => 0b00000000, # differential +CH0 -CH1 MCP3ADC_DIFF_1_0 => 0b00000001, # differential -CH0 +CH1 MCP3ADC_DIFF_2_3 => 0b00000010, # differential +CH2 -CH3 MCP3ADC_DIFF_3_2 => 0b00000011, # differential -CH2 +CH3 MCP3ADC_DIFF_4_5 => 0b00000100, # differential +CH4 -CH5 MCP3ADC_DIFF_5_4 => 0b00000101, # differential -CH4 +CH5 MCP3ADC_DIFF_6_7 => 0b00000110, # differential +CH6 -CH7 MCP3ADC_DIFF_7_6 => 0b00000111, # differential -CH6 +CH7 MCP3008_S0 => 0b00001000, # single-ended CH0 MCP3008_S1 => 0b00001001, # single-ended CH1 MCP3008_S2 => 0b00001010, # single-ended CH2 MCP3008_S3 => 0b00001011, # single-ended CH3 MCP3008_S4 => 0b00001100, # single-ended CH4 MCP3008_S5 => 0b00001101, # single-ended CH5 MCP3008_S6 => 0b00001110, # single-ended CH6 MCP3008_S7 => 0b00001111, # single-ended CH7 MCP3008_DIFF_0_1 => 0b00000000, # differential +CH0 -CH1 MCP3008_DIFF_1_0 => 0b00000001, # differential -CH0 +CH1 MCP3008_DIFF_2_3 => 0b00000010, # differential +CH2 -CH3 MCP3008_DIFF_3_2 => 0b00000011, # differential -CH2 +CH3 MCP3008_DIFF_4_5 => 0b00000100, # differential +CH4 -CH5 MCP3008_DIFF_5_4 => 0b00000101, # differential -CH4 +CH5 MCP3008_DIFF_6_7 => 0b00000110, # differential +CH6 -CH7 MCP3008_DIFF_7_6 => 0b00000110, # differential -CH6 +CH7 MCP3208_S0 => 0b00001000, # single-ended CH0 MCP3208_S1 => 0b00001001, # single-ended CH1 MCP3208_S2 => 0b00001010, # single-ended CH2 MCP3208_S3 => 0b00001011, # single-ended CH3 MCP3208_S4 => 0b00001100, # single-ended CH4 MCP3208_S5 => 0b00001101, # single-ended CH5 MCP3208_S6 => 0b00001110, # single-ended CH6 MCP3208_S7 => 0b00001111, # single-ended CH7 MCP3208_DIFF_0_1 => 0b00000000, # differential +CH0 -CH1 MCP3208_DIFF_1_0 => 0b00000001, # differential -CH0 +CH1 MCP3208_DIFF_2_3 => 0b00000010, # differential +CH2 -CH3 MCP3208_DIFF_3_2 => 0b00000011, # differential -CH2 +CH3 MCP3208_DIFF_4_5 => 0b00000100, # differential +CH4 -CH5 MCP3208_DIFF_5_4 => 0b00000101, # differential -CH4 +CH5 MCP3208_DIFF_6_7 => 0b00000110, # differential +CH6 -CH7 MCP3208_DIFF_7_6 => 0b00000110, # differential -CH6 +CH7 MCP3004_S0 => 0b00001000, # single-ended CH0 MCP3004_S1 => 0b00001001, # single-ended CH1 MCP3004_S2 => 0b00001010, # single-ended CH2 MCP3004_S3 => 0b00001011, # single-ended CH3 MCP3004_DIFF_0_1 => 0b00000000, # differential +CH0 -CH1 MCP3004_DIFF_1_0 => 0b00000001, # differential -CH0 +CH1 MCP3004_DIFF_2_3 => 0b00000010, # differential +CH2 -CH3 MCP3004_DIFF_3_2 => 0b00000011, # differential -CH2 +CH3 MCP3204_S0 => 0b00001000, # single-ended CH0 MCP3204_S1 => 0b00001001, # single-ended CH1 MCP3204_S2 => 0b00001010, # single-ended CH2 MCP3204_S3 => 0b00001011, # single-ended CH3 MCP3204_DIFF_0_1 => 0b00000000, # differential +CH0 -CH1 MCP3204_DIFF_1_0 => 0b00000001, # differential -CH0 +CH1 MCP3204_DIFF_2_3 => 0b00000010, # differential +CH2 -CH3 MCP3204_DIFF_3_2 => 0b00000011, # differential -CH2 +CH3
:mcp4dac
use HiPi qw( :mcp4dac );
MCP_DAC_CHANNEL_A
MCP_DAC_CHANNEL_B
MCP_DAC_BUFFER
MCP_DAC_GAIN
MCP_DAC_NO_GAIN
MCP_DAC_LIVE
MCP_DAC_SHUTDOWN
MCP4801
MCP4811
MCP4821
MCP4802
MCP4812
MCP4822
MCP4901
MCP4911
MCP4921
MCP4902
MCP4912
MCP4922
:openthings
use HiPi qw( :openthings );
OPENTHINGS_MANUFACTURER_ENERGENIE OPENTHINGS_MANUFACTURER_SENTEC OPENTHINGS_MANUFACTURER_HILDERBRAND OPENTHINGS_MANUFACTURER_RASPBERRY OPENTHINGS_PARAM_ALARM OPENTHINGS_PARAM_DEBUG_OUTPUT OPENTHINGS_PARAM_IDENTIFY OPENTHINGS_PARAM_SOURCE_SELECTOR OPENTHINGS_PARAM_WATER_DETECTOR OPENTHINGS_PARAM_GLASS_BREAKAGE OPENTHINGS_PARAM_CLOSURES OPENTHINGS_PARAM_DOOR_BELL OPENTHINGS_PARAM_ENERGY OPENTHINGS_PARAM_FALL_SENSOR OPENTHINGS_PARAM_GAS_VOLUME OPENTHINGS_PARAM_AIR_PRESSURE OPENTHINGS_PARAM_ILLUMINANCE OPENTHINGS_PARAM_LEVEL OPENTHINGS_PARAM_RAINFALL OPENTHINGS_PARAM_APPARENT_POWER OPENTHINGS_PARAM_POWER_FACTOR OPENTHINGS_PARAM_REPORT_PERIOD OPENTHINGS_PARAM_SMOKE_DETECTOR OPENTHINGS_PARAM_TIME_AND_DATE OPENTHINGS_PARAM_VIBRATION OPENTHINGS_PARAM_WATER_VOLUME OPENTHINGS_PARAM_WIND_SPEED OPENTHINGS_PARAM_GAS_PRESSURE OPENTHINGS_PARAM_BATTERY_LEVEL OPENTHINGS_PARAM_CO_DETECTOR OPENTHINGS_PARAM_DOOR_SENSOR OPENTHINGS_PARAM_EMERGENCY OPENTHINGS_PARAM_FREQUENCY OPENTHINGS_PARAM_GAS_FLOW_RATE OPENTHINGS_PARAM_RELATIVE_HUMIDITY =>0x68, OPENTHINGS_PARAM_CURRENT OPENTHINGS_PARAM_JOIN OPENTHINGS_PARAM_LIGHT_LEVEL OPENTHINGS_PARAM_MOTION_DETECTOR OPENTHINGS_PARAM_OCCUPANCY OPENTHINGS_PARAM_REAL_POWER OPENTHINGS_PARAM_REACTIVE_POWER OPENTHINGS_PARAM_ROTATION_SPEED OPENTHINGS_PARAM_SWITCH_STATE OPENTHINGS_PARAM_TEMPERATURE OPENTHINGS_PARAM_VOLTAGE OPENTHINGS_PARAM_WATER_FLOW_RATE OPENTHINGS_PARAM_WATER_PRESSURE OPENTHINGS_PARAM_PHASE_1_POWER OPENTHINGS_PARAM_PHASE_2_POWER OPENTHINGS_PARAM_PHASE_3_POWER OPENTHINGS_PARAM_3_PHASE_TOTAL OPENTHINGS_PARAM_TEST OPENTHINGS_WRITE_MASK OPENTHINGS_UINT OPENTHINGS_UINT_BP4 OPENTHINGS_UINT_BP8 OPENTHINGS_UINT_BP12 OPENTHINGS_UINT_BP16 OPENTHINGS_UINT_BP20 OPENTHINGS_UINT_BP24 OPENTHINGS_CHAR OPENTHINGS_SINT OPENTHINGS_SINT_BP8 OPENTHINGS_SINT_BP16 OPENTHINGS_SINT_BP24 OPENTHINGS_ENUMERATION OPENTHINGS_FLOAT
:energenie
use HiPi qw( :energenie );
ENERGENIE_ENER314_DUMMY_GROUP
ENERGENIE_MANUFACTURER_ID
ENERGENIE_PRODUCT_ID_MIHO004
ENERGENIE_PRODUCT_ID_MIHO005
ENERGENIE_PRODUCT_ID_MIHO013
ENERGENIE_PRODUCT_ID_MIHO006
ENERGENIE_PRODUCT_ID_MIHO032
ENERGENIE_PRODUCT_ID_MIHO033
ENERGENIE_DEFAULT_CRYPTSEED
ENERGENIE_DEFAULT_CRYPTPIP
ENERGENIE_FIFOTHRESH_FSK # Condition to start packet transmission: at least one byte in FIFO
ENERGENIE_FIFOTHRESH_OOK # Condition to start packet transmission: wait for 30 bytes in FIFO
ENERGENIE_TXOOK_REPEAT_RATE
ENERGENIE_MESSAGE_BUF_SIZE
ENERGENIE_MAX_FIFO_SIZE
ENERGENIE_NODEADDRESS01 # Node address used in address filtering
ENERGENIE_NODEADDRESS04 # Node address used in address filtering
ENERGENIE_FDEVMSB_FSK # frequency deviation 5kHz => 0x0052 -> 30kHz => 0x01EC
ENERGENIE_FDEVLSB_FSK # frequency deviation 5kHz => 0x0052 -> 30kHz => 0x01EC
ENERGENIE_FDEVMSB_OOK
ENERGENIE_FDEVLSB_OOK
ENERGENIE_FRMSB_434 # carrier freq -> 434.3MHz => 0x6C9333
ENERGENIE_FRMID_434 # carrier freq -> 434.3MHz => 0x6C9333
ENERGENIE_FRLSB_434 # carrier freq -> 434.3MHz => 0x6C9333
ENERGENIE_FRMSB_433 # carrier freq -> 433.92MHz => 0x6C7AE1
ENERGENIE_FRMID_433 # carrier freq -> 433.92MHz => 0x6C7AE1
ENERGENIE_FRLSB_433 # carrier freq -> 433.92MHz => 0x6C7AE1
ENERGENIE_SYNCVALUE1_FSK # 1st byte of Sync word
ENERGENIE_SYNCVALUE2_FSK # 2nd byte of Sync word
ENERGENIE_SYNCVALUE1_OOK # 1nd byte of Sync word
ENERGENIE_SYNC_SIZE_2 # Size of the Synch word = 2 (SyncSize + 1)
ENERGENIE_SYNC_SIZE_4 # Size of the Synch word = 4 (SyncSize + 1)
ENERGENIE_PACKETCONFIG1_FSK # Variable length, Manchester coding, Addr must match NodeAddress
ENERGENIE_PACKETCONFIG1_FSK_NOADDR # Variable length, Manchester coding
ENERGENIE_PACKETCONFIG1_OOK # Fixed length, no Manchester coding
ENERGENIE_NODEADDRESS # Node address used in address filtering ( when enabled )
ENERGENIE_PAYLOADLEN_OOK # fixed OOK Payload Length
:pca9685
use HiPi qw( :pca9685 );
PCA_9685_SERVOTYPE_DEFAULT PCA_9685_SERVOTYPE_EXT_1 PCA_9685_SERVOTYPE_EXT_2 PCA_9685_SERVOTYPE_SG90 PCA_9685_SERVO_CHANNEL_MASK PCA_9685_FULL_MASK PCA_9685_SERVO_DIRECTION_CW PCA_9685_SERVO_DIRECTION_AC
:oled
use HiPi qw( :oled );
SSD1306_128_X_64_I2C SSD1306_128_X_32_I2C SH1106_128_X_64_I2C SH1106_128_X_32_I2C SSD1306_128_X_64_SPI SSD1306_128_X_32_SPI SH1106_128_X_64_SPI SH1106_128_X_32_SPI
:ms5611
use HiPi qw( :ms5611 );
MS5611_OSR_256 MS5611_OSR_512 MS5611_OSR_1024 MS5611_OSR_2048 MS5611_OSR_4096
:tmp102
use HiPi qw( :tmp102 );
TMP102_CR_0_25HZ TMP102_CR_1HZ TMP102_CR_4HZ TMP102_CR_8HZ TMP102_FAULTS_1 TMP102_FAULTS_2 TMP102_FAULTS_4 TMP102_FAULTS_6
:epaper
use HiPi qw( :epaper );
EPD_WS_1_54_200_X_200_A EPD_WS_1_54_200_X_200_B EPD_WS_1_54_152_X_152_C EPD_WS_2_13_250_X_122_A EPD_WS_2_13_212_X_104_B EPD_WS_2_90_296_X_128_A EPD_WS_2_90_296_X_128_B EPD_PIMORONI_INKY_PHAT_V2 EPD_ROTATION_0 EPD_ROTATION_90 EPD_ROTATION_180 EPD_ROTATION_270 EPD_BLACK_PEN EPD_COLOUR_PEN EPD_COLOR_PEN EPD_RED_PEN EPD_YELLOW_PEN EPD_UPD_MODE_FIXED EPD_UPD_MODE_FULL EPD_UPD_MODE_PARTIAL
:fl3730
use HiPi qw( :fl3730 );
# CONGIGURATION REGISTER 0x00 FL3730_SSD_NORMAL FL3730_SSD_SHUTDOWN FL3730_DM_MATRIX_1 FL3730_DM_MATRIX_2 FL3730_DM_MATRIX_BOTH FL3730_AEN_OFF FL3730_AEN_ON FL3730_ADM_8X8 FL3730_ADM_7X9 FL3730_ADM_6X10 FL3730_ADM_5X11 # LIGHTING EFFECT REGISTER 0x0D FL3730_AGS_0_DB FL3730_AGS_3_DB FL3730_AGS_6_DB FL3730_AGS_9_DB FL3730_AGS_12_DB FL3730_AGS_15_DB FL3730_AGS_18_DB FL3730_AGS_M6_DB FL3730_CS_05_MA FL3730_CS_10_MA FL3730_CS_15_MA FL3730_CS_20_MA FL3730_CS_25_MA FL3730_CS_30_MA FL3730_CS_35_MA FL3730_CS_40_MA FL3730_CS_45_MA FL3730_CS_50_MA FL3730_CS_55_MA FL3730_CS_60_MA FL3730_CS_65_MA FL3730_CS_70_MA FL3730_CS_75_MA
:max7219
use HiPi qw( :max7219 );
MAX7219_FLAG_FLIPPED MAX7219_FLAG_MIRROR MAX7219_FLAG_DECIMAL MAX7219_REG_NOOP MAX7219_REG_DIGIT_0 MAX7219_REG_DIGIT_1 MAX7219_REG_DIGIT_2 MAX7219_REG_DIGIT_3 MAX7219_REG_DIGIT_4 MAX7219_REG_DIGIT_5 MAX7219_REG_DIGIT_6 MAX7219_REG_DIGIT_7 MAX7219_REG_DECODE_MODE MAX7219_REG_INTENSITY MAX7219_REG_SCAN_LIMIT MAX7219_REG_SHUTDOWN MAX7219_REG_TEST
:hilink
use HiPi qw( :hilink );
HILINK_CONNSTATUS_CONNECTING HILINK_CONNSTATUS_CONNECTED HILINK_CONNSTATUS_DISCONNECTED HILINK_CONNSTATUS_DISCONNECTING