The app code created
is not just a static set of load bitmap commands or complex
and obscure language constructs: it simply defines a logical set of user
interface items (typically, backgrounds and button or touch regions set at
screen coordinates) that generate user events, and the handler code that executes
what that event requires. The code itself is easy to read and largely
self-documenting. Comments use the familiar C style line ( // comment ) and block style ( /*
comment */
).
-
File and Directory create, exist, move, copy and delete operations
are supported. File size and total / free disk space commands are (probably) available.
You can also read and write application INI-style files. On the Decaf
boards, these commands refer to the SD card FAT file system and would
eventually be called by the disk I/O functions in chibiOS. About 30
commands.
-
All the
commonly used string handling functions are supported. 26 commands.
-
PiXCLe supports floating point as well as
integer variables, plus a set of standard math library functions. The four
standard math operations plus modulus are provided in command syntax. About 30
commands. It's
uncertain at present if all the standard math library commands will
be supportable given the Decaf board resources.
-
Time functions provide get and set system time, get the
current time zone setting, and return a usable time string to programs. They
can also be used for scheduling operations such as running other app codes at
specific times.
-
The Decaf boards contain a clock chip that
stores and updates the time, so long as the board battery is
present, including when the board is un-powered. One time setting is
available, with no difference between Local and System as in Windows. At least
3 commands.
-
PiXCLe
supports the unstructured If..Then and Goto commands, plus the structured If...Else...Endif syntax. Thirty-two
levels of embedded If...Else...Endif structures are supported. Up to
Thirty-two levels of embedded structured For-Next and While-EndWhile loops are available. It is also possible to construct Do-While and Do-Until operations with the labels and Goto statements. For integer
variables, the Switch-Case-EndSwitch structure is provided.
About 8 commands.
-
PiXCLe includes a comprehensive set of commands
to draw lines, rectangles, circles and ellipses in various colors and pen
sizes. There are also polygon flood and fill functions. About 30
commands.
-
PiXCLe
can load and display from the SD card
BMP RGB34 image files, and the PiXCL PXI RGB565 open format
that can be displayed directly. PiXCL 10.3/11.0 include commands and a
sample app that imports any of 15 common image file formats, and
export them to PXI format. PXI images can be imported and saved to any
supported format.
-
PiXCLe includes support for simple communications using the serial
ports COM1 – COM2. This support is designed to enable devices such as
digitizing pads, GPS devices and tables that output coordinate data
strings, and accept control commands.
The Decaf boards have analog and digital I/O
connections, and there is a set of commands that directly support them
to set parameters and get current values. Inputs generally are
automatically monitored by threads that issue an interrupt when the parameters
change enough to cause an input event. Around 10 commands.
The PiXCLe command set can be extended with custom
commands developed by third parties. In the Windows version of PiXCL, these are
created in a DLL. In
PiXCLe
, an extension command file (extension
.PLL, equivalent to a DLL) is created with the optional PiXCLe
Decaf™
Developers Kit.
In summary, a .PLL extension
command set is stored on the Decaf™ board's SD card. and loaded by the
Register command. In general, a developer creating an extension command
library will implement both the DLL and PLL files, with mostly the same
internal code. This duality is preferred (but not essential) as it allows the
extensions to be tested in the Windows simulation phase.
It's also important to
understand what the RTOS and
PiXCLe are
not. chibiOS 2.4 is not Windows and does not attempt
to create a multi-tasking windowing user experience on a small touch screen. Neither
is it MS-DOS though it does provide a FAT file system on the SD Card. What the RTOS and
PiXCLe together provide is a device with a familiar file system,
and the easy-to-learn tool to quickly create working applications with an
attractive user interface on the touch screen. In fact, the specifics of the
operating system itself are irrelevent, and the app programmer/user does
not need to interact with it in any direct low
level way.
PiXCL 10.4/11.0 along with the PiXCL Code Studio is
included with all boards. Many of the utilities that are used during
PiXCLe app
development are
written in PiXCL itself, and all utility app source is provided.