HOME  |  NEWS  |  BLOGS  |  MESSAGES  |  FEATURES  |  VIDEOS  |  WEBINARS  |  INDUSTRIES  |  FOCUS ON FUNDAMENTALS
  |  REGISTER  |  LOGIN  |  HELP
Comments
You must login to participate in this chat. Please login.

I appreciate the archived notes

Iron

The necessity to "understand every line of code" obviously depends upon circumstance and context.

cf. abstraction, cf. modularity, cf. API, cf. expertise

Iron

Easy to overview and control flow at test and validation stage

Someone asked about learning PICs

 

This link is to an author that has good material on the subject

 

http://www.amazon.com/Chuck-Hellebuyck/e/B001K8ICGU

Blogger

absolutely!  Thanks everyone!  I look forward to tomorrow!

Blogger

Good lecture for what I got to listen to will pick up the end on archive.

Iron

Jacob, can you add me to MICGIL2293's request?

MICGIL2293 I do!  I will have to check my book shelf though and get back to you later.  

Iron

Thanks Jacob Ann, and Digi-Key

Iron

Thanks any material would be very useful.

Iron

oki! thanks again Jacob see you tomorrow!

Iron

Ah. OK. Thanks. See you tomorrow.

Iron

Either email me or I will also later repond back in this chat

Blogger

MICGIL2293 I do!  I will have to check my book shelf though and get back to you later.  

Blogger

most vendors do have dev kits that you can then use a starter kit / ide with for code size less than 32k

Blogger

Do you know of any good reading material to learn more about microchip and PIC

Iron

unfornately not in these talks.  Linux is an entirely different topic.  It would be interesting to do a session on though another time.  It can be very different.

Blogger

do they usually give it with the dev kit?

 

Iron

Eclipse has become very popular too

Blogger

I didn't know that! but now I know! thanks Jacob nice speech, are you going to talk about embedded linux?

Iron

It can depend on the chip you are using

For ARM Cortex-M i use either IAR or Keil

Microchip I us MPLAB X

TI Code Composer

etc

Blogger

as great as that platform is there are always gotchas!

Blogger

what is a code C IDE/compiler these days. Last I used was CodeWarrior

Iron

thank you, just getting into C now

Iron

which is great, i love sharing code, but usually a business is not happy with that idea since then anyone could just copy the hardware and be a competitor quickly

Blogger

yes the open source licenses forces you to have to share the code.

Blogger

usually you have to use special compiler options to inline in C90 which then makes you not ISO compliant

Blogger

I see!, so you must "share" te code that is created with arduino libraries

 

Iron

Could you sugest me a book for C programming?

Iron

Sorry C99 is the 1999 version of the ISO C standrd.  It supports inline but C90 (1990 ISO C standard) does not

Blogger

I'll have to look into G-Code.  

Blogger

just thinking of within the ISR

Iron

C99?  can you give me a quick, what is it?

Iron

I've used Arduino to do quick turn proof of concepts.  I don't use it for production.  One reason is that the open source nature requires that your code be open source!  Which is a scary concept to any business!

Blogger

yes so function calls add a little bit of overhead.  The nice thing is that our processors are becoming very fast and efficient so the overhead is negligable in most applications you can always inline (C99) which will remove the overhead but increase flash usage

Blogger

Hello Jacob, have you used arduino for a medium size proyect (no more than 200 code lines)?

Iron

I use G-code dev environment from Nat Instruments ... LabVIEW ... very powerfull but relatively new to many traditional coders

I've noticed that problem with graphical HTML programs.

Iron

all the function calls do add to the overhead/speed

 

Iron

Those are PIC registers.  

Blogger

The code in your example looks very similar to terminology (e.g., TRIS) that I see in Microchip's PIC microcontrollers that I have been learning.  Are you using the PIC in these examples or is that common terminology throughout the microcontroller world?

Iron

In my mind graphical languages should generate code that humans can easily read and maintain by hand if needed

Blogger

where local variables can change

Graphical languages I think are good.  The problem I see with them is that they create very unreadable code for humans.  They currently usually require hand tweaking which makes future changes dangerous 

