This must be where Denny and Xiaofan were referring to "volume" :) Well, without trying to quote the gist of what you said, and at the risk of leaving out certain details, I'll say that a lot of what you said is how I write my firmware. The 1ms interrupt does nothing except set flags corresponding to intervals of 10ms, 100ms, and 1 second. Down in the main loop, functions are called whe= n the associated flag tests true. It's very simple, it's very neat, and main() remains very small. You can disable entire functionality by commenting out that function. Actually, I name those things "services". They are things like "read the buttons", "read the temperatures", "manage the blinky lights", "see if the serial interrupt has collected something with a carriage return on the end of it", etc. It is very much as you describe: A > super simple transparentish Mickey Mouse* non pre-emptive , better be > cooperative or else RTOS [tm] that takes literally a few lines of code > to get going. Presumably many people do almost exactly this. > If I want a 50 ms task, I don't even bother to create a 50ms event, I just call it every 10ms and have it execute every 5th time. The "better be cooperative" part is spot-on, and the time that a task gets to run can be pushed around a bit, but as long as you follow the "spare processing capacity" method, each task will run every n milliseconds; even if it's plus or minus some, the aggregate rate will be as promised. This won't work for signal sampling, of course, but it works for nearly everything else. For all this simplicity, there's just not much to worry about besides makin= g sure two tasks aren't trying to write their own answers to a common variabl= e and stuff like that. Modern "college boy" schemes, such as threading, can be useful but seem to carry a lot of overhead with complexity, gotchas; and a lot of code I see usually manages to disable just about all the features so that they don't get into trouble. Exec summary. Yes. It's being done. Works well. In C, even. Leaving out details, fast timers, and things regarding a PWM backlight. Separate message to follow. BG Keep reading, below. On Wed, Jun 22, 2011 at 11:05 PM, RussellMc wrote: > > * I understand that in some cultures "Mickey Mouse" means "pretty > good". That's not so here :-). * In the USA you will get a cease & desist letter, or at best be required to attribute the trademark to "its respective company". A memorable news bit from Saturday Night Live (TV show) went like this: "George Lucas told the Reagan administration to stop using 'Star Wars' to describe its Strategic Defense Initiative" "In a related story, Disney told the US Postal Service to stop using 'Micke= y Mouse' to describe its mail system." --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .