From jwbruce at ece.msstate.edu Fri Oct 8 08:34:30 2010 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Fri Oct 8 08:34:40 2010 Subject: [ece4723] Re: Embedded Task 4 In-Reply-To: <31510658.187901286544524953.JavaMail.root@zimbra.ece.msstate.edu> Message-ID: <16386122.187921286544870892.JavaMail.root@zimbra.ece.msstate.edu> Yep, in the ECAN module chapter of the FRM, page 36 shows code where they appear to be placing the value 15 into the DLC. I have no clue what they are doing here. Maybe the code is meant to be illustrative in the purest sense of the word. On page 5, a little over 1/2 down, it clearly states that the data payload is 0 to 8 bytes. This is in agreement with the CAN spec and everything else I have ever read on CAN. Of course to encode 0-8 you do need four bits. I don't know what the ECAN module does if you request 15 byte payload....... You can run an experiment and see. They may be using/relying on some undocumented silicon behavior when DLC > 8. But, I would hope not. Some higher network layers have been created to allow longer messages by "fragmenting" long data over multiple CAN messages. But the CAN message itself is limited to 8 bytes max. Anyone else have an idea of what the FRM code is up to? have a nice fall break. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 ----- Original Message ----- From: "Joshua Caldwell" < jcc415@msstate.edu > To: jwbruce@ece.msstate.edu Sent: Thursday, October 7, 2010 7:14:50 PM GMT -06:00 US/Canada Central Subject: Embedded Task 4 In Task 4, you mention using the DLC to determine the number of bytes of data to send, with it being 0 through 8. In the ECAN data sheet (page 36), it shows an example of setting the DLC to 15. Is this invalid? Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.ece.msstate.edu/pipermail/ece4723/attachments/20101008/0762d453/attachment.html From jwbruce at ece.msstate.edu Fri Oct 15 10:27:04 2010 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Fri Oct 15 10:27:12 2010 Subject: [ece4723] grep for windows Message-ID: <20617533.207861287156424873.JavaMail.root@zimbra.ece.msstate.edu> For those of you who are windoze-users, you may want to install a copy of GNU's grep for windows. I can't imagine developing any large software without grep at my disposal. http://gnuwin32.sourceforge.net/packages/grep.htm jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.ece.msstate.edu/pipermail/ece4723/attachments/20101015/ad4e61b8/attachment.html From jwbruce at ece.msstate.edu Fri Oct 15 10:42:57 2010 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Fri Oct 15 10:43:08 2010 Subject: [ece4723] useful development utils Message-ID: <15476183.208001287157377349.JavaMail.root@zimbra.ece.msstate.edu> There are such wonderful free utilities for developing good code today. Here are four utilities that I can't imagine not having during serious development. AStyle: http://astyle.sourceforge.net/ Application to "pretty" up your source code. Can be configured to match any coding conventions on white space. When I worked in industry, we had a similar app that was automatically run on our source when it was committed to the source control repos. Doxygen: http://www.doxygen.org Application to generate online dox directly from your source code. There is always the problem that your comments and source code don't agree. This will always be a problem, but doxygen uses the comments to augment what it sees in the code. If they don't agree, doxygen will let you know. Very nice. This is what we use to generate the online dox you see for the PIC24 library and ESOS. Source code dox generation is also good since it enforces a coding convention and format ting on your comments. A good programmer's editor There are so many out there. I currently sport notepad++ on my windoze machines. It's open source, but is windoze- specific. http://www.notepad-plus-plus.org RealTerm: http://realterm.sourceforge.net/ Again, a windoze-only program but quite good. Sometimes can flake out but nothing that restarting the app usually doesn't fix. Would be more stable if they ported from Delphi and removed the stupid activeX/COM functionality. But still quite good. Have fun. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.ece.msstate.edu/pipermail/ece4723/attachments/20101015/2f8148b1/attachment.html From jwbruce at ece.msstate.edu Mon Oct 18 07:46:14 2010 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Mon Oct 18 07:46:17 2010 Subject: [ece4723] ECAN macros problems? In-Reply-To: <32549008.208641287166547746.JavaMail.root@zimbra.ece.msstate.edu> Message-ID: <30834314.214071287405974076.JavaMail.root@zimbra.ece.msstate.edu> I've looked at the ECAN macros and they seem fine. Did anyone ever diagnose what was wrong with them? Or did everyone just replace the macro with a register assignment and keep on going? Finally, does anyone have a simple CAN program that doesn't work with the macros but does work when they are removed so I can track the problem down? You can either send me your user.c files or point me to the revisions/tags in your repos. thanks. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Tue Oct 19 08:03:13 2010 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Tue Oct 19 08:03:29 2010 Subject: [ece4723] Fwd: The Embedded Muse 200 In-Reply-To: <201010181954.o9IJsMTm004625@jade.serverhost.net> Message-ID: <12969863.218231287493393560.JavaMail.root@zimbra.ece.msstate.edu> The latest from Jack..... ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 ----- Forwarded Message ----- From: jack@ganssle.com To: tem@freelists.org Sent: Monday, October 18, 2010 2:54:22 PM GMT -06:00 US/Canada Central Subject: The Embedded Muse 200 -------------------------------------------------------------- Embedded Muse 200 Copyright 2010 TGG October 18, 2010 Permanent link to this issue: www.ganssle.com/tem/tem200.htm -------------------------------------------------------------- You may redistribute this newsletter for noncommercial purposes. For commercial use contact info@ganssle.com. To subscribe or unsubscribe go to http://www.ganssle.com/tem-subunsub.html or drop Jack an email at jack@ganssle.com. EDITOR: Jack Ganssle, jack@ganssle.com Contents: - Editor's Notes - Quotes and Thoughts - Tools and Tips - A Thought About Free Software - Jobs! - Joke for the Week - About The Embedded Muse Editor's Notes -------------- Are you happy with your bug rates? If not, what are you doing about it? Are you asked to do more with less? Deliver faster, with more features? What action are you taking to achieve those goals? In fact it IS possible to accurately schedule a project, meet the deadline, and drastically reduce bugs. Learn how at my Better Firmware Faster class, presented at your facility. See http://www.ganssle.com/onsite.htm . This is the 200th installment of The Embedded Muse. The first issue ran way back in 1997 when embedded systems used cams, cranks and steam engines. Thanks to all of you loyal readers who have contributed so much to it! VDC is doing their annual survey of the embedded space. They are offering some goodies for participants. The first 400 respondents who complete the survey will receive their choice of a $10 Amazon.com gift certificate or a $10 donation to FIRST (a charitable organization helping to promote the sciences to the next generation of engineers and developers). All respondents (including the first 400) who complete the survey will receive: - Entry into the grand prize drawing for an Apple iPad; - Immediate access to a summary of VDC's 2010 Embedded Engineering Survey results at the end of the survey; and - A summary of the 2010 Software and System Development survey findings once the survey is complete later this year. The survey is here: http://bit.ly/bnsdiR A report from Dice shows that "tech" hiring (whatever that means) is up almost 50% in the US, and contract work is also improving. More here: http://marketing.dice.com/dice-report/index.html . I have seen an increased demand for embedded hardware and software people. Quotes and Thoughts ------------------ If you think good architecture is expensive, try bad architecture. - Brian Foote and Joseph Yoder Tools and Tips -------------- The tool tips keep pouring in! Keep `em coming. I switched to a Mac laptop a few months ago. Finder, the Mac's equivalent of Windows Explorer, stinks. But PathFinder from http://www.cocoatech.com fixes all of Finder's flaws. At $40 it's highly recommended. Andrew Dyer is an RPN fan: "When I am working at the computer, I use the excellent emacs 'calc.el' package. If you are an emacs fan, I can't recommend this highly enough. I mostly use simple stuff, but there is a fairly capable set of math functions in there, and it's just a few keystrokes away. "For other times I have an app for my Android phone called droid48 which is an HP48 replica." Fred Roeber wrote: "The tool Foxit is mentioned for viewing PDF files. Something I really wanted to be able to do was add notes to PDF files without having to buy the Adobe version that supports that feature. I had trouble with Foxit crashing on Windows platforms when I tried to use its "notes" feature. However, I've had no trouble using the free PDF-XChange viewer from www.tracker-software.com to put notes in PDF files. It's really powerful and, like Foxit, allows you to use the scroll wheel for smoothly scrolling through documents." A Thought About Free Software ----------------------------- The discussion continues! Paul Carpenter had several comments: "This was an interesting discussion, I would agree that many aspects of the debate ends up in the standard software/embedded answer: It depends. "Yes you can sometimes get faster to market depending on the tools learning curve and integration into your archiving methods and more importantly what is the products support lifetime. I still support 12 year old products and another has a potential 20 year life span. "This in itself can produce nightmares of having to keep old host systems functioning, to ensure you can compile EXACTLY the same from PCB to firmware to mechanical. The nightmare of rechecking all old projects for platform/OS change is a continual nightmare. "All tools have hidden costs, installation, integration, and those damned support contracts (more later). "Instead of SVN support, IDE integration, auto generated build files and other such paraphernalia, there is one simple thing I would like ANY compiler to do automatically - generate a SINGLE build report that detailed in PLAIN TEXT the following:- - Date/time of run start/end (so you know its age and how long to expect to rebuild) - Host name built on - Host username (if present to find out if they had some special DLL or similar) - Host operating system and version - Compiler and linker versions - Target processor (NOT family) - IDE used and version - Included libraries/include files and paths versions of above if possible - Every single source file, date and size compiled - The name of the MAP file - The summary of segment sizes - The output file(s) name, size and date "I don't want this stored in some proprietary database or encoded workspace/IDE/environment file, as I want to know what I might have to install to replicate the build, possibly on a different site or continent. We all know how good a lot of places are for keeping records of what things have been built with. "Then we get to 'support contracts' this normally means you have to update your tools to latest version (and possibly host and OS). How many people check they can rebuild old projects exactly the same? "The majority of people need support for about 1-3 months of initial version install/update. "As I have just discovered on one tool, going from evaluation CD to latest meant some things in the compiler suite disappeared, which you had to find not by documentation but deciphering convoluted library header files. So I had to spend time discovering the difference and trying to get a workaround. I worked out a solution days before the problem was acknowledged. "During the discussion of long term solutions it was suggested I get the 'Long Term Support Option" at 10X price for annual subscription for better version control and bug fixes. "As far as I see it I would be paying for bug fixes, caused by updating in other words paying to fix somebody else's problems. This is software leasing by the back door. "Personally this course of action would annually add 10% to 20% onto project costs, let alone my time to get to source of problem first. I don't know any customer who would COME BACK to me, if I insisted on similar support contracts. "I have seen this over the years from Proprietary tools AND FOSS support contracted tools. My simple rules are" - NEVER change tools mid-project - NEVER upgrade a tool just because a new version has come out (most of the new features and hopefully bugs you don't use or want) - Keep the amount of tool changes to a minimum, for your own better productivity. - Don't rely on special tool options to mask bad design - Be sure you can recreate COMPLETELY any host environment for ANY tool and ANY files can be read at least for old projects that are being supported. "Don't even get me onto licensing, node locking and similar. "I agree totally with Keith Richeson's boss comment ("If it was your company, would you spend the money? In this case, I struggle to honestly say that if it were my company I would go out and spend $6k on a tool when I know there are free alternatives.") As being my own boss, means I agree totally with this. "That being said, I think the thing that bothers me more about proprietary tools than the initial price is the ever popular support agreement. I'll grant you that there is no guarantee of support for a FOSS tool, but at least the source is available and I can investigate on my own and/or ask "the community" for help. For whatever reason, the whole support agreement concept really bothers me." Jobs! ----- Let me know if you're hiring firmware or embedded designers. No recruiters please, and I reserve the right to edit ads to fit the format and intents of this newsletter. Please keep it to 100 words. Crestron Electronics, the world's leading manufacturer of advanced control and automation systems, is looking for talented embedded developers. We have been hiring Engineers steadily through the recent economic downturn and have in excess of 200 Engineers located in our brand new Research and Development Center in Rockleigh, NJ. Are you a motivated embedded developer? Do you understand and work with Real Time OS's on a regular basis? Do you have experience with Nucleus, or Windows CE? Do you understand Ethernet network stacks? Zigbee networking? I2C, SPI and other hardware bus protocols? We are hiring and all levels of experience! If you want a great career in a thriving company developing leading edge products please visit our website www.crestron.com/careers . Johnson Controls Automotive Group in beautiful Western MI is seeking engineers for their Electronics Engineering organization. Software Technical Lead: The Software Technical Lead Engineer specifies, designs, and implements software on one or more Electronic Control Units within JCI Electronics. The responsibilities of this role include design and development of embedded software, performing technical oversight of insourced and outsourced software engineers, and interfacing with the customer in defining and clarifying product functionality. Managing change, mitigating risks, and supporting stake holders are important activities also within the domain of responsibilities. BS in Electrical Engineering, Software Engineering, or Computer Engineering/Science. 7-10+ years of experience in embedded software development. Strong technical skills required. Automotive / Embedded Development backgrounds preferred. Familiarity with POSIX-based embedded operating systems desired. Technical team leadership experience is highly valued. Please send application to rebecca.k.evans-EXT@jci.com or visit our web site to view all open positions www.johnsoncontrols.com Vermeer is a global leader in manufacturing quality agricultural, environmental and utility installation equipment. We're looking for an Embedded Software Engineer for a position in Pella, Iowa. This engineer will be developing, integrating, testing, and debugging application firmware for Vermeer machine control systems. This role will provide support and guidance to production and dealership technical personnel in regards to new product launches and technical issues as they relate to existing machines and software issues. Qualifications - Bachelor's Degree in Computer Engineering, Electronics, or Machine Control (Master of Science Degree preferred) - 4 years of job experience and/or training preferred - Ability to proficiently apply machine control system knowledge to engineering processes, C++ language programming, and electronic hardware design. Apply at www.vermeerjobs.com Joke for the Week ----------------- Michael Linden sent in a link to pictures of soul-crushing cubicles: http://www.focus.com/fyi/human-resources/soul-crushing-cubicles/ . About The Embedded Muse ----------------------- The Embedded Muse is a newsletter sent via email by Jack Ganssle. Send complaints, comments, and contributions to me at jack@ganssle.com. The Embedded Muse is supported by The Ganssle Group, whose mission is to help embedded folks get better products to market faster. We offer seminars at your site offering hard-hitting ideas - and action - you can take now to improve firmware quality and decrease development time. Contact us at info@ganssle.com for more information. From jwbruce at ece.msstate.edu Tue Oct 19 09:23:46 2010 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Tue Oct 19 09:24:03 2010 Subject: [ece4723] Re: useful development utils In-Reply-To: <15626376.218591287497873325.JavaMail.root@zimbra.ece.msstate.edu> Message-ID: <17511206.218611287498226243.JavaMail.root@zimbra.ece.msstate.edu> Several of you asked to hear about some more useful tools I have found in my experiences, so here goes: "diff" tools: All serious programmers need a good diff tool. In industry, we were required to diff our code before every commit. We were trying to prevent inadvertently committing some unintended code changes. MS used to include a diff tool in their SDK tree. Their diff tool is still out there if you search for it. "Windiff" is the name. Not too bad. Very lightweight and does all the basics. WinMerge http://sourceforge.net/projects/winmerge/ is the new windoze diff tool king. Haven't used it yet. I do most of my serious development on linux. On the linux side, xxdiff: http://furius.ca/xxdiff/ I really like xxdiff. BTW, you can configure your svn (cmd-line) client to use any diff tool you want. Google it to find out how. synergy: http://synergy2.sourceforge.net/ If you use more than one computer at a time, synergy is a great little utility. It allows you to drive multiple networked computers from a single keyboard and mouse. Kinda like a virtual KVM switch. Works across platforms. I use it regularly to drive the windoze & linux computers . Synergy also works with MacOSX. Can do rudimentary clipboard sharing too. Tres cool! Good news: it works pretty well. Bad news: I think development has died on this little gem. graphviz: www.graphviz.org Nice set of visualization utils from years ago. Most tools in this suite have their own little syntax for describing graphs, networks, paths, connections, etc. It's not too hard to have a program spew statements that can be piped into a text file. Then have graphviz (I use "dot" and "neato" the most) display the results graphically. Awesome for diagnosing complex temporal or some communcations interface issues. Keyboard + trackball: This is your physical interface to your computer that you work at for hours per day. Choose the best for your body. I have been using late 80s (manufacture date: 17 July 1987, between my jr/sr years in high school ;-) IBM M-class keyboard for almost 20 years now. HEAVY and heavy duty. One of my prized computer possessions. http://en.wikipedia.org/wiki/Model_M_keyboard If you can find one at a reasonable price, I highly recommend getting one. For more about IBM model M's go to http://www.pcworld.com/article/147939/inside_the_worlds_greatest_keyboard.html Check out this guy who steampunk-ed his Model M: http://steampunkworkshop.com/keyboard.shtml I have been a Kensington track ball user since 1991. I am using only my 2nd Kensington trackball in 19 years. Current one has been used about 8h/day, for 5+ days/week since I arrived at MSU in August 2000. ENJOY! And happy coding. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 ----- Original Message ----- From: "J. W. Bruce" To: "ece4723" , "David James" Cc: "J. W. Bruce" Sent: Friday, October 15, 2010 10:42:57 AM GMT -06:00 US/Canada Central Subject: useful development utils There are such wonderful free utilities for developing good code today. Here are four utilities that I can't imagine not having during serious development. AStyle: http://astyle.sourceforge.net/ Application to "pretty" up your source code. Can be configured to match any coding conventions on white space. When I worked in industry, we had a similar app that was automatically run on our source when it was committed to the source control repos. Doxygen: http://www.doxygen.org Application to generate online dox directly from your source code. There is always the problem that your comments and source code don't agree. This will always be a problem, but doxygen uses the comments to augment what it sees in the code. If they don't agree, doxygen will let you know. Very nice. This is what we use to generate the online dox you see for the PIC24 library and ESOS. Source code dox generation is also good since it enforces a coding convention and formatting on your comments. A good programmer's editor There are so many out there. I currently sport notepad++ on my windoze machines. It's open source, but is windoze- specific. http://www.notepad-plus-plus.org RealTerm: http://realterm.sourceforge.net/ Again, a windoze-only program but quite good. Sometimes can flake out but nothing that restarting the app usually doesn't fix. Would be more stable if they ported from Delphi and removed the stupid activeX/COM functionality. But still quite good. Have fun. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.ece.msstate.edu/pipermail/ece4723/attachments/20101019/a2c0dd2b/attachment.html From dlj165 at msstate.edu Tue Oct 19 20:57:04 2010 From: dlj165 at msstate.edu (David James) Date: Tue Oct 19 21:05:31 2010 Subject: [ece4723] Voltage Regulator P/N In-Reply-To: <12969863.218231287493393560.JavaMail.root@zimbra.ece.msstate.edu> References: <201010181954.o9IJsMTm004625@jade.serverhost.net> <12969863.218231287493393560.JavaMail.root@zimbra.ece.msstate.edu> Message-ID: <000601cb6ffa$19a93da0$4cfbb8e0$@edu> It may help you to know that the part number for the voltage regulator is LM4040CR30, just in case you want to know more about the part. ~David From jwbruce at ece.msstate.edu Wed Oct 20 06:49:03 2010 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Wed Oct 20 06:49:08 2010 Subject: [ece4723] Re: Voltage Regulator P/N In-Reply-To: <7714563.221281287575289747.JavaMail.root@zimbra.ece.msstate.edu> Message-ID: <5856292.221301287575343826.JavaMail.root@zimbra.ece.msstate.edu> I dropped the LM4040 and LM60 datasheets into the folder on the class website for your convenience. You should able to sample some of these babies if you want extras for your toolbox. jwb PS: Just to be OCD: the LM4040 is a voltage reference not a regulator. ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 ----- Original Message ----- From: "David James" To: "J. W. Bruce" , "ece4723" Sent: Tuesday, October 19, 2010 8:57:04 PM GMT -06:00 US/Canada Central Subject: Voltage Regulator P/N It may help you to know that the part number for the voltage regulator is LM4040CR30, just in case you want to know more about the part. ~David From jwbruce at ece.msstate.edu Wed Oct 20 08:06:35 2010 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Wed Oct 20 08:06:45 2010 Subject: [ece4723] IEEE Mississippi section mtg Message-ID: <18520617.221901287579995523.JavaMail.root@zimbra.ece.msstate.edu> The IEEE Mississippi professional section is holding their monthly meeting here in the Golden Triangle. (Most meetings are in the Jackson area; they hold one up here about once per year.) The meeting is TOMORROW NIGHT! Nothing much to do with embedded systems, but you don't get the opportunity to look around a state-of-the-art functioning steel mill very often. You might want to consider going. jwb PS: If you have never been to the Golden Horn, it is a local steakhouse. Expect steakhouse prices.... about $20. The food there is quite good, IMHO. ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 406 Hardy Road, Simrall 335 Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.ece.msstate.edu/pipermail/ece4723/attachments/20101020/39037e96/attachment.html From jwbruce at ece.msstate.edu Thu Oct 28 08:34:55 2010 From: jwbruce at ece.msstate.edu (J.W. Bruce) Date: Thu Oct 28 08:34:58 2010 Subject: [ece4723] (no subject) Message-ID: No lecture today. Use the time to work on your dissections and/or lab. See you on Tuesday. JWB