Blogger

Thanks.  I see how you could do OO in C, but it is nicer to have explicit language support for it.

Iron

rather than TRISb =0

TRISC = 0

TRISD = 0 

... so on and so forth

Blogger

Thank you Ann, Design News and Digi-key

Iron

*portsddr[i] = 0 would loop through and initialize every register in portsddr to 0

Blogger

I do use C+ whenever I can though.  I think the structure of OO is much better and clearer.  C compilers are just as good as C too

Blogger

People are starting to use graphical programming languages for embedded applications.  Is this a problem?

 

Iron

So should slide 17 have said *portsddr[i] = 0 ?

Gold

How do you explain the manipulation via struct and union on Page 16 ??

 

Iron

there is a lot of good legacy code for C

Blogger

Some vendors don't have supporting C+ compilers

Blogger

Thanks for the great tutorial session!

Iron

I mostly use C because it is the most widely supported language!

Blogger

They are not the same!!!  I noticed that too!  Slight blunder there but the idea is that you can easily loop through the array and initialie the registers!

Blogger

Thak you for another great presentation

Iron

Thank you very much!

Have a great day!

thank you kind sir. great presentation

Iron

Wow.  Really helpful.  

Iron

@Jacob: Is C your preferred language for embedded software?  Why?

Iron

Thanks Jacob, Ann, Design News and Digi-Key.

Iron

Thanks Jacob and Digi-Key

See yo tomorrow

Iron

??, on page 17, are tmrreg and portsddr the same?

Thanks for the great presentation.

Iron

Thank you Jacob, Ann, and Digi-Key

Gold

Jacob, Thank you for the presentation

Iron

Thank you Jacob & Ann

Iron

Another great presentation...Thanks!

Platinum

intrupting service rutine

Iron

during certain inputs, sensors

Iron

You'd want to us volatile when variables could be accessed from a task and an interrupt.

Iron

button presses, leds, timer interrrupts

Iron

The list given for where to use volatile seems pretty complete.

interrupt service routine

Iron

Accessing the registers of a memory mapped CPLD, CPU hardware registers and shared ISR variables.

Iron

Whenever access register IO addresses.

Iron

any global variable that is controlled/ changed in an ISR

Iron

when multiple modules can change a variable!

Iron

In multi process RT systems where variable can be changed by other processes

Iron

When hardware is involved (GPIO input, for instance)

Iron

Use volatile keyword when it is accessed by interrupts.

Iron

Definitions of hardware registers.

keep compiler from optimizing out variables, for registers...

Iron

Jacob's question was: Where might you want to use the "volatile" keyword in your software?

Blogger

Prefer explicit to avoid confusion.

Iron

I prefer to have globals in a module implicitly static.

Well, it depends, because makeing "local" variables static also makes the function non-reentrant...

exlicitly - for clarity.

Iron

Explicitly declared - it's intention is obvious.

Iron

explicitlt to avoid any confusion

Iron

Prefer explicit definitions.  It makes it easier for multiple people to understand and maintain code.

Iron

Explicit because I'm a control freak and don't like inconsistancies between compilers!

Iron

explicitly for readabilty

Iron

explicitly declared, so there is never confusion on what variable is used, and what it's definition is

Iron

Like to define it explicitly 

Iron

definitely explicit for debugging, understanding, maintenance

Iron

Explicit, to avoid any confusion or surprises by what the compiler does.

Declare explicitly - minimize the cognitive load on people reading the code

explicit - I know exactly what was intended.

Iron

explicitly - different compilers can have different default definitions

Iron

Explicity declared is best, avoid unforeseen bugs

Iron

Explicit...easier to debug/understand/less mistakes

Iron

IMplicit to keep the data from overwritiing other module data,

Iron

explicitly.  leave no room for guessing.

Iron

Explicitly. Makes code more readable

Iron

Jacob's question was: Would you rather have something implicitly or explicitly declared?  Why?

Blogger

Prevent constraining yourself on variable names by enabling you to name variables that have the same function in different models with the same name, keeping functionality clear (as long as developers understand how to resolve scope when coding and debugging)

