> [a shim is] A library that provides an API that uses some of the API of t= he other library, but implements some features differently. In this case, we=92re talking about the =93arduino core=94 libraries - func= tions like digitalWrite() and pinMode() Once you implement the =93core=94 (which is relatively easy on most archite= ctures), then many of the more complex libraries that USE that core will ju= st work. Unfortunately, not all of the user libraries USE the core; many libraries e= xist mainly for the purpose of accessing AVR-specific features (timers, I2C= , SPI) that are NOT implemented by the core, and those can wind up being ve= ry chip-specific. Various Arduino derivatives have started off fine, only = to annoy users when the more complex libraries aren=92t as compatible as th= ey=92d like. I was thinking the other day that the Arduino core is probably the closest = thing that exists to a multi-architecture API standard for microcontroller-= like features. Individual vendors tend to implement things that are more v= endor-specific than they should be :-( This is sort of sad. BillW --=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 .