+-Discord Shoutbox


Alternatively, join us on Discord directly.
You can help CodeWalrus stay online by donating here.

TI-Planet's "Project Builder" with online CE C Compiler

Started by Adriweb, March 19, 2016, 05:04:02 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Lionel Debroux

QuoteDoes the project builder support non-ez80 / non-ti targets too? just wondering.
Nope, it does not at the moment. However, modularity was one of the strong design goals, so that support for multiple targets - not just multiple toolchains for a given target, which is already in production for the TI-eZ80 native code module - can be added at some point.

QuoteAlso, an idea might be integration to some kind of versioning like overleaf does. (You can edit LaTeX and host the project on github.)
Indeed. In fact, this particular item is already part of the wish list, alongside project import :)
The ability to export projects out of the PB infrastructure allows users to perform manual commits into whichever (D)SCM they see fit, but it's obviously more cumbersome than a direct integration into e.g. Github.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

AmazoNKA

I hope this project will start supporting prizm soon. It Will be nice to have everything compiled online and fix vram issues for new fx-cg50 as well as allow to use two sets of icons one for old black backgrounds and another for white new one - it will attract more developers too. Thanks for working on this project

Adriweb

Changes since last time: (see my previous post)

New:
  • Automatic autocompletion popup (debounced)
  • Ctrl-Click (or Cmd-Click on mac) on toolchain functions/defines etc. will open up the corresponding documentation line on GitHub
  • Trailing whitespaces are now trimmed on save
  • clang-provided warnings (as well as errors and diagnostics) are now shown inline, updated on each save and file switching
    Other sources of warnings (ZDS, cppcheck) are still displayed, and have their name on the right.

  • Code re-indent feature available at the click of a button at the top-right of the editor
Improved:
  • More optimal sorting of the autocompletion items
  • Finer file permissions in the backend
  • Better security checks on #include statements
  • Stricter clang warning flags when using llvm-eZ80
  • The backend toolchain is now just the same as on github with a (very) small patch to apply
  • The backend code got improved/refactored for several things, like error handling, permissions checking, action processing, DB usage (now generic)...
Fixed:
  • Ctrl-Hover (or Cmd-Hover on mac) improvements on compatibility and performance
  • Some eZ80 ASM ctags were not correct
  • The clang build output was not complete ; everything is now shown correctly.
  • Forking a project was not working if done on a project that didn't have saved files yet (ie: just created), and had incorrect error handling.
  • Re-sharing in RW a project that was shared then unshared at some point would result in having an old version of the files.
  • The Ctrl/Cmd-Hover popup was not destroyed when its word would get edited
  • Random typos got fixed
My thanks to:
- Lionel Debroux who's started code-reviewing and suggested quite a few interesting things, mostly aimed towards a more reusable/portable PB. Everything isn't done yet, but we're getting there!
- Runer112 too in particular, for feedback, testing, sorting ideas+code
- Everyone else who's tried/used the PB and provided feedback :)


