# adl\_ioSubscribe API

**URL:** <https://forum.sierrawireless.com/t/adl-iosubscribe-api/1512>\
**Category:** Legacy AirPrime modules\
**Created:** [August 8, 2007, 10:20pm UTC](https://forum.sierrawireless.com/t/adl-iosubscribe-api/1512 "2007-08-08T22:20:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![terry.biberdorf](https://avatars.discourse-cdn.com/v4/letter/t/54ee81/32.png) [@terry.biberdorf](https://forum.sierrawireless.com/u/terry.biberdorf)\
**Post date:** [August 8, 2007, 10:20pm UTC](https://forum.sierrawireless.com/t/adl-iosubscribe-api/1512/1 "2007-08-08T22:20:25Z")

</div>

When programming to the OpenAT 1.0.b05 adl\_ioSubscribe API, how do you specify the GPIO line you wish to configure/monitor?

I am familure with programming to GPIO lines with the Q2687 OpenAt 4.13 adl\_ioSubscribe API as there is a specified structure adl\_ioConfig\_t that specifies the GPIO line to monitor.

But with this new adl\_ioSubscribe API structure adl\_ioDefs\_t how are you to specify which of the WMP’s available GPIO line to configure/monitor?

---

<div class="post-metadata">

**Author:** ![terry.biberdorf](https://avatars.discourse-cdn.com/v4/letter/t/54ee81/32.png) [@terry.biberdorf](https://forum.sierrawireless.com/u/terry.biberdorf)\
**Post date:** [December 26, 2007, 1:49pm UTC](https://forum.sierrawireless.com/t/adl-iosubscribe-api/1512/2 "2007-12-26T13:49:36Z")

</div>

After feedback from Wavecom, I found my problem to be related to the adl\_busSPISettings\_t structure defintion. Attached is a snippet of code to help anyone else out:

{  
==== stuff ==============  
adl\_busSPISettings\_t spiSettings2;  
==== stuff ==============  
spiSettings2.Clk\_Speed = 1; // MAX clock spped  
spiSettings2.Clk\_Mode = ADL\_BUS\_SPI\_CLK\_MODE\_0;  
spiSettings2.ChipSelectPolarity = ADL\_BUS\_SPI\_CS\_POL\_LOW;  
spiSettings2.LsbFirst = ADL\_BUS\_SPI\_LSB\_FIRST;  
spiSettings2.ChipSelect = ADL\_BUS\_SPI\_ADDR\_CS\_GPIO;  
spiSettings2.GpioChipSelect = 35; // use the defined GPIO line as ADL\_BUS\_SPI\_ADDR\_CS\_HARD does not work  
spiSettings2.LoadSignal = ADL\_BUS\_SPI\_LOAD\_UNUSED;  
spiSettings2.DataLinesConf = ADL\_BUS\_SPI\_DATA\_UNIDIR;  
spiSettings2.MasterMode = ADL\_BUS\_SPI\_MASTER\_MODE;  
spiSettings2.BusySignal = ADL\_BUS\_SPI\_BUSY\_UNUSED;  
==== stuff ==============  
spi2Handle = adl\_busSubscribe(ADL\_BUS\_ID\_SPI,2,&spiSettings2);  
==== error checking and handling =========

==== stuff ==============  
}
