I am not a smart programmer and had spent a quite amount of time to port the code from OAT425 to OASIS 2.10.
But one issue that wasted me a lot of time appeared to be a backward change.
In OAT425(FW 663c), if my Q2687 is powered on with UART2 set enabled, I can use AT+WMFM=0,0,2 to switch off UART2, followed by subscribing UART2’s pins as I/Os.
In OASIS2.10 (FW R_72), however , I need to do a software reset even after sending AT+WMFM=0,0,2 command, otherwise I cannot subscribe UART2 pins. This makes me have to do an extra software reset for one application.
I haven’t checked the particular problem you describe, but some additional information would be welcome.
Is it adl_ioSubscribe that returns with an error code? If so, which one?
If the call to adl_ioSubscribe returns OK, what is the value for each of the GPIO’s in the adl_ioDefs_t struct after the call to adl_ioSubscribe?
What information do you get from the adl_ioGetCapabilitiesList function regarding the GPIO you are interested in?
And lastly, after using WMFM to close UART2, do you subscribe only those IO that you just freed (other IO allocated earlier or not at all)?