Post Reply 
[Wip] Primedev - a Web based IDE for PPL and Python dev.
02-12-2022, 03:56 PM (This post was last modified: 03-04-2022 03:21 PM by Beatskip.)
Post: #1
[Wip] Primedev - a Web based IDE for PPL and Python dev.
Hi guys, so I've been working on the initial setup do make an intuitive and useable IDE
For both PPL and python development without any hassles and tools.
Just open the browser, connect to your prime and start coding.

It's very very much early state, only just got the initial communication via WebHID working. But I'm looking for people interested in contributing in the form of knowledge. As everyone knows, the Hid protocol is very sparsely documented and I think the community could most definitely use a proper IDE to get the most out of this very powerful calculator. the actual code editor portion is actually the same as is used in VsCode. So i should be able to add all the nice code prediction and completion features of VsCode later on. for both Python and PPL (later on even include all the built-in libraries into the code completion) Big Grin


Anyone interested, feel free to leave a message here or contact me otherwise. the progress can be followed on github at:

https://github.com/BeatSkip/PrimeDev

Update: 27/02/2022

okay, so almost at the point of MVP. right now, pretty much the entire protocol is working fine, reading apps works fine, still got some of the binary portions of the different file types to work through.
but i should be able to make a functional python editor before all that has been nailed down.
for the people that are curious. here's a preview of the IDE page.
(and yes, i painstakingly made almost picture perfect SVG clones of all HP Prime icons, yes that was way more work than the result was worth. but hey, *shiny* )

   

   

   

   

agian, if anyone has (complete-ish) documentation on the different data formats used (more than just the couple wiki pages and two github libraries i've been working off of), your input is valued a lot! Smile

Update: 04/03/2022
a test version is now live at: https://primedev.polyform.wiki/
you can connect, browse around and edit files. just saving back to your prime is not enabled yet as i'm still working out the details of that correctly. but toying around for feedback is definitely possible. note this 'only' works for the G2 right now. as the HID packets are fixed at 1024 bytes right now in the protocol. this means that it could possibly fuck with your G1!!!!!! although it 'shouldn't' as it currently doesn't push any large packets back. but yeah, i take no responsibility. I only have a G2 to play and test with.

otherwise in it's current form, it doesn't actually push any data back to the prime, as i want to fully debug that feature before i allow people to write back to their prime in the public version.


Attached File(s) Thumbnail(s)
   
Find all posts by this user
Quote this message in a reply
02-13-2022, 04:52 PM
Post: #2
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
This looks like it could be very useful! Just one question: how do I compile this? I noticed that you didn't include instructions on your readme page.
Find all posts by this user
Quote this message in a reply
02-13-2022, 08:35 PM
Post: #3
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
(02-13-2022 04:52 PM)jfelten Wrote:  This looks like it could be very useful! Just one question: how do I compile this? I noticed that you didn't include instructions on your readme page.

Looks like a C# web app. Appears to have been developed with Visual Studio 2022, so that would compile it.
Visit this user's website Find all posts by this user
Quote this message in a reply
02-14-2022, 04:29 PM
Post: #4
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
Yeah, you can just open it in visual studio and run it. Right now I'm working on the implementation of the HID protocol. I've made quite some progress on reverse engineering the current implementation of the HID protocol. The current one is quite different from the protocol that's described over the Internet. Lots of raw signal data between the connectivity kit and the prime to work through. But first messages in the new protocol are working. As soon as that protocol is nailed down, the ide itself isn't such a big piece to get to a working first version. So for now, it's mostly just a communication proof of concept.
Find all posts by this user
Quote this message in a reply
02-16-2022, 12:58 AM (This post was last modified: 02-16-2022 02:22 PM by Beatskip.)
Post: #5
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
currently worked out the V2 HID protocol. but i'm struggling with the compression algorithm that's used for larger transfers. any insider knowledge available here? found some references to huffman encoding in the Connectivity kit binary, but yet unsuccessful in decoding a raw usb packet dump.

EDIT: Sucess! i've managed to decode a packet completely. For anyone interested, i've managed to decompress the text message between the connectivity kit and prime with zlib. nothing fancy going on. just needed to find the right start of the actual payload
Find all posts by this user
Quote this message in a reply
02-21-2022, 02:30 PM
Post: #6
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
Is there any way to get this working on Linux? As far as I know, Visual Studio is Windows-only and VSCode does not support running .sln files.
Find all posts by this user
Quote this message in a reply
02-22-2022, 06:38 PM
Post: #7
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
It's a dotnet project and doesn't have any Windows-dependent components, so you should be able to compile it on Linux with just the sdk. I've got the protocol pretty much completely down now. So this week I will be able to actually add the text editor. Ofter that is integrated and tested a bit I'll put up a live version of the Web app on github pages.then you can just open the Web page and start programming from any os you want (except for ios, because. Yeah apple Tongue) it uses webhid to directly communicate with your prime from the browser without install. And everything is done via webassembly and is completely local. So no communication to the server at all apart from the initial loading of the page data and Web app resources. After the first time opening, no Internet connection is needed anymore as you can install it as a 'progressive Web app' . You can just keep an eye on the github repo. I'm trying to keep that updated as much as possible. I've also managed to get in contact with cyrille, so the protocol is actually implemented in the proper way and should be fully compatible.
Find all posts by this user
Quote this message in a reply
02-23-2022, 05:45 AM
Post: #8
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
Fantastic, I am very glad to see this development effort and look forward to checking it out once it is functional. Many questions, but will wait until we have something to play with.
Visit this user's website Find all posts by this user
Quote this message in a reply
02-27-2022, 11:03 PM
Post: #9
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
just finished up more work. next commit will probably have first actual capability of editing files and saving them back to the prime. i'll post a version on github pages as soon as that works.
Find all posts by this user
Quote this message in a reply
07-31-2022, 04:29 AM (This post was last modified: 07-31-2022 04:31 AM by Stevetuc.)
Post: #10
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
@Beatskip
Interesting project. Is this still being worked on?
Now that Hp have handed dev to a 3rd party who have yet to provide any updates, open source CK alternative is a good/only way of extending the Prime.
Find all posts by this user
Quote this message in a reply
09-14-2022, 05:09 PM
Post: #11
RE: [Wip] Primedev - a Web based IDE for PPL and Python dev.
(07-31-2022 04:29 AM)Stevetuc Wrote:  @Beatskip
Interesting project. Is this still being worked on?
Now that Hp have handed dev to a 3rd party who have yet to provide any updates, open source CK alternative is a good/only way of extending the Prime.

Hi Steve, currently this project is temporarily on ice. I'm currently finishing my bachelor's thesis so stressful times. After that is done I'm planning on picking it up again. I was in contact with Moravia to get me some resources to really pull this to the next level. Since I'm busy finishing my education, that will probably also be picked up after I'm done in the next couple of months.

The project isn't for dead for sure. Just unclear when I'll have some free time with my full-time job, and education.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)