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

Reply via email to