Hello-
I am a big fan of the LeafLab boards and I will continue to spend my time developing code which can use their 32-bit microcontroller products. The enhanced features of the STM chips (eg. DMA, 12-bit ADC, faster processor speed, wider bus, etc) are enough to make me be patient for the Maple to succeed. I am new to microcontrollers, so I cannot comment on the complexity caused by switching from 8-bit to 32-bit, but with the faster clock speed it does not sound trivial.
My words were intended to be more of a request/suggestion and less of a criticism. I believe it is important to test the official major software releases with as much old code as possible. Although testing is boring it needs to be an integral and scheduled part of any software/hardware development. The LeafLabs team wants to run as soon as possible, but it is important to avoid stumbling during the first few steps.
I had assumed all software/hardware companies (including LeafLabs) had an internal hardware test configuration which they were using. I am hoping they are using the "scientific method" (make a small change in software; keep the hardware configuration the same; and look for changes in the expected behavior).
I do not know how many square feet the LeafLabs group occupies (or if lab space is tight), but I assumed they always had one Maple with its input pins wired up, another Maple with its output pins wired up, etc. With the different boards (currently maple rev 1/3/5 and mini) testing may become more complex. One way to reduce the amount of "daily testing" is to says which board is currently the default board for daily testing at LeafLabs (eg. Maple Revision 5). However, before every software release as many older boards as possible should be tested (and if a board is not tested before a major software is released a clear statement should be made in the software documentation).
I am not asking that full testing should be done before a snapshot is released. Snapshots and alpha releases are for users who need new functionality which does not exist in an earlier version. However, snapshots and alpha releases are used with the understanding that they may have problems. For example, I am using the git-e938d1765a snapshot from February, 2011 (on a Windows XP system), because the snapshot has a version of SerialUSB.print() which currently works well enough for my projects. In release 0.0.9 and earlier, the version of SerialUSB.print() does not work well for rapid communications.
The reason I said I wonder if I am the only user who is interested in fast SerialUSB.print() related functions, because it has been two days since I posted USB Observations and Questions: Part I and so far no responses.
Roberto (user redfox), thank you for the info about the hardware test sketch which appeared with Arduino revision 022. As I said in an earlier post, I do not think the Arduino platform with its large number of users needs an official hardware test configuration. Arduino users will quickly find the bugs. Although I hope the number of Maple/32-bit microcontroller users will increase I am surprised the PWM/timer problem described by crenn was not caught earlier.
The PWM/timer code described by crenn is very simple and works with 0.0.8), so my assumption is that the problem must be in the 0.0.9 software. Maybe this is a good place to say that I have never used PWM, but that I have played a little with interrupts (and SerialUSB.print()). In their development of SerialUSB.print() for release 0.0.9 I am guessing a change was made in the timers/interrupts which broke crenn's code.
Honestly, it is not clear to me why most users find microcontroller boards such as Maple/Arduino useful. Are most users developing independent robots which do not need to be connected to a laptop/desktop? Are most users developing large programs which occupy most of the microcontroller's memory and then disconnect the USB cable after the sketch uploads (thus requiring an external power source)? I am interested in using microcontroller boards such as Maple/Arduino to connect my computer to the external world. I am interested in sensors and ADC (and eventually, in PWM).
crenn, I am glad the software updates which result from my interest in fast and reliable SerialUSB.print() and SerialUSB.read() communications might help your robot project.
I had assumed the non-LeafLabs members who were promoted to forum moderators were also given boards to "evaluate". The time these non-LeafLabs members (in particular crenn and gbulmer) have donated to the forums providing help is trivial to the cost of a board or two.
Thanks!
Stephen from NYC