- Netduino Forums
- → andersborg's Content
andersborg's Content
There have been 33 items by andersborg (Search limited from 14-May 23)
#34227 Netduino Plus Firmware v4.2.0
Posted by andersborg on 26 August 2012 - 10:13 AM in Netduino Plus 2 (and Netduino Plus 1)
#34057 4.2 and out of memory
Posted by andersborg on 22 August 2012 - 12:14 PM in Netduino Plus 2 (and Netduino Plus 1)
#34023 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 04:15 PM in Netduino Plus 2 (and Netduino Plus 1)
#34022 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 03:57 PM in Netduino Plus 2 (and Netduino Plus 1)
Hi Anders,
We'll need the source. To understand why you're getting an exception, we need to run the code and see where the exception is thrown.
Alternatively...what line is the exception thrown on?
Chris
OK. Here goes.
I couldn't see what line it happened on. I'm using Express, so maybe it's limited in this regard.
Attached Files
- MidiTouch.zip 66.03KB 0 downloads
#34020 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 03:39 PM in Netduino Plus 2 (and Netduino Plus 1)
Attached Files
- MidiTouch.zip 38.9KB 1 downloads
#34019 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 03:37 PM in Netduino Plus 2 (and Netduino Plus 1)
Hi Anders,
Can you please provide a repro case which we can run here? A small, complete project file which raises the exception?
Also, SerialPort.Write should still return the number of bytes written. Are you getting "0" returned each time?
Chris
I include the latest build (with debug info), yet not the source. I can provide that as well if needed.
SerialPort.Write is now void, so it can't return anything.
#34016 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 03:15 PM in Netduino Plus 2 (and Netduino Plus 1)
Hi Anders,
Okay, great, thank you for the clarification.
The Garbage Collector in .NET MF 4.1 had a few limitations--which were fixed in .NET MF 4.2. This is one of the reasons it is so important that all NETMF boards are upgraded to .NET MF 4.2. Incorrectly running out of memory--in production devices deployed in the field--is not a good scenario.
Chris
Agreed!
With .NET 4.2 came changes to how analog inputs (separate from digital pins and scaling) and serial output (Write no longer returns bytes sent) work. I resolved that, yet I get InvalidOperationException instead. I'm not sure on what, as it doesn't point to a specific line in my code. Hopefully I'll find a remedy.
This is how the code looks now. adapt() is somewhat redundant as I can do scaling via AnalogInput, yet I also do border detection there.
public static bool scan(out int X, out int Y)
{
analog1 = new AnalogInput(aX2);
analog2 = new AnalogInput(aX1);
digital1 = new OutputPort(dY1, false);
digital2 = new OutputPort(dY2, true);
int valueX = (int)(analog1.Read() * range);
X = adapt(valueX);
Debug.Print("1: " + valueX);
analog1.Dispose();
analog2.Dispose();
digital1.Dispose();
digital2.Dispose();
analog1 = new AnalogInput(aY1);
analog2 = new AnalogInput(aY2);
digital1 = new OutputPort(dX2, false);
digital2 = new OutputPort(dX1, true);
int valueY = (int)(analog2.Read() * range);
Y = adapt((range - 1) - valueY);
Debug.Print("2: " + valueY);
analog1.Dispose();
analog2.Dispose();
digital1.Dispose();
digital2.Dispose();
analog1 = null;
analog2 = null;
digital1 = null;
digital2 = null;
return valueX != range - 1 && valueY != range - 1;
}
#34007 Netduino Plus Firmware v4.2.0
Posted by andersborg on 21 August 2012 - 01:02 PM in Netduino Plus 2 (and Netduino Plus 1)
Hi Anders
Are you using SAM-BA 2.12 fixes some issues with x64 os's...
Also are you using the driver in "drv" folder where you installed sam-ba too or the generic GPS camera driver that windows update discovers, try uninstalling the driver in device manager and manually installing the Atmel driver?
Finally have you erased your ND (3.3v to the gold erase pad) before you try and connect with sam-ba?
Nak.
Yes it's 2.12+.
I used the generic driver (actually I didn't do anything with that). I erased as per the instructions.
I'll try the advice. Thanks.
#34006 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 12:59 PM in Netduino Plus 2 (and Netduino Plus 1)
Hi Anders,
Garbage collection should happen automatically whenever memory gets tight. If you allocate an object when there's not enough contiguous memory available, garbage collection should kick in then to try to find you enough space.
I'm following your example but don't quite understand...are you saying that the garbage collector in NETMF 4.2 is not collecting fully and that you need to call Debug.GC(true) to force it to collect?
Chris
I've now updated to 4.2 firmware, so I'll check if it behaves differently, which it should not the least due to the more free RAM, but in any case Debug.GC took the problem away for 4.1. Not that my application uses large arrays or such.
At the time of testing I had .NET 4.2, SDK 4.2 and firmware 4.1.
#34005 Netduino Plus Firmware v4.2.0
Posted by andersborg on 21 August 2012 - 12:55 PM in Netduino Plus 2 (and Netduino Plus 1)
Hi Anders,
That's very odd. So it did work alright after moving the Netduino to another USB port?
Also, are you using SAM-BA v2.12+? The earlier versions had some issues with Win7 x64.
Chris
Yup. In both cases the ports were detected (COM8 and COM10), so it was nothing wrong with that. My PC supposedly has two different USB controllers, so that might be the reason.
I used 2.12+ (just installed).
#33996 Netduino Plus Firmware v4.2.0
Posted by andersborg on 21 August 2012 - 10:59 AM in Netduino Plus 2 (and Netduino Plus 1)
#33993 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 09:27 AM in Netduino Plus 2 (and Netduino Plus 1)
First of all, you can safely upgrade to 4.2, for the Netduino Plus, follow this link:
http://forums.netdui...-firmware-v420/
In that thread, the correct SDKs are linked.
1-Wire is not yet supported in a non-beta build, it's only supported in a specific 4.1.1 beta build.
Good question, I don't -think- it's performed during a sleep. I thought the GC is started at the end of a loop or method. But I can't say for sure, I'm no expert in these matters.
I do know though, that it's possible to force garbage collecting, with Debug.GC(true);
I'm not sure what you're trying to do to be honest. I see you are using the same pins for both digital and analog, but what is connected to it? I ask this, because this could be potentially dangerous. Digital signals are 5V tolerant, analog signals are not.
Great about 4.2, despite 1-Wire. This would be hard to implement on my own in C#, so I won't try in any case .
Garbage collect after a loop or call seems very unlikely (and potentially very inefficient). I'll use Debug.GC instead of Debug.print. Thanks.
A separate response describes the project.
#33991 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 09:08 AM in Netduino Plus 2 (and Netduino Plus 1)
#33990 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 09:07 AM in Netduino Plus 2 (and Netduino Plus 1)
#33988 4.2 and out of memory
Posted by andersborg on 21 August 2012 - 08:45 AM in Netduino Plus 2 (and Netduino Plus 1)
It says "netduino go (and all 4.2 upgrades)" on the download page, and Plus is not mentioned. So should I not upgrade to .NET Framework 4.2 and SDK 4.2 if I have a Plus?
I also wonder if there's new released firmware, as I've been looking for 1-Wire support that was discussed in the forum some time ago. I now have 4.1.1.0.
I upgraded to .NET 4.2 and SDK 4.2 (anyhow) and there's a weird problem with possibly garbage collect. If I run this with a Thread.Sleep of 10 or 100 doesn't matter. It will anyway get out of memory after a rather short while. If I add a Debug.print it will not. Isn't memory management performed during Thread.Sleep?
Sadly below is the only way I've found to switch meaning of different ports. This should not have been handled as instances, for memory and performance reasons. Is there a way to address the ports and port configuration more directly?
The code:
public static bool scan(out int X, out int Y) { analog1 = new AnalogInput(X2); analog2 = new AnalogInput(X1); digital1 = new OutputPort(Y1, false); digital2 = new OutputPort(Y2, true); int valueX = analog1.Read(); X = adapt(valueX); analog1.Dispose(); analog2.Dispose(); digital1.Dispose(); digital2.Dispose(); analog1 = new AnalogInput(Y1); analog2 = new AnalogInput(Y2); digital1 = new OutputPort(X2, false); digital2 = new OutputPort(X1, true); int valueY = analog2.Read(); Y = adapt((range - 1) - valueY); analog1.Dispose(); analog2.Dispose(); digital1.Dispose(); digital2.Dispose(); analog1 = null; analog2 = null; digital1 = null; digital2 = null; return valueX != range - 1 && valueY != range - 1; }
Cheers,
Anders
#23196 Sending SMSs from a Netduino
Posted by andersborg on 23 January 2012 - 03:26 PM in Project Showcase
#23192 Sending SMSs from a Netduino
Posted by andersborg on 23 January 2012 - 03:12 PM in Project Showcase
Is your class opensource?
If you are asking me: It could be. It's not much code.
Cheers.
#22777 Sending SMSs from a Netduino
Posted by andersborg on 14 January 2012 - 01:07 PM in Project Showcase
#19545 Support for UDP multicast/boardcast?
Posted by andersborg on 21 October 2011 - 03:42 PM in Netduino Plus 2 (and Netduino Plus 1)
You're looking for broadcast UDP? You should be able to do most/all UDP via the standard firmware.
I believe that Pascal posted something about enabling broadcast UDP. If that's interesting, we could enable that in v4.1.1 pretty easily.
Chris
+1 or even +2 from me too.
#18233 Sending SMSs from a Netduino
Posted by andersborg on 20 September 2011 - 08:21 AM in Project Showcase
#18218 Sending SMSs from a Netduino
Posted by andersborg on 19 September 2011 - 08:39 PM in Project Showcase
#17962 OneWire ALPHA
Posted by andersborg on 14 September 2011 - 03:00 AM in Beta Firmware and Drivers
#17959 OneWire ALPHA
Posted by andersborg on 14 September 2011 - 01:37 AM in Beta Firmware and Drivers
#17955 Proto Board or Perf Board
Posted by andersborg on 14 September 2011 - 01:00 AM in General Discussion
#17950 Instantiations when switching mode
Posted by andersborg on 13 September 2011 - 09:07 PM in Netduino Plus 2 (and Netduino Plus 1)
- Netduino Forums
- → andersborg's Content
- Privacy Policy