- Netduino Forums
- → rhamer's Content
rhamer's Content
There have been 29 items by rhamer (Search limited from 28-April 23)
#30937 When will V4.2 really be released and working?
Posted by rhamer on 20 June 2012 - 09:32 AM in Beta Firmware and Drivers
#30921 When will V4.2 really be released and working?
Posted by rhamer on 19 June 2012 - 11:46 PM in Beta Firmware and Drivers
Here's a template I knocked up per my earlier description. Give it a whirl and tell me what you think. Couple of key points:
- You only get the kill switch in debug builds. In release builds no handler is attached to the SW1 so it functions as a reset switch.
- In debug builds the watchdog doesn't reboot, it fires an OnStall event which gives you a chance to find out what stalled.
- You have to explicitly register methods for the co-op manager. I had intended to use custom attributes to mark up methods with their intervals and implicitly register them, but NETMF doesn't do custom attributes. The template produces two sample co-op methods to illustrate registration and the required method signature.
- If a co-op task runs for more than a minute the watchdog detects it as stalled.
- Coop mult-tasking only ever runs one logical process at a time so it is effectively single threaded.
- This is an application watchdog.
An application watchdog operates at a different level of abstraction to the framework watchdog already present. If you wrote this:
static void Main() { Thread.Sleep(Timeout.Infinite); }the built-in watchdog would not detect it because the NETMF framework has not locked up.
Thanks for your effort Arbiter, I will try it out as soon as I can and let you know how I go.
Regards
Rohan
#30920 When will V4.2 really be released and working?
Posted by rhamer on 19 June 2012 - 11:40 PM in Beta Firmware and Drivers
Hi Rohan,
So sorry that you're having issues with .NET MF 4.2 and the beta firmware.
The reason we haven't taken the firmware out of beta is because .NET MF 4.2 hasn't met our quality criteria yet. The one outstanding issue is the blue screens with the proprietary NETMF driver.
We have been working with Microsoft on the issue since summer 2010. It was actually an issue with .NET MF 4.1, but we created a workaround which fixed the issue most of the time. This workaround no longer works with the changes made in .NET MF 4.2, so both Secret Labs and Microsoft have been doing extensive repro cases to determine the root cause.
After much effort, it was determined that there the issues are driver-related and specific to certain computer+software configurations, and that they seem to affect all .NET MF 4.2-based firmware images using USB to some extent.
So Microsoft is working hard on a new, permanent resolution to the issue. They're replacing the proprietary NETMF drivers with standard WinUSB drivers. WinUSB is a much better solution because it's built into Windows and therefore well-tested across a wide number of devices and computers.
The new WinUSB support is scheduled to be available by mid-July in beta form, and sometime this summer in the QFE2 patch to .NET MF 4.2.
Full details:
http://netmf.codeple...m/workitem/1049
Once the community reports that the QFE2-based WinUSB drivers have fixed the BSOD glitches in relation to .NET MF 4.2, we'll move the Netduino firmware rapidly to RTM.
BTW, we implemented some hardware tweaks in the Netduino Go hardware to reduce the BSOD occurances to .NET MF 4.1 levels (which is why we were able to ship it with .NET MF 4.2 support). We're still not happy with the occurance of any driver crashes, so we're really looking forward to transitioning the full line of USB-capable Netduinos to WinUSB.
Thank you for your patience while Microsoft finishes up their work on the new drivers. So sorry for any pain you are encountering on your computer in relation to .NET MF 4.2 and the beta firmware. We're listening, and many people are working hard behind the scenes to make .NET MF 4.2 a strong platform with RTM firmware.
Chris
P.S.
If you want to switch your Netduino to serial debug/deploy, you can use D0/D1 or D2/D3 and a USB TTL adapter with the 4.2 firmware. You could also use an RS232 shield. This will allow you to write code without any possibility of driver-related BSODs.
Hi Chris,
I appreciate the sentiment, but I don't think you really understand the scale of these problems. To be blunt, commercial development against V4.2 is unworkable.
Add to this the annoyance I have when I see talk about other products being designed such as the GO when there are existing products that simply dont work. In my view, any and all available effort should be focused on sorting out the existing issues, rather than new products. All you are going to end up with is a bunch of products that half work, rather than a couple that are really good. i.e exactly how it is now.
There are at least 3 show stopping problems with V4.2 right now.
1/ BSOD
2/ Deployment Fails
3/ VS2010 crashes when hovering over a variable during debugging.
There are probably more, but I cant get past these to see any further.
I know in past posts you have pointed to various problems falling into various camps, but to me I don't care, I just want it fixed. It feels like I'm constantly being told it's not my problem, thats some other guys issue. I dont know what parts fall into who's area and I don't want to. I just want it to work.
I realise I'm being a bit grumpy about this, but you have to realise I'm not in this for the journey, I need to get to the destination as quickly as possible, and that is the suposed main spruking point of .NET MF. I need to use it as part of a robust reliable commercial product, and not some pet egg timer project.
To give you some idea, I have the whole product designed, and prototypes built. In the attached photo of an early prototype you can see that the Netduino is only a small (but significant) part of the project. If I have to scrap it and move to something else, it will be a major setback, but I equally can't continue on this way.
Please can you provide a proper realistic list of known issues and when they will be fixed, with a commitment to sorting out the issues with existing products, before using resources for new development.
BTW I cant use serial for deployment, as I'm using both serial ports as part of the project.
Regards
Rohan
#30817 When will V4.2 really be released and working?
Posted by rhamer on 18 June 2012 - 03:18 AM in Beta Firmware and Drivers
... As for a way to reliably trigger a deployment hang this seems to work for me on any PC (win7 x64) i try it on.
If other people can hang their deployment that way at least that will be a step towards getting a fix for this issue, as AFAIK its the reproducibility of the issue that is the sticking point on this issue...
- Deploy code first time no problem
- Deploy code n times no problem
- Stop debugging and restart (either through a reset or power cycle) the ND and let the program run i.e. debug build running in a more production like context
- Try and redeploy/attach debugger, deploy hangs reseting or unplugging ND causes a BSOD (windbg analysis says either memory corruption or vista driver error) waiting about 5 mins raises a deployment error dialog in vs...
Nak.
That is pretty much the trigger for me as well.
Going on what others have said here, it appears to be when the program is executing on it's own you cant break into it to deploy another.
something else I have also seen is, it sort of half deploys before failing and leaves the Netduino no longer able to receive a new deployment, or even free run the old one, even with the USB disconnected and power cycled.
I have seen this because my project has an LCD screen for output and during the program init it writes a few lines of stuff. When it gets half updated, I only get some of the text on the screen, and the netduino just appears to freeze, even ignoring the reset button sometimes.
Regards
Rohan
#30711 Deploy and Debug via Ethernet, is it possible?
Posted by rhamer on 15 June 2012 - 03:35 AM in Netduino Plus 2 (and Netduino Plus 1)
#30704 Hints, Tips and Workarounds for Deployment Problems
Posted by rhamer on 15 June 2012 - 12:14 AM in Beta Firmware and Drivers
#30703 When will V4.2 really be released and working?
Posted by rhamer on 14 June 2012 - 11:18 PM in Beta Firmware and Drivers
#30679 When will V4.2 really be released and working?
Posted by rhamer on 14 June 2012 - 10:44 AM in Beta Firmware and Drivers
#30651 Error Deploying Solution
Posted by rhamer on 14 June 2012 - 01:03 AM in Netduino Plus 2 (and Netduino Plus 1)
#30561 Event handlers sample
Posted by rhamer on 12 June 2012 - 12:17 AM in Visual Basic Support
#30410 VS2010 Crash on debug
Posted by rhamer on 08 June 2012 - 06:40 AM in Visual Basic Support
#30409 Event handlers sample
Posted by rhamer on 08 June 2012 - 06:30 AM in Visual Basic Support
#29561 VS2010 Crash on debug
Posted by rhamer on 23 May 2012 - 03:06 AM in Visual Basic Support
#29549 VS2010 Crash on debug
Posted by rhamer on 22 May 2012 - 09:50 PM in Visual Basic Support
#29425 VS2010 Crash on debug
Posted by rhamer on 20 May 2012 - 04:32 AM in Visual Basic Support
#28991 VS2010 Crash on debug
Posted by rhamer on 14 May 2012 - 05:30 AM in Visual Basic Support
#28989 VS2010 Crash on debug
Posted by rhamer on 14 May 2012 - 05:11 AM in Visual Basic Support
#25443 Netduino Firmware v4.2.0 RC4 (Netduino + Netduino Plus)
Posted by rhamer on 13 March 2012 - 03:18 AM in Beta Firmware and Drivers
Thanks for the reply. I really dont want to be one of those whinging types.
The I2C bus is here http://forums.netdui...h__1#entry22811
I dont know about the beta drivers, I don't think so as I'm not sure where they fit into the environment. I just followed the instructions posted by another user and it didn't include anything for the IDE/PC end. What exactly are they for and how do I use them?
One more thing with regard to the I2C classes, is the inability to connect to more than 1 device. There seems to be some home brew classes to get around this, but nothing with clear instructions on how to use them. I see this as a huge deficiency in the I2C routines as the whole point is I2C is a bus. Having said that, if there is an official workaround (for VB) that you recommend I would be happy to use it.
BTW just so you know, the project I'm working on is a commercial application that will need 15 NetDuino Plus' to control various pieces of hardware, but it also needs to be rock solid. I hope things can be turned around soon as I only have a few more days before I will have to decide to stick with the ND or look somewhere else.
Thanks again for your help.
Regards
Rohan
#25428 Netduino Firmware v4.2.0 RC4 (Netduino + Netduino Plus)
Posted by rhamer on 12 March 2012 - 10:45 PM in Beta Firmware and Drivers
Target for the next beta is 2-3 weeks from today. There will be a lot of updated code pulled into it.
Chris
Is any of it in the I2C area?
Unfortunately I am very close to having to abandon the Netduino Plus as the essential things I need (I2C & VB) are just not working properly yet.
Add to that the constant IDE crashes and the occasional Blue Screen when pressing the Netduino reset button during a download and I'm not making any progress at all, while my deadline grows nearer.
I really don't want to sound like a complainer, and I know this is only Beta firmware, but it has been in Beta for a while, and I cant see the roadmap or timeframe. is there one?
Regards
Rohan
#24878 Multiple i2C Devices with VB
Posted by rhamer on 29 February 2012 - 10:49 PM in Visual Basic Support
#23375 Are there timers on the Netduino Plus?
Posted by rhamer on 27 January 2012 - 09:36 PM in Netduino Plus 2 (and Netduino Plus 1)
Hi,
Yes.
Here's a reference: http://wiki.tinyclr....le=SystemTimers
Dan
Thanks Dan, I'll take a look.
Cheers
Rohan
#23270 Are there timers on the Netduino Plus?
Posted by rhamer on 25 January 2012 - 04:10 AM in Netduino Plus 2 (and Netduino Plus 1)
#23269 Bug in system.net.sockets
Posted by rhamer on 25 January 2012 - 04:05 AM in Beta Firmware and Drivers
Public Function SendDataArray(Data() As Byte) As Boolean Dim ret As Boolean Try clientSocket.Send(Data) ret = True Catch ex As Exception ret = False End Try Return ret End Function
The difference here is I'm passing a byte array into the method (instead of just a byte) which should make no difference at all, except the array contains more than 1 byte.
I can repeatedly call this method with no exceptions being generated.
Regards
Rohan
#23264 Bug in system.net.sockets
Posted by rhamer on 25 January 2012 - 01:56 AM in Beta Firmware and Drivers
Just to clarify, you are sending a single byte with each call of "clientSocket.Send" ?
-Valkyrie-MT
Yes that is correct.
Regards
Rohan
#23256 Bug in system.net.sockets
Posted by rhamer on 24 January 2012 - 10:28 PM in Beta Firmware and Drivers
using the following code, I get an exception thrown on every ninth byte.
Public Function SendData(Data As Byte) As Boolean Dim ret As Boolean Dim DataByteArray() = {Data} Try clientSocket.Send(DataByteArray) ret = True Catch ex As Exception ret = False End Try Return ret End Function
This happens reliably every time.
The other odd thing is when I look at the data using wireshark, the data in the packets is always as follows.
1 data byte
7 data bytes
(exception thrown byte never sent)
1 data byte
7 data bytes
(exception thrown byte never sent)
this pattern continues until there is no more data to send.
If I catch the false return from the above method and just call the method again with the same byte, it works, so it is not the contents of the byte that is the problem (it is also different with every ninth byte not being the same data anyway)
Recalling the same method after an exception fixes the problem in as much as the byte is eventually sent, but it slows down the execution dramatically as you can imagine, and is not an acceptable workaround.
Can anybody think of something I might be doing wrong?
Regards
Rohan
- Netduino Forums
- → rhamer's Content
- Privacy Policy