bmspeedie / agentuino

Automatically exported from code.google.com/p/agentuino
0 stars 0 forks source link

Agentuino overriding private Functions? #5

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Create a simple function and embed it in the Main-Loop.
2. Submit an SNMP-Request to Agentuino - you will receive a valid reply.
3. Arduino will stop working with the next call to a self-defined Function.

What is the expected output? What do you see instead?
Before answering any SNMP Requests the embedded Funtion will work properly. 
After having answered an SNMP Request Arduino will stall next time that 
function is called.

What version of the product are you using? On what operating system?
Agentuino R47, Arduino 1.0.1

Please provide any additional information below.
I extended the Example to include a Function "breakMe(String)" and placed in in 
the Main-Loop. This will cause Ardunio to stall after serving an SNMP-Request 
(and never recover):

~# snmpget -c public -v 1 172.16.0.30 ".1.3.6.1.2.1.1.3.0"
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (900) 0:00:09.00
~# snmpget -c public -v 1 172.16.0.30 ".1.3.6.1.2.1.1.3.0"
Timeout: No Response from 172.16.0.30.

Original issue reported on code.google.com by kboe...@googlemail.com on 21 Jul 2012 at 7:55

Attachments:

GoogleCodeExporter commented 8 years ago
This is a show-stopping problem for me in building an SNMP-pollable temperature 
monitor.  Judging by the FreeMemory output to serial, there appears to be a 
massive memory leak each time an SNMP request is made (or possibly responded 
to).  I can get two successful responses before the Arduino's Ethernet 
functionality locks up.  I'm using R47 and Arduino 1.0.1 as well.  I can 
confirm that output to my LCD and the functionality that doesn't require 
Ethernet appears to still work after the Ethernet bits lock up.  I'm new to 
Arduino, so I'm still trying to figure out a good way to get better debugging 
out of the IDE to figure out where the problem is.

Original comment by txt...@gmail.com on 22 Sep 2012 at 5:43

GoogleCodeExporter commented 8 years ago
It isn't a memory leak and is most likely an implementation issue.

Are you reading your temperature sensor(s) within the SNMP response function?  
If so, this will cause issues due to latency.

Original comment by gionet.c...@gmail.com on 15 Apr 2013 at 11:31

GoogleCodeExporter commented 8 years ago
To see if it was my implementation, here is what I tried:
1) Removed all shields except for Ethernet
2) Opened the the example Agent.pde (included with the Agentuino download) in 
the Arduino IDE
3) Modified only the MAC address to match my shield and IP address/mask/gateway 
to fit my home network
4) Compiled and uploaded the Agent.pde example to my Uno

Using the standard Linux SNMP utilities, I can get up to two snmpget calls and 
responses before any additional SNMP requests the Uno timeout.

If the included example implementation is broken, then I'm not sure it *is* an 
implementation issue.  I guess the example implementation could be incorrectly 
coded, but I am not a programmer by trade and have not attempted to audit the 
example code.

Original comment by txt...@gmail.com on 16 Apr 2013 at 3:15