From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,fcd0ac136c3a2795 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!feeder.news-service.com!85.214.198.2.MISMATCH!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Warren Newsgroups: comp.lang.ada Subject: Re: USB Boarduino on AVR-Ada Tutorial Date: Mon, 16 Aug 2010 14:16:38 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <4d1d662b-f476-41e4-938c-0564ad90d74e@d17g2000yqb.googlegroups.com> <8cjl56l69ruae3ev5ntfnjvker3uldlctg@4ax.com> Injection-Date: Mon, 16 Aug 2010 14:16:38 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="9f8M0iN5t54V+4DF/iqO8g"; logging-data="6579"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ebr4UNqya4UUuCMnoY6l2+WcZMqySeKY=" User-Agent: Xnews/5.04.25 X-Face: &6@]C2>ZS=NM|HE-^zWuryN#Z/2_.s9E|G&~DRi|sav9{E}XQJb*\_>=a5"q]\%A;5}LKP][1mA{gZ,Q!j Cancel-Lock: sha1:tmwNCR+1FuTDQMfgyywE5hw2oV4= Xref: g2news1.google.com comp.lang.ada:13411 Date: 2010-08-16T14:16:38+00:00 List-Id: Brian Drummond expounded in news:8cjl56l69ruae3ev5ntfnjvker3uldlctg@4ax.com: >>The Arduino focus has always been to make it easy for people to get >>started and teaching, which is ok. But I think they've sometimes >>"dumbed it down" too much. They don't want their students to get >>confused by technical details like upload baud rates or I/O ports >>and pins. They'd prefer them to know that the LED is "digital pin 13" >>instead of Port B, bit 5 (on a particular chip). Anyway, that's >>just my opinion- I like to drive. > > Forgot to mention: > > this looks like a candidate for an "Arduino" package which contains > all the renames, so you can "with Arduino" and write > Arduino.Led := On; > or, if you want to drive the port directly, simply read the package > instead of rummaging through data sheets and schematics. > > Led types should be enumerations, or renamed subtypes of boolean, > (On,Off) or (Off,On) according to the way they are connected, rather > than (True,False). > > - Brian I have no interest in doing that myself. The Arduino folks have what I consider, a rather extreme focus on "easy for new students". That's ok, it's their project. But as part of that focus, they've made changes to the compiler to make it "a new language" to simplify it further for students -- so it's not strictly C/C++, though it obviously is mostly that. They've even entertained making "010" mean 10 decimal, instead of the octal value of 8 it means in true C. To me this seems all wrong, but it's their project (this will have a major impact on include files if they do it!) So even maintaining a separate AVR C include file set may introduce extra work. It would certainly be a full time job keeping a separately maintained set of Arduino "mapping packages" in Ada. In my opinion, you choose an AVR platform (or family) and design for that. At that point you know what your hardware looks like. Since you're laying out the code, you can formalize ports etc. symbolically yourself, and thus eliminate hard-coding. To me, the biggest plus on the Arduino side is the cheap and easy to use programmers, hardware, "shields" and PCBs etc. Now, being able to use Ada on them, is just icing on the cake. Warren