On Wed, Jun 12, 2013 at 2:04 AM, Mark Hanchey wrot= e: > On 6/10/2013 6:18 PM, Manu Abraham wrote: >> >> The whole idea of bitbanging, polling etc is useless in this context: >> I could've used a Timer and polled the encoder pins (only a single encod= er >> is used), but then the system cannot be taxed to do additional polling, = as >> I wrote originally, it is doing quite some other work too.. > You don't have to use a timer or polling in the setup I described. The > whole point is you do it whenever there are free cycles because it isn't > critical the value is checked every 1ms, etc. It can be checked 1ms this > time and 3ms the next because you don't need to catch the changes. > >> The conceptt of adding separate chips and additional >> microcontrollers are pointless. In the old days, when computing power >> was very limited, it was acceptable to add chips for each and everything= , >> but in the new world, most likely you can pack some of the features that >> you find in dedicated chips, directly into a micro, which has some free >> resources that can be used for an additional functionality. >> Yes, we can keep on adding hardware more and more, but that is not an >> effecient way of doing things. Isn't it ? >> > If it were pointless the only thing sold would be micro controllers. > It is easier to design a product when you compartmentalize the areas > into their functions . You can do that in software somewhat but that > isn't always the easiest way to approach a problem. I would rather have > a separate part sending me the information I need vs trying to integrate > that same function into routines that are already timing sensitive. Its > great when a single chip can do everything but rarely have I found chips > that can do all the functions needed and it usually increases cost to do = so. There are 2 approaches to a solution, either go the hardware way, or the software way. As can be seen from industry/market trends, most things are getting to be more software oriented, rather than being hardware oriented. The point what I was trying to say: You have a microcontroller that has some room for more functionality to be packed in. But according to your philosophy you keep adding in chips for each functionality, while the same could be handled within software itself within the microcontroller. The market is all about keeping costs down, not keeping costs up. A software solution has a one time overhead, if everything is done properly. The hardware solution has recurring costs and in some case has availability issues. For these reasons, the industry moved much ahead to SoC's, ASIC/FPGA ... Additionally, more hardware translates to more hardware count, increased size and so on which are other aspects. Generally, I guess for the electronics/computing industry, people welcome the concept "small is beautiful", rather than larger systems which have redundant functionality. In my case: I have a microcontroller that has some free resources that can handle about 2 encoders in software. It wouldn't really make sense at my side to drop that idea; to implement a communications interface on it, then use another microcontroller which is going to do similar techniques to handle the same things eventually. The overhead what I can clearly see is one more additional microcontroller and an additional communication interface (whatever interface it is). So, I have no more hardware components to play with, and more software to debug.. That's really an unwanted overhead, isn't it ? Regards, Manu --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .