Ok, I saw a "broadcast call" for a discussion... Instead of discussing about some details, let me stay focused on a big picture.
As a part of new chip development (it is going to be announced in the upcoming days, if you're very curious, a draft datasheet is already available here: http://www.flyfish-tech.com/FF32/FF32_datasheet.pdf
) I brainstormed also about Scratch, hardware identification, protocol standardization, add-on conflicts, etc. Since this thread deals with these subjects, let me write my brief opinion which is a result of the mentioned brainstorming.
Current situation (hardware):
- there is a "small million" add-ons already on the market,
- the boards are "dumb" ones with discrete logic, drivers, etc. and "smart" ones built around microcontrollers,
- GPIO pins are used freely, there are no limitations in their usage (what is reflected in add-ons),
- boards stacking is nice (specially from marketing perspective), but it can (and do) cause conflicts,
(- number of USB add-ons is very limited)
- existing boards cannot be ignored,
- it would be a pain to maintain Scratch hardware support on per-board cases,
- a generic solution would make sense.
- start a discussion about "standardization" of hardware supported by Scratch,
- boards fulfilling the requirements would get a "Scratch compatible" label,
- Scratch would be extended to support "standardized" hardware.
- vendors will be motivated to get "Scratch compatible" label,
- due to proper general software support, "old and non-compatible" add-ons will start to fade out from circles using Scratch,
- as a result, you might improve situation where add-ons would start to follow some guidelines.
Misc item to be taken into consideration:
- can USB add-ons act as an early bird, because the collision with existing add-on boards is not applicable ?
This is my quick response to this discussion... I'm looking forward to further messages.
Best wishes, Ivan Zilic.