logging testing. logging works. e-fusing algo works right for jack. jack timing works.
This commit is contained in:
44
main/i2c.h
44
main/i2c.h
@@ -5,11 +5,53 @@
|
||||
#include <stdbool.h>
|
||||
#include "esp_err.h"
|
||||
|
||||
#define I2C_PORT I2C_NUM_0
|
||||
#define TCA_ADDR_READ 0x21
|
||||
#define TCA_ADDR_WRITE 0x21
|
||||
#define I2C_PULLUP GPIO_PULLUP_DISABLE
|
||||
#define I2C_FREQUENCY 400000
|
||||
|
||||
// TCA9555 Registers
|
||||
#define TCA_REG_INPUT0 0x00
|
||||
#define TCA_REG_INPUT1 0x01
|
||||
#define TCA_REG_OUTPUT0 0x02
|
||||
#define TCA_REG_OUTPUT1 0x03
|
||||
#define TCA_REG_POLARITY0 0x04
|
||||
#define TCA_REG_POLARITY1 0x05
|
||||
#define TCA_REG_CONFIG0 0x06
|
||||
#define TCA_REG_CONFIG1 0x07
|
||||
|
||||
// Debounce & Repeat Settings
|
||||
#define DEBOUNCE_MS 50
|
||||
#define REPEAT_MS 200
|
||||
#define REPEAT_START_MS 700
|
||||
|
||||
typedef union {
|
||||
uint8_t raw;
|
||||
struct {
|
||||
uint8_t SENSORS : 1; // [0]
|
||||
uint8_t C3 : 1; // [1]
|
||||
uint8_t B3 : 1; // [2]
|
||||
uint8_t A3 : 1; // [3]
|
||||
uint8_t B2 : 1; // [4]
|
||||
uint8_t A2 : 1; // [5]
|
||||
uint8_t B1 : 1; // [6]
|
||||
uint8_t A1 : 1; // [7] MSB
|
||||
} bits;
|
||||
struct {
|
||||
uint8_t SENSORS : 1;
|
||||
uint8_t C3 : 1;
|
||||
uint8_t AUX : 2;
|
||||
uint8_t JACK : 2;
|
||||
uint8_t DRIVE : 2;
|
||||
} bridges;
|
||||
} relay_port_t;
|
||||
|
||||
// Public Functions
|
||||
esp_err_t i2c_init(void);
|
||||
esp_err_t i2c_stop(void);
|
||||
|
||||
esp_err_t i2c_set_relays(uint8_t states);
|
||||
esp_err_t i2c_set_relays(relay_port_t states);
|
||||
esp_err_t i2c_set_led1(uint8_t state);
|
||||
|
||||
esp_err_t i2c_poll_buttons();
|
||||
|
||||
Reference in New Issue
Block a user