- TI-Planet's "Project Builder" with online CE C/C++
- 19 Mar 2016 12:08:57 am
- Last edited by Adriweb on 01 Nov 2017 10:34:34 am; edited 1 time in total
(I've been told to make a topic about it, so here it is )
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:
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:
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 PB
This 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)
Relative to the front-end (user interface)
Specific to CE calculators
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:
Links
_________
Via TI-Planet.org: https://tiplanet.org/forum/viewtopic.php?f=41&t=18118
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 PB
This 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/fonction 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
- Auto-indentation, multiple selections/cursors, Code folding...
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:
- 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
- Project Builder: https://tiplanet.org/pb (beta)
- Source code: on GitHub. Note that the repo's content is coming along bit by bit...
_________
Via TI-Planet.org: https://tiplanet.org/forum/viewtopic.php?f=41&t=18118