SI4432 Direct Mode

Hello,

I'm trying to make Arduino + SI4432 send data in Direct Mode, but unsucessfull. I'm using Radiolib Library for SI4432 and I'm created two functions to set SI4432 registers for Direct TX and Direct RX.

Maybe someone have success in Direct Data transmission using GPIO input/output with arduino and Si4432?

TX Registers:

int16_t Si443x::TX() {
this->mod-> SPIsetRegValue(RADIOLIB_SI443X_REG_MODULATION_MODE_CONTROL_2, RADIOLIB_SI443X_MODULATION_FSK, 1, 0);
this->mod-> SPIsetRegValue(RADIOLIB_SI443X_REG_GPIO2_CONFIG, RADIOLIB_SI443X_GPIOX_DIGITAL_IN, 4, 0);
this->mod-> SPIsetRegValue(RADIOLIB_SI443X_REG_MODULATION_MODE_CONTROL_2, RADIOLIB_SI443X_TX_DATA_SOURCE_GPIO, 5, 4);

this->mod->SPIwriteRegister(RADIOLIB_SI443X_REG_OP_FUNC_CONTROL_1, RADIOLIB_SI443X_TX_ON | RADIOLIB_SI443X_XTAL_ON);

  return(1);
}

RX Registers:

int16_t Si443x::RX() {
this->mod-> SPIsetRegValue(RADIOLIB_SI443X_REG_MODULATION_MODE_CONTROL_2, RADIOLIB_SI443X_MODULATION_FSK, 1, 0);
this->mod-> SPIsetRegValue(RADIOLIB_SI443X_REG_GPIO2_CONFIG, RADIOLIB_SI443X_GPIOX_DIGITAL_OUT, 4, 0);

this->mod->SPIwriteRegister(RADIOLIB_SI443X_REG_OP_FUNC_CONTROL_1, RADIOLIB_SI443X_RX_ON | RADIOLIB_SI443X_XTAL_ON);

  return(1);
}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.