Q2698 I2C problem

Hi all,

Module: Q2698, F/W: R7.52.0.A1

Documents on the Q2698 seem to indicate that the I2C bus is identical in every way to the one on the Q2686/Q2687 modules. Using the same motherboard hardware for both the Q2698 and Q2687 modules (swapped in the same motherboard hardware) and using the same OAT code to communicate with an external device using the I2C bus, the I2C comms on the Q2687 works perfectly but the I2C comms on the Q2698 does not work at all.

Has anyone else had problems getting the I2C bus on the Q2698 module to work? Any help will be much appreciated.

Thanks,
Mike

Has nobody used I2C bus on the Q2698??

Hi Mike,

What sort of errors are you getting?

ciao, Dave

Hi Dave,

When I am trying to read on the bus, I get ADL_RET_ERROR_PARAM (error = -2) BUT I don’t understand why, because I am using the same code on the Q2687 (which does work) and the Q2698 (which fails), and I am also using the same actual hardware. I am actually trying to read an EEPROM (I2C bus type).

Any thoughts?

Cheers,
Mike

Hi Mike,

I’m about to begin the process of migrating my Q2686 application to the Q2698 and am somewhat concerned about the issues that you are having. It doesn’t bode well for me as I use pretty much all the I/O on the Q2686 - everything but UART2 (which is lucky as it’s multiplexed with SPI2!).

I take it you’re only getting the ERR_PARAM on the read(), not on the busSubscribe()?

I noticed an interesting one liner in the API doco:

And just out of interest, I’d write a bit of code to enumerate the registry entries associated with the I2C bus and see if there is any difference between the Q2686 and Q2698. Have a look at the ADL guide, section 3.12.3 for the list of I2C registry entries.

It might be worth running the AT+WHCNF command to disable the keypad. I know the PTS indicates that the Keypad functionality is not present on the Q2698, but at worst it’s going to return an error. Don’t forget to restart the module after the command.

I would also have a look at the AT+WIOM commands to see that the I2C pins haven’t been pre-configured as I/O rather than be available for the bus subscription.

Hope this helps.

ciao, Dave

Mike

there are some updates and bug fixes on a coming release of FW for Q2698 that resolve issues on I2C. Suggest to contact your distributor or technical contact at Sierra for access to the beta packages.

Hi Dave

Yes, I am getting the ERR_PARAM on the read(), not on the busSubscribe().
I am going to try out your suggestions and I’ll let you know my results.

Hi c.mitchell

According to my distributor, I am using the latest beta version (R7.52.0.A1). Are you saying that there will be a later version than that which will resolve issues on I2C?

Cheers,
Mike

Hi Mike,

Hmm, that would suggest that the I/O pins are available as I would expect the bus subscription to be failing if the I/O pins were multiplexed to another use in the module.

I will admit that I’m a bit upset about some of the missing features on the Q2698 - no battery charger (which I’m using), either UART2 OR SPI2, and no keyboard interface (which made debouncing and catching digital inputs a real no-brainer). It’s looking like a reasonably serious redesign for my project at the moment.

Looking forward to hearing your results.

ciao, Dave

Hi Dave,

  1. I performed the tests you suggested. I enumerated the registry entries associated with the I2C bus on both the Q2687 and Q2698, and the results are identical.
  2. The parameters passed to the I2C commands were global and not local.
  3. The AT+WHCNF command to disable the keypad did come up with an error, as expected with the Q2698. I restarted the module anyway after that.
  4. The AT+WIOM command was not applicable because the I2C pins are dedicated and not shared with any other GPIO.

Just to make things clearer, the code pertaining to my I2C routines on both modules are identical, but the Q2687 is running firmware R7.47 and the Q2698 is running R7.52.0.A1.

I am interested to hear an answer to my question to c.mitchell regarding if the I2C bug fix is supposed to be on the R7.52.0.A1 version or a later one which is yet to come out.

Cheers,
Mike

Hi Mike,

It really looks as though it’s a bug in the I2C code, doesn’t it. Would be nice to get more error info out of the API to help diagnose what parameter was incorrect :confused:

Is there a version of 7.52 available for Q2687? Final throw of the dice might be to update the Q2687 and see if the issue is still there.

Otherwise, we’re waiting for SiWi. And my project too grinds to a halt…

Sorry I couldn’t have been more help.

ciao, Dave

Hi Mike,

Just had an email from my Distributor - the latest beta firmware for the Q2698 has just been released.

Might be worth giving your Distributor a ring and try and get hold of it.

ciao, Dave

hello

do you have rest Q2698 in stock ,i want buy 300pcs