EasyRadio FAQ

Brown out:

Update June 2005: New generation -02 Easy-Radio modules (model number with -02 suffix) dont have this brown-out problem.

BO issue can not be 100% cured with the current hardware. However, if the EEPROM gets corrupted during a BO event there is a failsafe routine that resets the EEPROM to factory settings if there is a problem.
Unfortunately this has the effect of resetting the changes that have been made, even if a minor error has been detected.
If the EEPROM is reset to defaults, then the command (ER_ERR#02) is transmitted out of the serial port at 19200 BAUD.
This may pose a problem if the BAUD settings have also been changed, but is a good indication for the resetting of frequency.
If the device has reset to defaults then make sure you follow the following procedure to set your baud rate back again:
1) Transmit ER_CMD#U3 in baud 19200.
2) Wait to receive ER_CMD#U3 back from the module (in 19200)
2) Send the string “ACK” into the module (in 19200), the module will now be set to the new baud rate.
Error Codes:-
ER_ERR#01: Invalid Command Parameter (i.e., correct command letter but invalid number value)
ER_ERR#02: EEPROM is reset to defaults.

Age of modules / GPIO issues for TS/RS

First of all, how old are your parts?
The very first ER400RSs had Handshaking enabled all the time. This would require the RTS pin to be held low. Therefore please try connecting pin 7 low. A mistake in the pinout on the data sheet shows everything but RX_data as being GPIO. There are no GPIO on this part and the pin out for the ER400TRS module should be followed. These pins are all required due to the programmability of the ER_CMD set.

Data bits not being received:

“When running the long data frames, we always miss the last byte or the last bytes (up to 3 or 4 byte)”.
please test that when uploading the bytes to send, the gap between bytes – i.e.. time between stop bit & next start bit – does not exceed 1 byte time.
The next byte MUST reach our UART in its entirety before the two byte time gap is detected.
This is the only way that “some but not all” data can reach at the other end, as the receiver will only deliver a complete over air packet that has passed the CRC check.

What the ACK is going on?

Supplement June 2005: Generation -02 modules also feature a “Fast-ACK” for faster communication between host and Easy-Radio module. You can find the details in the current Easy-Radio datasheet.

Confusion exists in the procedure to send commands to change parameters of the radio.
The EasyRadio software demonstrates this very well.
E.g. To Update the BAUD rate to 9600:
ER_CMD#U3 (Sent) – Upload into the Module
ER_CMD#U3 (Received) – Reply from the module (i.e. Recognised the command)
ACK (Sent) – Uploaded to the module ASCII “A” “C” “K”
Please note that on a TS part, the reply from the module is actually transmitted over air not via RS232. This time must be taken into account before sending the “ACK” if no reception of the command is used for verification purposes. The time this takes is 20mS.

Do my modules have BO?

Update June 2005: New generation -02 Easy-Radio modules (model number with -02 suffix) dont have this brown-out problem.

Issue: Brown Out, is a condition when a microprocessor enters a reset condition without the required time to initialise its internals before the program executes. This has caused some issues when used in battery applications where the power is turned on and off in an uncontrolled manner
Solution: The modules already incorporate a RESET procedure to detect corruptions to the internal EEPROM but unfortunately this has been causing a new set of issues.
Therefore we have started and expect to be completed soon, a software revision to take effect on all programmable ER products that will reset ONLY the effected parts. Therefore if only the RF parameters are affected then the BAUD rate will not be reset also.

To wait or not to wait?

Understanding timing is plays a critical part in success in delivering “ony alf o th essage”, or all the bytes in between.
Start-up Time before Upload: ~8mS *
Over Air Packaging (without user message): 12.3mS
Over Air Time/Byte: 0.750mS
* Environment (temperature & humidity) may cause the variation in start-up time
Therefore, to calculate the time it takes to transmit a 50 byte packet for instance would be as follows:
12.3mS + (50 BYTES x 0.75mS) or 12.3mS + 37.5mS = 49.8mS
Notes:
i. if you are using handshaking, then there should be no need to calculate the timings.
ii. The busy output is active whether handshaking is enabled or not.
iii. If there is greater than a 2 Byte time gap (this will vary depending on BAUD rate) between a stop bit and the next bytes stop bit, any bytes already in the buffer will be sent and subsequent arrival of bytes if the CTS line is ignored will be lost until the transmitter has finished sending the over air message.

Whats with these bleeding frequencies?

Supplement June 2005: Easy-Radio generation -02 can recognize neighbouring channels via DCS (Digital Channel Selection). Data that is received on a channel different from the Easy-Radio modules own channel will be discarded as invalid.

When one channel “bleeds” or is heard by a close channel this is due to ACS (Adjacent Channel Separation). Due to the bandwidth of the receiver at close range in the 433 band, channel 0 may be picked up by a receiver set to channel 1 or 2 etc.
The greater the distance the less likely they are to interfere.
It is not good practice to use the channel feature as a shortcut to create “Address” pairs of modules whereas using code within the message to address the destinations is good practice.

To ERR is only human.

Undocumented error codes have been implemented on all TRS/RS modules. Sorry!
These are as follows:
ER_ERR#01 Invalid Command Parameter.
Eg ER_CMD#CA (“A” is incorrect, should be 0-9)
ER_ERR#02 Reset of module to default has taken place.
NEW ERROR CODE IN FUTURE SOFTWARE REVISIONS
ER_ERR#03 Reset caused by automatic detection (e.g. after a brown out condition)

GPI…? Oh!

RS modules are shown in earlier versions of the data sheet to have GPIO pins. This is NOT TRUE!
Their pin out corresponds identically to TRS modules, as SDI is required for reprogramming the RS module with the ER_CMD set.
BSY pin is also used when handshaking is enabled. If unused, SDI should be tied to VCC via a suitable resistor. If handshaking is NOT used then RDY pin should be connected directly to GND.
Another note about handshaking, ER_CMDs will ALWAYS be returned even if RDY pin is held high. This allows the commands to still be issued if handshaking was incorrectly programmed into the module and no pins were connected.

One question about MAX232 board:

If by caps you mean the caps on the MAX232 chip, then I would normally use ceramic caps anyway. Use 100nF.
Keep the electrolytic caps around the power rail.

Comments on this entry are closed.