Since its beginning, TI-Planet has promoted programming, especially on TI calculators, through many news, program features and reviews, tutorials, contests etc.
We are now proud to launch, in beta, a new online platform (online so as to be more easily accessible), to push even further this programming promotional effort. This online tool is called the "Project Builder" (PB).
What's the "Project Builder"?Simply put, it's a "subsite" of TI-Planet, that offers a simplified interface through a set of tools ("modules"), such as an IDE, for creating, by oneself or with other people, content like programs, for calculators.
The modular architecture of the PB allows for multiple types of projects themselves possibly containing several elements. For now, the PB is still very young, and the only "ready" project type / module is the C compiler for the CE calculators (TI-84 Plus CE and TI-83 Premium CE), on which we will give more details in the next section.
In fact, we had already told you a bit about the PB and its C Compiler
some time ago (September 2015!) in another topic, so it might not be much of a surprise
Moreover, in the future, we can imagine other modules like:
- TI-Basic z80/eZ80 (82/83/84 series)
- TI-Nspire Lua
- images/sprites
- ...
Let's go back in a little more detail on the reference above, creating things "with other people". Indeed, the PB has
social / multi-user features:
- Possibility of sharing one's projects with other people
- Such sharing can be in read-only or read/write access
- Possibility of cloning/forking a project
- Real-time multiuser editing/collaboration
- Integrated chat
We hope that these efforts will help popularize programming among high school and university students, providing a simple yet comprehensive platform
We are also glad to announce that the Project Builder is open-source, and even free as in freedom (GPLv3), to enable the contribution in the spirit of the community - it is designed in such a way that its operation is not locked on a specific site infrastructure. We encourage (and thank in advance) anyone interested in contributing and helping in general, adding things, fixing bugs, etc. A link to the code is available at the bottom of this article.
The C Compiler for the CE calculators - a module of the PBThis isn't new - since the release of the CE calculators series in 2015, their new more powerful hardware (eZ80 CPU, faster than the Z80, more RAM, etc.) allows much more interesting things than on prior models, including indeed "native" C programming, much more attractive than assembly, and often used on PC or other platforms.
The Project Builder thus has a "CE C compiler" module, whose back-end is based on the toolchain work by "MateoConLechuga" (who we thank very much).
Features:Relative to the back-end (compiler)- Compiling C for the CE via a transparent usage of the C89/ANSI ZDS-powered toolchain (using official Zilog tools)
- Integrates enhanced standard include files (headers)
- Automatic linking of libraries that you use in your source code (include in lib/ce/)
- Automatic static code analysis via cppcheck (with built-in inline editor display)
Relative to the front-end (user interface)- Syntax coloring
- Half-smart auto-completion
- Multi-file project support
- Console showing the Makefile output (build log, link log, etc.)
- Build status indicator with associated timestamp
- Inline display of compilation warning and errors
- Embedded examples/templates so as to start from an existing base
- Various editor "Goodies"
- Auto-indentation, multiple selections/cursors, Code folding...
- Built-in search&replace (with RegExp possibility)
- Ctrl/Cmd + mouse-over on a variable/function to see its definition, and click to jump to it
- Ctrl/Cmd + mouse-over on a base 10 number to see base 16 representation, and click to make it written in base 16
Specific to CE calculators- Export to .8xp (program) file directly
- Integrates include files (headers) specific to the CE (via Toolchain and Libraries)
- Program name choice
Features planned for the future...:In addition to various improvements on the GUI for a better user experience, the following are on the TODO list:
Spoiler
- Integration of the CEmu emulator core in order to try and debug programs in real-time
- Deeper sharing options (in addition to read/write currently, possibility to choose specific user access)
- Auto-completion and inline help for CE-specific functions
- Dynamic/Interactive function list in the current file
- Improved integration of CodeMirror features for multi-file projects
- Choice of compiling optimization towards speed (current setting) or size
- Choice for the .8xp to be set by default in RAM or in Archive
- Versioning integration (Git etc.)
- Project Import/Export
- Integrating the LLVM eZ80 toolchain when it is ready
- A dark theme
- Your ideas?
Links_________
Via
TI-Planet.org:
https://tiplanet.org/forum/viewtopic.php?f=41&t=18118