Forum Replies Created
-
AuthorPosts
-
I have a separate function to sendMessage() that is (in short):
setSendingMode(); rs = e220ttl->sendMessage(messageToSend); delay(1000); setSleepmode();
and a separate function receiveMessage() is
String input = ""; if (e220ttl->available() > 1) { ResponseContainer rc = e220ttl->receiveMessageRSSI(); // delay(100); input = rc.data; RSSI = rc.rssi, DEC; Serial.print("Messaggio in arrivo: "); Serial.println(input); Serial.print("RSSI ricevuto: "); Serial.println(RSSI); delay(100); setSleepMode(); delay(100); int nParts = 0; String *parts = split(input, SEP_CHARACTER, nParts); for (int i = 0; i < nParts; i++) { if (i % 2 == 0) continue; Serial.println("Estratto messaggio singolo" + parts[i]); callback(parts[i]); } delete[] parts; }
It should be as you say that the variables are created every time a message arrives. Am I doing something wrong?
I’m testing to see if I use that part of memory. Is there a way to “dedicate” a portion of memory to the incoming message?
I don’t think they are power supply problems, I have a dedicated 5V regulator and the relevant ceramic and electrolytic capacitors.
Instead, problems with the memory, do you mean that maybe there are other variables that over time end up using the memory dedicated to the UART?
I actually notice that my memory is slowly declining. I will investigate who consumes the RAM.
Hi Renzo,
I have important news, communicating with the eByte engineers they detected a bug on the firmware and sent me 6 modems as test samples. Now modems no longer crash, this is wonderful. One problem remains:
when I load the sketch, I receive the first (approximately) 700 messages well, for example ##1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20##between (approximately) 700/1200 messagies I get the last “corrupted” part like: ##1:2:3:4:5:6:7:8:9:10:11:12:13§¢ÒŠ5:1“Šº:18§ÊÒ’0#¤
between (approximatley) 1200/1800 messagies I get more “corrupted” part like:
##D:1’&§&’“ªÒ²ÒºÒÂ:9:LÃ’Å Å :1&§šÒ14:LM§²ÒŠºÒŠÂÒ19’&#The more messages arrive, the less understandable they are. Furthermore, the RAM memory runs out and Atmega2560 reboots.
Even after an auto reset the problem is still slightly there:
the first (approximately) 5 messages you get are wrong, then you get others right (about 700) and then do as above….What do you think could be the problem?
I’m testing with the latest version of the E220900T30D modems and I make requests every 5 minutes
They sent me an .exe program if you’re interested I’ll send you the link privately.
Hi Renzo,
I have news, I contacted Ebyte and they told me that are an program provided by them to send command AT.
Furthermore I can say that the E220868T30D modules have been revisited and there are two versions, the 2022 version with serial number SN:W1216… And the 2023 version with SN:S3200….
After explaining to them my problem, that is, that sometimes they freeze, they asked me for various information and after this they said that there is a firmware bug on the 2022 series but that they are not updatable.
At the moment I am waiting for a response to find out if this bug (confirmed by them) will no longer exist in the 2023 version.I’m sorry that I was told that old modems are unfortunately not upgradeable.
Ok Thanks for support
I try it, and I can see:
Model: 32
Firmware version: 11
Features: 30But if I use Ebyte software it is 2.1 (see screen
)
Which one should I look at?
-
AuthorPosts