63 .
name =
"I2C PCF8574" ,
114 uint16_t conf1 = (
btnnum-1) & 0x3F;
115 conf1 |= (
invert & 0x1) << 6;
124 invert = (conf1 >> 6) & 0x1;
174 num = clip<uint8_t,uint8_t>(num, 1, 64);
179 mask = 0xffffffffffffffff;
181 mask = (uint64_t)pow<uint64_t>(2,num)-(uint64_t)1;
192 replies.emplace_back(this->
btnnum);
void registerCommand(const char *cmd, const ID cmdid, const char *help=nullptr, uint32_t flags=0)
static CommandStatus handleGetSet(const ParsedCommand &cmd, std::vector< CommandReply > &replies, TVal &value)
bool receiveMasterIT(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, bool shiftAddr=true)
bool receiveMaster(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, const uint32_t timeout, bool shiftAddr=true)
bool transmitMaster(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, const uint32_t timeout, bool shiftAddr=true)
void freePort(I2CDevice *device)
void takePort(I2CDevice *device)
void setSpeedPreset(uint8_t preset)
bool transmitMasterIT(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, bool shiftAddr=true)
void readByteIT(const uint8_t devAddr, uint8_t *data)
void writeByteIT(const uint8_t devAddr, uint8_t *data)
uint8_t readByte(const uint8_t devAddr)
void writeByte(const uint8_t devAddr, uint8_t data)
uint32_t WaitForNotification(TickType_t Timeout=portMAX_DELAY)
bool Flash_Write(uint16_t adr, uint16_t dat)
bool Flash_Read(uint16_t adr, uint16_t *buf, bool checkempty=true)