Public, Shared P2 for Play Time
DavidZemon
Posts: 2,973
in Propeller 2
Chips are going to be very limited for a while. I'd love to play with one, but I don't want to hog 1/100 of the supply just so I can use it for a day and set it aside for another couple months. Maybe we can get a one or two shared P2 boards setup for folks to play with briefly?
A setup might include:
- One (or more) P2's connected to some LEDs and a computer for programming and serial input/output
- Webcam pointed at the P2's
- Web wrapper around proploader (or whatever the P2 equivalent is). It should be plenty simple enough to just wrap an existing CLI tool and stream stdout/stderr/stdin over a websocket.
- Web client code that
- Displays the webcam stream
- Allows uploading of P2 binaries to a requested P2 and creates a psuedo terminal for interacting
- "Locks" a P2 so long as that P2 has a psuedo terminal connected. A timeout could certainly be implemented to ensure no one forgets to close their browser tab or something.
No need to implement an editor/compiler/etc in the web. Yes, it can be done. No, I don't think its necessary.
If there's interest in this, I'd love to help make it happen. I can write the webapp to interact with the P2. Someone who will be receiving a P2 and board would need to setup the webcap and P2 and run my app. That could certainly be me if others are interested in using the setup but no one wants to host, though I have not requested an early P2 (and wasn't planning on it).
A setup might include:
- One (or more) P2's connected to some LEDs and a computer for programming and serial input/output
- Webcam pointed at the P2's
- Web wrapper around proploader (or whatever the P2 equivalent is). It should be plenty simple enough to just wrap an existing CLI tool and stream stdout/stderr/stdin over a websocket.
- Web client code that
- Displays the webcam stream
- Allows uploading of P2 binaries to a requested P2 and creates a psuedo terminal for interacting
- "Locks" a P2 so long as that P2 has a psuedo terminal connected. A timeout could certainly be implemented to ensure no one forgets to close their browser tab or something.
No need to implement an editor/compiler/etc in the web. Yes, it can be done. No, I don't think its necessary.
If there's interest in this, I'd love to help make it happen. I can write the webapp to interact with the P2. Someone who will be receiving a P2 and board would need to setup the webcap and P2 and run my app. That could certainly be me if others are interested in using the setup but no one wants to host, though I have not requested an early P2 (and wasn't planning on it).
Comments
Is that a company or forum user? Did he/she/it produce/publish anything? Did anyone else show any interest? Certainly the idea only matters if lots of people show interest.
Yeah we did a mock up based on well proven building blocks we use all the time, and I sent Chip a screencap of that. I'll attach this soon. Ideally we'd want Chip to add a command line hook into PNUT to "F10/F11" the program into the fpga board/P2 under test to make it slightly more user friendly overall, but without that its just some additional instructions.
The one unsolved tech issue we struck was trying to hook up three simultaneous webcams - we wanted this because you could have one focused on a VGA monitor, one on a composite/component vid screen, and one on the FPGA board with its leds and switches and attached servos (each would be zoomed in appropriately). We found that the videostreaming components we use didn't like more than one webcam being active at a time, and started down a path of Gstreamer, VLC etc some of which had powerful ways of merging multiple streams into one. But to be honest one solution (immediately available) would just be to use a single HD webcam and provide the ability to pan/zoom on the region of interest. We can have this up and running quickly if there's a need.
The only other issue is philosophical. The barrier to join in with the P2 fpga testing is pretty low - eg just a de0-nano board, my view has been that everyone should just do that and have the full fun experience that Ozprop and I (and several others) have enjoyed so much, plus you learn something about FPGAs along the path. However now that we're shifting from FPGA to true silicon, perhaps there's other reasons for us to switch this 'evalumatic' on
regards
Lachlan
We use 'LogMeIn' remote access software so this is the desktop you'd see from your PC or smartphone.
The smartphone access is also pretty neat, it lets you pan around the screen and zoom in on any bit of it. Better than a PC in some ways
--
Does your solution provide any way to upload and run a binary file, or do you have to use LogMeIn to write and save the code on the remote PC and then program the board?
I'd forgotten about video output... that certainly sounds like a more difficult problem to solve. I suppose throwing some more money at it might help. For instance, rather than putting a webcam in front of a TV being driven by the P2, just send the signal straight back to the computer and stream it over a live youtube channel or the equivalent. The "throw some more money at it" comes in buying the hardware necessary for a computer to receive said video signal. But, personally, that's not something I care about. I have two primary interests: helping develop a C/C++ compiler (be that PropGCC or LLVM, I don't think a decision has been made) and after that, re-writing PropWare for the P2. Neither of which are likely to need video (by me).
Oh, and my other question, did you get much interest from the community for using this
Regarding transfer, you can use Logmein's file transfer tools, or (since its just a PC on the 'net) use other ways of getting the file there, such as dragging from a dropbox (or shared public dropbox) etc. However LogMeIn does have that nice feature when you cut and paste, it also cuts and pastes to your local clipboard, which makes it easy to edit locally and then just control-V to paste it into PNUT at the remote end. That also helps with cross-platform, editing with favorites like sublime etc.
The same is true for printing. Logmein makes a lot of this kind of thing simple, which is why we keep paying subscription fees despite the rocketing rates. We have looked at alternatives like VNC, Vpro etc, but since the fees are paid by us already anyway, may as well share the benefits.
Its pretty trivial to set this up and have a play. We'll do in coming days and you guys can have a play and see how it feels. It can of course also be hosted/duplicated stateside easily enough
But yes, its a useful starting point we can build from. We'll see if we can't get this up and running quickly this week, and create a user account for anyone interested in giving it a quick test