(post via https://tiplanet.org/forum/viewtopic.php?f=41&t=18118&p=219792#p219792)
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Among the numerous improvements from today:

  • Improved auto-completion rendering, now with types, signatures...
  • Better log output in the build console
  • The CEmu sidebar is now toggled properly if need be, when testing a program
  • Cache-busting URLs for several CSS and JS resources
  • Lots of cleanup/refactor in the backend
  • Some work by Lionel to make the PB easily installable locally (not committed yet)


  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Latest updates:
  • Improved fuzzy-match search rendering
  • Locals are now displayed correctly in the autocompletion list
  • Bugfix for conflicting type names / bootstrap label
  • CodeMirror updated
  • WebCEmu arrows display improved
  • WebCEmu is now multithreaded and, as such, runs at full-speed (this requires a very recent stable/beta browser version: Chrome 60 / Opera 47, Firefox 55, Safari 10.1, Edge 16)


  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Some of the latest updates:
  • The hardcoded requirement to have a 'main.c' file is now gone. You just need to have at least one (any) file in a project
  • You can now import source code files via drag'n'drop on the editor
  • Fix-its, when available, are displayed and applicable by clicking on the flash icon on the right of warnings
  • Even more safe file switching (you can't click on stuff when it's loading the content)
  • WebCEmu build improved (latest emscripten SDK, behind the scenes improvements)
  • AJAX activity indicator (when loading, saving, etc.)
  • Some misc. cleanup and bugfixes




  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

The few updates since last time:
  • Refactor some code related to linewidgets handling (inline messages)
  • Build actions now have an XHR timeout of 60 seconds instead of 10 like other actions
  • Code re-indenting is now also supported for ASM (credits and thanks to Runer112 who wrote the code)
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

DJ Omnimaga

That's a lot.of updates @Adriweb O.O . I didn't know there would be so many during Summer months. Good job so far
  • Calculators owned: TI-84 Plus, TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

Adriweb

There hasn't been many updates since last time (about a month ago, yep...), but :

  • Runer112 improved the ASM re-indenter, it's now quite smart about keeping comments aligned etc.). Thanks!
  • The blue "Settings" button now opens a modal window with a few parameters you can adjust to your liking:
    • Output format (program/appvar)
    • Location (RAM/Archive)
    • Optimization settings
    • Custom clang parameters
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Between yesterday and today, I spent about a dozer hours on making the backend architecture of modules more generic, splitting in several layers what's specific and what's generic for the server-side processing things. I've also completed the DBHelper SQLite backend implementation (untested though!), if people are interested in it someday.

Anyway, it's becoming easier and easier to handle/add several modules in the Project Builder (even though I could still generify some more layers in the front-end, for instance a "front-end for a module using CodeMirror").

An overview of the general architecture according to PHPStorm, not showing fields/methods/etc. (we don't see what uses what, too bad :P):



(via https://tiplanet.org/forum/viewtopic.php?f=41&t=18118&p=223628#p223628)
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

I finally did the rebase (well, I wrote a script to do it...) from the private repo to public repo, since early July.
There are only 2 files left not yet published, basically :)
Here are the 102 commits pushed: https://git.io/vF9hb

(And thanks to those who contributed to some of those commits, directly or indirectly, especially Mateo, Jacobly, Runer112, Lionel.)
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Since this has been requested recently, I added a .webm screen-recording feature, so that you can now video-capture in addition to png-image capture :)



You can post such webm on some forums, or host it on gfycat for instance (which provides gif conversion etc.)...
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Big update today!

I have added support to the Project Builder for gfx resources (png images for instance), with the convimg tool from the toolchain!

  • To add sprites / images to your project, just drag'n'drop them onto the editor (be careful, if there is one called "icon.png", it will become the icon of the project, though)
  • The convimg configuration file, gfx/convimg.yaml, is created automatically with a template content adjusted for your images (you have to edit it if you add more images later)
  • The dropdown menu at the top left of the code editor allows you to list the files and images found in your project, and to access the configuration file. From this menu, you can also preview your images, download them, and delete them.
  • The files generated by convimg cannot be modified (they are read-only in the editor) in order to avoid bad modifications by mistake.

Here's a video showing a real-world usage of the features:


Let me know if you see something wrong,

Enjoy :)

(crossposted from TI-Planet)


-----

Previous update missing here:

[size=15]Jan 19th, 2020 updates![/size]
  • The PB has been improved to support the (LLVM-based) toolchain without any modification (that's good for me, as I just need to git pull and make install to keep up to date!)
  • Toolchain and LLVM updated to the latest version. This includes internal tools like fasmg (used as the assembler and linker), which jacobly greatly sped up thanks to a "CALM" instructions rewrite.
  • Building (without cleaning) doesn't remove the built 8xp first. As such, you can get the expected "make: Nothing to be done for 'all'." message if you try to build again if nothing changed.
  • Project icon + description support has been added. This means that inside Cesium, your programs can have those displayed!
You can add an icon to your project by drag'n'dropping your icon.png file on the editor (just like source files)
[/list]
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

DJ Omnimaga

Time to move this sub-forum from the completed to the currently active status and location. Glad this is getting new updates. :)

Do you know if many people use it in the TI community, including internationally?
  • Calculators owned: TI-84 Plus, TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

Powered by EzPortal