Hi, I am almost at the end of a design and I need to add an ADC, either by external chips or by the XBEE integreted ADC. But the doc about IOs and ADCs is not clear.
NOTE : I am not using the API instructions, just sending/receiving chars.
I will use an external ADC that may have a more stable Vref than the ADC on the XBEE (Assumption not verified, but the chip I will use has a stable vref source)
So I will manage 3 bit signals : Shutdown, Chips Select, Clock, and an output bit the other way.
But my questions, necessary for finishing my project, are also of general interest. Please, you can answer in the reply billow the question, and other replies start from the most recent posted answers.
1) Can a receiving BASE request a slave to send IO samples (other than setting a sample freq on slave),
the sending slave device needs to send at least a char in order to send a sample?
(if so we would send a char requesting to send an ACK char)
(An example is when the external ADC sends back in series the 10 bits results.
Maybe the next bit will be the same as the previous one, so no change to trigger an update, but we need to read it, namely after we sent an hi-and-falling edge for the clock)
2) In DIO setups set as outputs : What is the meaning of Dn Low and Dn High (I suppose it sets states, but beside being set by the other device, when do we use them, are they more persistant, or it is just a way to set them locally?) ?
3) While the XBEE is in sleep, what are the values of the Outbut IOs?
(Will it keep them as they were last received?)
(During sleep, my ADC Shutdown line needs to be Low and Chip select High)
4) What are Output states when we wake up the XBEE?
5) (Maybe related) What happens if we do not set a pullup with PR on the IO's, is it the same with both Inputs and outputs)? (Does it set a default state?)
6) When we wake up the XBEE, it will sample its IO's, will it send a packet, or I need to send a char in order to send that info?
7 ) IT Sample before TX : is it the amount of output/input bits or amount of bytes?
8 ) On page 17 : « To enable the outputs to be updated, the IA (I/O Input Address) parameter must be setup with the address of the module that has the appropriate inputs enabled. This effectively binds the outputs to a particular module’s input. This does not affect the ability of the module to receive I/O line data from other modules - only its ability to update enabled outputs. »
This is difficult to understand and the module allows to define only one AI address.
Less urgent questions :
About integretad ADCs :
9) Can we send it to the device attached to the XBEE (so, not for sending it to a remote device)?
10) When an ADC send its value, how do we get it in its numeric form at the other device, if the recipient is not a PWM pin?
11) About the ADC on the XBEE :
(delays, variation with temperature variations, reference voltage precision)