A/D conversion

Early days but exploring. I am trying to enable the A/D on the pro module. The module is an RS232 unit.

Currently I am just sending API packets to the unit and reading the responses in order to learn how it’s done. It all seems fairly straightforward generally but the module doesn’t always respond as I think it should. I am not sure whether this is because I have missed something in the documentation or whether the RS232 unit doesn’t allow some things to be changed.

Specifically, so far, the Get/Set Vref and Get/Set IO pins config.

Vref
I send 7E 00 04 08 52 41 56 0E
I get 7e 00 05 88 52 41 56 01 8d
telling me that Vref is set to internal (default)
I send 7E 00 05 08 52 41 56 00 0E
This should set Vref to external but it returns
7e 00 05 88 52 41 56 01 8d
Vref is still internal.
If I send 7E 00 04 08 52 41 56 0E
I get 7e 00 05 88 52 41 56 01 8d
So it remains unchanged.

I get similar things with the A/D enable packets.

What am I missing?

Message was edited by: Mjolinor

This is true unfortunately. 1083 does not support IO line passing or ADC. The Vref voltage is set only externally through the Vref pin. The internal Vref has been removed. Most find it easiest to simply jumper Vref to VCC externally on the module.

Apparently I am missing that the firmware 1083 doesn’t support the commands, not good news at all as these are already installed and can’t be updated. :frowning:

There are a few things that I want to comment about here:

  1. The AV command was removed from the AT commands and it is an error that it is still in the manual (sorry).
  2. The response that you are getting from the AV command is not “set to internal (default)” but the AT response ERROR (see manual page 57 “AT Command Respose” Byte 8). If it were to give you a success and a default value of 0x01 it would return the packet:
    7e 00 06 88 52 41 56 00 01 8c

So I installed 10C0 SW and the A/D is working. I have the problem of Vref now. Is it still disabled and I can only use external reference? This is a problem for me as I don’t have a stable voltage available, I will have to make an external circuit for it. This is only a problem of increased cost in the long run but also I can’t find anything in the docs about the input impedance of the Vref pin. This whole unit has serious power restrictions so everything has to be minimum current that the hardware will support.

Is there any firmware that works as the documentation says it does or are the documents more a case of “we wish it were like this”.

Also, on the series two there is an option to remotely configure (API identifier 0x17, remote command request), I had thought the series 1 would do this but I can’t see anything about it in the documentation.

A few more comments…

  1. I would not use the 1xC0 firmware because there are many bugs in the firmware that we are working on (and should have fixed in a new 1xCx release soon). 1xA5 is a very stable version and has full ADC & DIO line functionality.
  2. The Vref parameter instead of being a “wish it was like this” is a “it used to be like this then changed”. The AV parameter was removed in the 1x9x Beta versions but somehow the parameter made it into the 1xAx documentation.
  3. The OTA (Over The Air commands) will be available in our 1xCx release of the XBS1 firmware and will work similarly to the XBS2 OTA.

Thanks for the reply.
Just to clarify.

If I want internal Vref I have to use versions older than 1x9x

If I want ADC support I have to use versions newer than 1xAx.

If I want to have OTA commands I have to use 10c0 as this is the latest version.

I shouldn’t use 10C0 as it doesn’t work properly.

There is no version with internal Vref and ADC support.

There is no documentation for OTA commands though it is supported in 10C0.

Is this the situation in a nutshell?

The 10C0 firmware seems to be working fine, I would prefer to have a longer sleep period, I was hoping for a read every 10 minutes but 4:28 will have to do. I am not doing anything other than waking reading one ADC, sending it then sleeping and it seems to be fine doing this. All I need now is a Vref and to be able to ask it to read more often if required OTA.

I am really short of power in this device and wanted to set ST really small. I am aware that if ST is less that GT I will not be able to get into command mode using the RS232 port.

Is this a problem if I am using remote API (once the relevant documentation is released for 1xCx)?

I am think that when the module wakes up, if the coordinator has a packet for it then it will receive it, if I make sure that the first packet sent increases ST then I should be able to set ST to 0.

Is this correct?

If I want internal Vref I have to use versions older than 1x9x
Yes, but you we no longer support old beta versions when a production version has been released (1xAx).

If I want ADC support I have to use versions newer than 1xAx.
Yes, 1xAx or newer.

If I want to have OTA commands I have to use 10c0 as this is the latest version.
See below.

I shouldn’t use 10C0 as it doesn’t work properly.
Correct.

There is no version with internal Vref and ADC support.
Correct.

There is no documentation for OTA commands though it is supported in 10C0.
Yes.

Is this the situation in a nutshell?
Yes

OK, I know where I am now.
Making an external reference and eagerly awaiting some documentation for 1xCx. :slight_smile:
I even found the impedance for Vref in the docs.

Thanks for the input.

Is there any more information about release dates for documentation for the remote config commands in 1xCx firmware. I am pretty mush waiting for it now having done the rest of the design.

Yes, in 802.15.4 the Poll_Response packet tells the remote module if it has data for it. If there is some data for the remote (OTA can be considered data) then it will stay awake to receive the data.

The concept if Indirect Messaging is talked about in the below document:
http://www.digi.com/support/kbase/kbaseresultdetl.jsp?id=2193