MicroProcessor


Electrical theory Acronyms Installation standards Capacitors SupplySystems Automation Sensors Controllers and modules Control and Safety MicroProcessor PCboard References About us

Electrical theory
Acronyms
Installation standards
Capacitors
SupplySystems
Automation
Sensors
Controllers and modules
Control and Safety
MicroProcessor
PCboard
References
About us

 

***MicroChip***

An open letter to MicroChip: Recommendations from someone who knows nothing:

Preface:

Download the software...excitingly start the test programs...can't run...error : xyz?

Google? Forum  answer: What's wrong with you. you can't run MPLABabc with MPlabxyz...thats the wrong version - stupid. Why don't you read the manual...it clearly says on page abc!

Or Answer 2: The header file for that test project must be implemented first...in the new version is not built in?

I purposely use generic errors/reasons like abc and xyz and not specific errors/challenges to bring my point across that it could be for whatever reason. Those in the know will realise exactly what I am talking  about.

On the other hand those in the know cleanly forget the first day they entered into the PIC arena ...we sense that hidden frustration in your responses. You are only human and I appreciate the corporate challenges is not all under your control...but...

Here I sit alone at home in Timbuktu...what is the hell is these guys talking about...I just wanted to run this thing in the brand new software I got and this test project was downloaded with it?

Should I swear him? Agg lets just leave it.

This was my introduction to Microchip...and I am convinced it is the same for all.

So...

Suggestion / Question 1:

Why is version control and standards control not implemented? Microchip information is all over the show and what makes it more frustrating is all the versions has no indication of what belongs where - so for one starting out with Microchip, I promise you, more than 80% just give up.

Keep every series in its own, Every version to its own, and every PIC series to its own. And the engine for production on its own. 

Why? Because I nearly gave up...the only thing that kept me going is the big big dream I have and my inexplicable commitment to the PIC. Strange hey. 

Suggestion / Question 2:

I can't help but to ask the question: Is the C standard more important then the Microchip "customer strategy " for their chip sets, especially considering going into production?

Example: Instead of having these PIC common headers that continuously call a series of obscure header and defines / ndefines, and I realise it is driven by some good intention. Come up with a plan to manage these "standards changes" better.

My suggestion (because I prefer simplicity):- Have a library of EACH CHIP (all the possible headers) - separate not decided by some code when this is true then do this...Come on a beginner knows nothing. Forget about the path thing ...please!

My plan of simplicity was:- I kept the header in the project file - I could do this with C18...then XC8 struck and I still don't know how to manage the headers. Just had to go with the flow...until further notice,

Suggestion/ Question 3:

Have a production procedure available. Like a plan or procedure of actions to ensure when the PIC will always be successful out there in the market.

I realise that programmers have their own world to work in and they can and have all the time and resources available to confirm they comply with the the standards and optimisations and who knows what. Don't confuse this with design...I am referring to good programming practice FOR THE PIC only.

A good example: You know why I gave up on Assembly? Soon as I saw Bank x, Bank y - I don't want to reinvent the wheel. I just want to program the PIC according to my needs and the PIC and program must look after itself in terms of efficiency ad reliability.

As an entrepreneur - I would feel much more comfortable to use ONLY Microchip as the resource centre on the basics on how to do things...with the expectation that this method would be in compliance with the code...the principle is to ensure I do the code as was tested in the factory...as a chipset user I don't have the time or the resources to quibble about the code and its good practice.

So please have a place that says - Please Even though I know the manual is there

Please man,

Keep every series in its own, Every version to its own, and every Pic series to its own. And the engine for production on its own. 

It makes it complicated ...I am sure in real life even for Microchip to follow what exactly goes on between different versions of hardware and software.

I am also sure if one writes a program for a certain chip set having a other versions managed by virtue of defines and n defines adds risk to any project.

Look I know - because I have been observing this for a while now - the attitude for the learned ones in the Microchip is to justify what is going on...but I am sharing as a fresh - none programmer -this method makes the learning process extremely difficult ...so much so I am sure many simply gives up and moves on. That is a great pity because I have come to choose Microchip as the most suited chipset for my products and I am sure having to "move on" because of "some corporate decision" to manage resource and information :seemingly haphazardly  is the cause of failure,...that is painful.  

As I type this, you know what is the biggest challenge: What is the "detailed: correct way to start, manage and finalise a chip set to ready for production. 18months I spent on learning the chip, C programming and I have not come across a "principle of best practice" for a microchip chipset.

Fair all the info is there...how to manage a watch dog timer its there ...but if you don't know ...you don't know...it would be great to learn the chipsets on the premise of "good program principles" but there is no such path.

I appreciate an intention to leave it in the programmers hands as flexible as possible...Would it not be nice to have a procedure for those who just want to use the product for what it is and if one chooses to do things differently then it is ones prerogative.

 

--------=================---------------

SEE HERE FOR THE COMPLETE POST / TOPIC LIST.

 

References: Thank you to the following who unwittingly or wittingly collaborated to build knowledge. For any infringements, apologies. Let us know here:

Copyright issues