Protects unwanted access to variables

Iron

so u do not have to keep declaring the variables. try to avoid unless variables have odd or complicated names

Iron

easy to follow and to protect

Iron

Just as you said, you might accedentally reference something in a library or a function

Gold

Variable scope is good to limit the variable exposure to other processes.

Iron

isolate variables to a local scope

Iron

Reduces accidental changes to variables.  Can make the code more portable.

Iron

Benefits of controlling variable scope: protects data

Iron

Reduce possiblity or errors

Iron

Maintain Structure and kep the code efficient

Iron

To prevent other routines accessing the variable.

Iron

Globals = clobbered data.

 

You can protect the variables from being changed by/in wrong functions

Iron

Make debugging easier.  Promote safe code reuse.

Iron

Protection from overwriting data

Iron

Jacob's question was: Why would you want to control variable scope in an application?

Blogger

i've used PicBasic Pro too.

Iron

download the slide deck

 

Is there only audio stream ?

Iron

I swithced to Firefox and audio is now solid.  

Keep loosing the audio

 

Iron

I used assembler, now C, java

Iron

Assembly, C, C+ some Java (older systems were done in Pascal and Forth)

Iron

Assembler, C for embedded

VisualBasic, C# for high level test or general programs

Knowledge of Java, JSP

Iron

C, Pascal CPP Python Aseembler etc. If it has ones and zeros I'm game

Iron

C, C+ , and learning python in the next couple months for work

Iron

Primarily C.  Some assembly.

Iron

Jacob's question was: What languages do you use for embedded software?

C

Iron

Almost exclusively C. Used C+ on ARM once and loved it!

Languages for embedded: assembler and C, C+ .

Iron

I use C and assembly languge.

Iron

MatLab/Simulink and then autocode

Iron

Using C for Linux Kernel.

Iron

good afternoon, everyone

 

Iron

Jacob's question was: What languages do you use for embedded software?

Blogger

My friend arrives in Monrovia, Liberia today!

 

Iron

Good evening from Iasi

Iron

no have been there....  come to Midland plenty of jobs but no houses though

Iron

Greetings. C is the good stuff!

 

Iron

Hello from Livermore, CA.

Iron

@gwp2, wanna trade? I have no job ATM.

Iron

Hi all -Audio is live! If you don't see the audio bar at the top of the screen, please refresh your browser. It may take a couple tries. When you see the audio bar, hit the play button. If you experience audio interruptions and are using IE, try using FF or Chrome as your browser. Many people experience issues with IE. Also, make sure your flash player is updated with the current version. Some companies block live audio streams, so if that is the case for your company, the class will be archived on this page immediately following the class and you can listen then. People don't experience any issues with the audio for the archived version.

Sunny in VT...34 degrees

Iron

@gwp2  it is called job security : )

Iron

Hello from Hudsonville, MI

Iron

Greetings from Boston metro west. Another sunny  and brisky 39 degF.

Iron

Hi everyone day three and finally will listen in live, work keeps getting in the way wouldn't be bad except for playing hydraulics, mechanical and numerous other disciplines outside of my preferred one.  Why is it electronics people can do everyone elses job but they have no clue when it comes to ours.....

Iron

Hello from Surf City, USA

Iron

Hello everybody from Coventry

Iron

Good afternoon from beautiful New Hampshire

Good afternoon from Rockwell Automation.

Hello from sunny Lake Simcoe Ont. Canada.

Iron

Good afternoon from South central PA ...

Morning, -36 degrees

Happy Hump Day All

Iron

Be sure to follow @designnews and @DigiKeyCEC on Twitter for the latest class information. We encourage you to tweet about today's class using the hashtag #CEC.

Blogger

Good afternoon everyone!

Iron

Greetings from ther land of the always moving temperatures, Chicago.

 

Greetings from Vermont

Iron

Hello from Aurora CO. 

Iron

Please join our Digi-Key Continuing Education Center LinkedIn Group at http://linkd.in/yoNGeY

Blogger

@rodan1984: lecture starts in 1:09; 2:00 PM EST.  The times above each posting are EST if you are in a different time zone.

Iron

