I’m new FEZ hobby user, and very happy with results. I never programmed before microcontrollers, but with .net micro framework layer on top of the hardware low level, the things are done so quickly.
However, from what I read till now, the projects done with FEZ, are just for educational and prototype purposes.
Does this mean that FEZ is not good candidate for production environments? When I talk about FEZ with my friend, he was thrilled, and ask me, if I could give him a system for conductivity water measurement. That would be a simple system, with no real time demands.
But, I cannot find any product with fez, that run in production environment.
Am I missing something, has micro framework any weaknesses, for integration in real production environments.
There are many commercial products out there running of GHI hardware, commercial users don’t tend to post there designs thats all.
I think you will find if quantities are involved then design and prototype with FEZ and then they make custom boards.
But in saying that, i bet there are lots of FEZ boards out there running commercial products if you did but know
For all the home enthusiast projects we see and talk about here, there are probably hundreds of commercial vendors who make real things using GHI’s kit, who integrate an EMX module or now a G120 into their own commercial PCBs for their own applications. We’ve seen a small glimpse of some of them; there’s GHI kit in a NASA boat doing an arctic study, see http://www.tinyclr.com/forum/topic?id=8365 for details. Unfortunately though, most commercial vendors don’t hang out here and tell us about their cool projects that they’ve done, or where their products are in use. In fact that’s part of the secret, so we’ll never really know how many vending machines, ticket kiosks, or other everyday things are running netmf either with or without GHI’s layer on top - but from GHI’s history they’ve had a long history of producing devices in the commercial space, and only a short history of being maker-friendly (approx. December 2011 when Domino and Mini were first announced).
I usually give commercial customer this advice, if you are making less than 100,000 units per year then it is a lot cheaper to use one of our solutions.
Designing the processor circuit and writing all the premium software we give for free, will cost no less than $100K to $200K. And that does not include any future maintenance.
The only reason we can sell you a module for cheap and not charge $100K is that we sell these in thousands to hundreds of customers, commercial customers.
Exactly. I am programming in mf for week now just for hobby, and made system that reads analog sensor and communicate with windows app over sockets, which displays current and history values. I cant imagine how much code would have to be written in plain c. So, GUS and team, thanks for this wonderful product, you make all of us life easier
I’m an industrial customer, and we use GHI boards for several product lines. As was pointed out, time truly is money, and the engineers at my work who previously worked with C are blown away by my productivity.
It’s funny. I still remember the first time I decided to use NETMF for a project. A sales guy walks into my office, draws something on my whiteboard (essentially a box with several antennae and other interesting bits inside), saying, “We need something that can do this, this, this and this. Is it possible?” As he’s laying out his requirements, in my mind I’m comparing those against what I’ve discovered NETMF can do. At this point, I’ve only been tinkering with NETMF for about 2 months in my spare time, yet I’ve already learned a lot about what its strengths are. So when he asks, “Can we build this?” I say, “Yes.”
30 days later, the crude drawing is still on my whiteboard, and I stare at it in amazement since my hand is now holding the finished product ready to be shipped to a customer.
C++11 is a modern, type-safe, object-oriented, garbage-collected native programming language that, while requiring somewhat more resources than straight C or assembly code, is usable on much smaller, cheaper, and less power-hungry micros than NETMF (all the way down to 8-bit AVR micros!). It even has lambda expressions.
If you think C++ is about pointers, then you don’t know C++. If you think it’s about “new” and “delete”, you don’t know C++. I’ve been studying C++11 for the past couple weeks, and I’m blown away. Everything that I knew about C++ (and I used it at my previous job) is now wrong. Modern C++ is a joy to use. If the amount of work that went into NETMF went instead into a hardware-independent C++ platform, we’d all be using native code for everything!
[quote=“godefroi”]C++11 is a modern, type-safe, object-oriented, garbage-collected native programming language that, while requiring somewhat more resources than straight C or assembly code, is usable on much smaller, cheaper, and less power-hungry micros than NETMF (all the way down to 8-bit AVR micros!). It even has lambda expressions.
If you think C++ is about pointers, then you don’t know C++. If you think it’s about “new” and “delete”, you don’t know C++. I’ve been studying C++11 for the past couple weeks, and I’m blown away. Everything that I knew about C++ (and I used it at my previous job) is now wrong. Modern C++ is a joy to use. If the amount of work that went into NETMF went instead into a hardware-independent C++ platform, we’d all be using native code for everything!
[/quote]
I know what you’re talking about. I’ve been thinking alot about giving C++ a try again lately after seeing a presentation a few weeks ago by Kate Gregory when the DotNetRocks road show came to town. The syntax is still ugly in my opinion but a lot of the capabilities that we like about C# are now included in C++ 11 and it’s still native code.
As I understand it, there are two ways to run C++ - either through the CLR (garbage collected) or as native. I didn’t gather from the presentation that the native compiler also included a garbage collector. Perhaps you’ve read otherwise.
I know we’ve mentioned this in other posts, but especially with C++ 11 it would be really interesting to be able to mix C++ native assemblies and C# managed assemblies in the same project without using RLP.
It’s reference counted garbage collection, but NETMF doesn’t have the fancy multi-generational mark-and-sweep GC from the desktop framework anyway (even the CF doesn’t), it’s a simple mark-and-sweep whose only advantage is that it gracefully handles circular references. It suffers from non-deterministic finalization (you can’t control when it does its thing), and the more objects it has to mark and sweep, the slower it gets (reference counted GC doesn’t have this problem).
Interestingly, Bjarne has said that he wanted to get an optional GC (and by this I assume an optionally-enabled automatic GC, instead of the “opt-in” shared_ptr GC) into the C++11 standard, but it didn’t make it in time.
There’s no such thing as a C++ native assembly. It’s either managed (which means it’s an assembly) or it’s native (which means it’s not an assembly). Using C++/CLI would require Microsoft to provide a Cortex-M compiler. Pure C++ code has the advantage that you’re always native, so you could stay inside a hypothetical framework, or venture outside it with no performance penalties whatsoever.
Furthermore, unless NETMF gets a native compiler (either JIT or AOT), all you’d end up with is the RLP situation, where every transition between native and managed was overwhelmingly costly in terms of performance, and since you’d be working with managed objects, calling managed methods, reading managed properties, you’d be doing a LOT of transitions.
As much as I love the performance of a native language (can we have Delphi back please), one of the things I love about .NetMF is that really I don’t care about what CPU etc its running on, I’m free to choose the best supported CPU for my project and if another better supported CPU comes out, no problem so having that middle layer can have some benefit. In terms of performance, I think the growing success of Gadgeteer and .NetMF will provide ample motivation for Microsoft and others to pick .Netmf up a couple of levels on the performance scale. In short Gadgeteer and .NetMF are just starting to take off and so we are going to see a bunch of interesting enhancements and such over the next couple of years (people often vastly over estimate the speed of technology).
Gus what might be rather interesting here is your vision or roadmap for how a Gadgeteer dude in this forum would take a device to that next level and I’m not talking major release runs of 100,000 units or more, I’m talking more about that KickStarter level of say a 1000 units (or maybe even less). So lets imagine a Gadgeteer dude named Sam Solder, working out of his home office in the evenings has built himself a really cool Gadgeteer Device and want to release it on KickStarter and is looking to make a 1000 devices to get his Gadgeteer company rolling (self funded), whats the drill from a production side?
It seems really great, but it doesn’t work like that. If you choose Spider, you might well lock yourself into that option, since it’s currently the only mainboard with GHI’s premium libraries. If you use TFT displays, you’re stuck with Hydra or Spider. Your hardware and possibly software must change if you’re using Ethernet and you move from Spider to any other mainboard, as the Spider is the only board that uses the J11D Ethernet module. Spider and G120 are the only mainboards that support WiFi. Different mainboards have different sockets, so moving to another mainboard may not even be theoretically possible without major alterations in hardware.
Ironically, if you’d have used Netduino Go! as your example, you’d have been mostly right
Indeed, James over at Love Electronics has mentioned here an exciting feature he calls “Accelerated C#” which will do native compilation for certain kinds of code. Sadly, this will be a “premium”-type feature of the Argon R1, thus tying you to it and Love Electronics, just like GHI’s premium libraries tie you to the Spider. That means it’s going to cost you $100 just to try it out.
I’m sure we will. NETMF is so far behind on the performance curve, however, that it will take a very long time to catch up, at the current rate. It’s a good thing it’s got some other really great features going for it.
I keep glancing over at Netduino Go! as it is a new and as I said technology takes time to get going and certainly I’m interested in what its doing, but maybe I’m missing something as I don’t see a wifi option currently for it nor a lot of other modules (remember I’m an idea/software dude and happy to buy my hardware from hardware dudes who are way better at hardware then me). Its one thing to build a button module, its entirely a different thing to build a wifi module and its accompanying drivers etc and so if the Spider is my pony for doing wifi, then at least I have a pony and when I look at where Gus is going with that Wifi module and how fast he is getting there, we might have Ad-Hoc connections in the near future, thats a trick pony I can live with as that is a pretty useful trick. So sure my choices might have some limitations based on features, but I can live with that if it means I can have that feature.
[quote=“godefroi”]
Indeed, James over at Love Electronics has mentioned here an exciting feature he calls “Accelerated C#” which will do native compilation for certain kinds of code. Sadly, this will be a “premium”-type feature of the Argon R1, thus tying you to it and Love Electronics, just like GHI’s premium libraries tie you to the Spider. That means it’s going to cost you $100 just to try it out.
[/quote] $100 is cheap, and if it means that James can develop Accelerated C# and maintain it etc (ie base his living off of it and I want him making a living off of it as that provides motivation to make it the product it really could be), hell of a deal for $100, sign me up for more ArgonR1 boards.
Gadgeteer isn’t currently sold as a rip your eyes out speed demon, its sold as an easy to use prototyping system (where hardware meets software) and it delivers on that in Spades. I’m old, I remember coding with punch cards in Fortran, and later those amazing Russian Coders who ran radar stations on 6502’s because that was all they had and they could squeeze every cpu cycle to the max, but they still lost, because of our dear friend Gordon Moore. The problem has never been hardware, its always been a shortage of software, and that is what drives that willingness to compromise on software performance as the speed of development is really more important than the speed of the resulting application, because we can fix that with hardware. Not to say we should endorse poor coding practices, but we have to accept the reality of world we find ourselves in. Frankly I look at the CPU’s I have now on Gadgeteer and the amount of memory and such, and I think WOW I have a board the size of two postage stamps that would crush the building sized mainframe I used in the 70’s and these things are only going to get faster and smaller, but more importantly I think with Gadgeteer we have managed to cross that threshold where the software tools etc will bring the software guys into the game and will finally start using and driving the hardware in this space, a win for everyone. Now Gus seems like a rather bright guy and more importantly a rather passionate technology guy, so while the Spider might be his go to platform today, I’m sure he already has plans or visions for his next go to platform and it will be even faster etc. so Im happy to hook my software wagon up to his hardware pony as its enabling me to do things that I only used to dream of before. My office has changed big time in the last 9 months since I started playing with Gadgeteer. Ive got project boards all over my office running different Gadgeteer devices that Ive built. Im quickly amassing the skills and knowledge about this space where if I wanted I could easily start developing commercial devices, even with the existing hardware (Ive done a number of startup companies before, but my enthusiasm level for doing another is somewhat low as while I love the creative process of creating and developing a product and its market (why I have project boards everywhere), Im not a fan of the business of business anymore).