counts, SELECT cycles through those error screens that
have non-zero counters. When all counters have been
reset, the global error flag is cleared. Individual error
screens are exited by allowing the display timeout to
return you to the Home Screen or by choosing to reset all
counters.
The LCD backlight brightness is controlled in Screen
8. Nine levels — from Off to Maximum — are available.
Finally, we return to the Splash Screen and then the
Home Screen. Figure 4 also shows shortcuts to the backlight and error screens using the SET key from the Home
Screen.
All option settings (including backlight level) are saved
in non-volatile memory and reloaded when mistralXG is
switched on.
Error Flags and Counters
mistralXG tracks a number of different errors that may
occur. The second line of Screen 8 (the error flags) shows
the status of the 16 error types. An underscore (“_”) in a
position indicates that the related error has not occurred.
Each position has its own error character. If every error
type had occurred, the flags would look like this:
BFOD12012SE459DM
Here’s a quick summary of the error types. More
detailed information is in the source code:
BFO These flags indicate errors receiving MIDI data
from the inputs (receive buffer overflow, EUSART
framing error, EUSART overflow error).
D Unexpected data byte (MIDI command byte
expected).
12 Unexpected channel command byte (commands
expecting one and two data bytes, respectively).
012 Unexpected System Control command byte
(commands expecting zero, one, and two data
byte, respectively).
S Unexpected Sysex command byte.
E Unexpected End of Sysex command byte.
459D Invalid command byte (0xF4, 0xF5, 0xF9, 0xFD).
M USB-MIDI input buffer overflow.
Errors are rare, but you can induce them by switching
the input stream between “M” and “W” while a track is
playing.
Next Time: Technical Details
Okay, that about wraps things up for this month. I
hope you can see that mistralXG offers a lot of flexibility,
and that you are interested enough to want to try either
building it for yourself or using it as a base for your own
project.
Next time, I’ll take you through the details of the hardware and software that bring mistralXG to life.
NV
About the author
Steve Russell started out his working life as a hardware design engineer. Somewhere along the way, he
discovered computers and began designing subsystems
of various types for them, working for a multi-national
computer company before moving into software
development. Currently developing code in Java and
Python, he still misses the baleful green glow of an
oscilloscope in a darkened lab, late at night ...
You can contact Steve at pic.projects@grapevyne.com
Gizmos that bring your dreams to life!
DO YOU NEED
A GIZMO?
Robot Wheel
from $. 50
UltraSonic
Sensors
$1.75
Multimeter Big display $7.50
10mhz oscilloscope $160
20mhz oscilloscope $270
USB oscilloscope $220
Solar Kits $10.95
How About Soldering Supplies?
Variable Temp Solder Iron w/ 3 tips $29.95
6 piece Tweezer sets $5.00
Helping Hands Magnifiers $7.50
(Want more? See our web store)
Hobby Motors
Starting at $2
Dorkboard Kits
Arduino
compatible
$6.25
☺ 1000’s of LED in stock
1.8mm, 3mm, 5mm,
and 10mm from $. 40
Project Boxes (bigger than this)
1/2 watt $. 95
Starting at $1.50
1 watt Stars $3.60
RGB 5mm$1.50
UV 5mm $. 95
Retro Civil Defense
Radiation Detector
Power Supplies
9V 1 Amp $4
12V 2 Amp $8.50
NIMH Battery Packs
8.4V 2000mAH $2.50
WWW.SurplusGizmos.com
503-439-1249
5797 NW Cornelius Pass Road
Hillsboro Oregon 97124
To see the best deals
join our online mailing list!
48
February 2009