Camel case is of course the preferred notation for hump day.

We still have not agreed on if we should use Hugnarian Notaiton.

http://en.wikipedia.org/wiki/Hungarian_notation

 

Hello from sunny but cold Edmonton, AB

Iron

Hello from Beaverton, Oregon.

Iron

The streaming audio player will appear on this web page when the show starts at 2 PM Eastern time today. Note however that some companies block live audio streams. If when the show starts you don't hear any audio, try refreshing your browser. If that doesn't work, try using Firefox or Google Chrome as your browser. Some users experience audio interruptions with IE. If that doesn't work, the class will be archived immediately following our live taping.

Blogger

does lecture starts in 30 minutes more?

Iron

Hello everybody from Guadalajara Jalisco, land of Mariachi and Tequila!  :)

Iron

Hello from Panama City, FL.

Iron

Good morning from Scottsdale, AZ

Iron

Good morning from mobile, AL

Programming standard 3.14159:  All variables shall be camel case.

Therefore, it is HumpDay.

Iron

Good afternoon from West Point, PA.

Iron

Hello from Summerville, SC. How everyone doing?

Iron

Hi, everyone good morning

Iron

I see that the reminder email went out.

 

Be sure to click 'Today's Slide Deck' under Special Educational Materials above right to download the PowerPoint for today's session.

Blogger

Aren't you glad to be employed in meaningful work?

Or at least indulging your technical need to know more hanging out at CEC.

Iron

HumpDay. ucHumpDay. hump_day. DAY_hump. day.current_day. day_of_the_week[3]. $day[3]

Morning from Portland Oregon

Iron

Hi from Beaverton, Oregon. Getting the slides.

Iron

Slides good. Hump day in 10 days or 3 days for sure.

Have a happy hump day every day.

Sure hope I get a device soon.

Iron

humpDay. Or is it HumpDay. Or hump_day ?



Partner Zone
Latest Analysis
Some humanoid walking robots are also good at running, balancing, and coordinated movements in group settings. Several of our sports robots have won regional or worldwide acclaim in the RoboCup soccer World Cup, or FIRST Robotics competitions. Others include the world's first hockey-playing robot and a trash-talking Scrabble player.
Sherlock Ohms highlights stories told by engineers who have used their deductive reasoning and technical prowess to troubleshoot and solve the most perplexing engineering mysteries.
Melissa Cavanagh of 3DP Unlimited talked to Design News about the company’s large format 3D printer, during Medical Design and Manufacturing Midwest.
The DDV-IP is a two-wheeled self-balancing robot that can deliver cold beverages to thirsty folks on hot summer days. A wireless RF remote enables manual control of the device beyond the act of self-balancing. All of the features of the DDV-IP result in an effective delivery vehicle while providing entertainment to the user.
Eric Doster of iFixit talks about the most surprising aspect of the Microsoft Surface Pro 3 teardown. In a presentation at Medical Design & Manufacturing Midwest, iFixit gave the Surface Pro 3 a score of one (out of a possible 10) for repairability.
More:Blogs|News
Design News Webinar Series
10/7/2014 8:00 a.m. California / 11:00 a.m. New York
9/25/2014 11:00 a.m. California / 2:00 p.m. New York
9/10/2014 11:00 a.m. California / 2:00 p.m. New York
7/23/2014 11:00 a.m. California / 2:00 p.m. New York
Quick Poll
The Continuing Education Center offers engineers an entirely new way to get the education they need to formulate next-generation solutions.
Oct 20 - 24, How to Design & Build an Embedded Web Server: An Embedded TCP/IP Tutorial
SEMESTERS: 1  |  2  |  3  |  4  |  5  |  6


Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.
Next Class: 10/28-10/30 11:00 AM
Sponsored by Stratasys
Next Class: 10/28-10/30 2:00 PM
Sponsored by Gates Corporation
Learn More   |   Login   |   Archived Classes
Twitter Feed
Design News Twitter Feed
Like Us on Facebook

Sponsored Content

Technology Marketplace

Copyright © 2014 UBM Canon, A UBM company, All rights reserved. Privacy Policy | Terms of Service