Hello,

I’m trying to switch the state of the pin J2_3 of my xb100 through the argument line of the osmosdr block in gnuradio.


To do this, I added this code to the file bladerf_common.cc

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

  /* Support of the XB100 to control pin J2_3 through the argument line*/

  if ( dict.count("xb100") ) {

    if (bladerf_expansion_attach(_dev.get(), BLADERF_XB_100)) {

      std::cout << "Could not attach XB-100" << std::endl;

    } else {

      _xb_100_attached = true;

      std::cout << "Expension XB-100 attached" << std::endl;

     

      if ( bladerf_expansion_gpio_dir_masked_write(_dev.get(),BLADERF_XB100_PIN_J2_3,  1)) {

        std::cout<< "Could not set TRX pin direction" << std::endl;

      }

 

      std::cout << "J2_3 output direction selected" << std::endl;

      if ( dict["xb100"] == "TX" ) {

        if(bladerf_expansion_gpio_masked_write (_dev.get(),BLADERF_XB100_PIN_J2_3, BLADERF_XB100_PIN_J2_3)){

          std::cout<< "sorry, but I cannot set pin to 1" << std::endl;}

      }

 

      else if(dict["xb100"] == "RX" ) {

        if(bladerf_expansion_gpio_masked_write (_dev.get(),BLADERF_XB100_PIN_J2_3, 0)){

          std::cout<< "sorry, but I cannot set pin to 1" << std::endl;}

      } else {

        std::cout<< "Wrong parameter specified, should be TX or RX" << std::endl;}

    }

  }

In my osmosdr bloc, I added this argument “ xb100=tx”  but I don’t have my 5V on my pin :(

I don’t understand why the pin is not setted when I start my flowgraph… Could you help me please?

 

Thank you

 

Samuel Verdon