parmort 0 Posted October 6, 2018 Share Posted October 6, 2018 Hi. I wrote a program that harvests sugarcane on demand (via modems). I have a main run loop, but the harvesting code runs twice per message received. local event = require "event" local running = true -- ... while running do local _, _, _, port, _, message = event.pull("modem_message") doHarvestRoutine() -- The bit that runs twice per event pull print("Message: "..port.." "..tostring(message)) end Any ideas why this is happening? Quote Link to post Share on other sites
0 Fingercomp 37 Posted October 7, 2018 Share Posted October 7, 2018 It's a bit unclear for me what kind of problem you have. Is print also called twice per supposedly one sent modem message? Or is it only the doHarvestRoutine call that's repeated? If it's the former case (the print line is also run twice), it means your sent messages are somehow duplicated. First thing to check for is whether you have any relays nearby. These blocks LOVE to mess up with network packets. If you use them, I advice you to remove them and use linked cards or a network that checks for duplicates. If you don't, it's very likely that the sender program has a bug that causes it to send each packet twice. Quote Link to post Share on other sites
0 parmort 0 Posted October 7, 2018 Author Share Posted October 7, 2018 So it turned out being a bug in the sender. I ended up rewriting the program to add more functionality, and it disappeared. Thanks for taking the time to look at this! Quote Link to post Share on other sites
Hi.
I wrote a program that harvests sugarcane on demand (via modems). I have a main run loop, but the harvesting code runs twice per message received.
Any ideas why this is happening?
Link to post
Share on other sites