Shop OBEX P1 Docs P2 Docs Learn Events
GUI Terminal Client — Parallax Forums

GUI Terminal Client

Peter JakackiPeter Jakacki Posts: 10,193
edited 2010-03-27 04:12 in Propeller 1
Note: This post is not strictly about Propeller chips but more about what Propeller chips and others communicate to on the PC. It may be sandboxed but I like to kick it off here.

There are many times where I will specify a serial terminal on a PC as the only PC side interface to an embedded device. Typically many of my products have a USB serial port that is used for development and also by the end-user or installer to setup and configure the equipment via Hyperterminal and TeraTerm style serial terminals. But the user interface is limited to fixed sized text and simple line graphics and 8 colors in the case of these ANSI capable terminals listed. So the whole menu and interaction is dictated by the embedded device through the serial link and the terminal emulator is a dumb client. Certainly not a friendly modern interface, more like what we had back in the 70's and early 80's.

These ANSI terminals are decades old and so the emulators just do pretty dumb text and that's it but what is stopping us from transforming the humble terminal emulator into a GUI client/terminal. This client could be controlled via the serial port or any other connection or even internally from other applications using nothing more than a two-way communications pipe. By sending a certain command sequence from the server which in this case would be the embedded device over the serial port we can rather than display plain text instead call up forms and dialog boxes that can be navigated using the keyboard, mouse, or any other input device of the PC. The result is the client application looks like any other windows application with title bar and menus etc but totally dictated from the embedded device or server.

Take a simple PC calculator application for instance, although this may be of no practical use we can visualize this easily and to assist I have attached a screenshot of one. This could be created from the embedded device using no other PC software but the GUI terminal. The embedded application (server) would send command sequences to open a new window, set the title, specify the menus, buttons and labels, and a display window. When the user clicks the "9" button or uses the keyboard then that would send back the character 9 or sequence preset for that action. The server would then send back the display update as 9 and then imagine we now press "+","3","=" and so the display updates accordingly but all controlled from the server, not the PC. This client software can even be cross-platform to run on Windows, Linux, and OSX for instance much like Brad's BST.

I spoke to Brad about this as well and I am not aware of any software currently available that does this. There must be a big demand for this type of thing and I can see that special PC applications can be created simply using this standard software plus custom software on the embedded device. In the case of the Propeller chip I would store a lot of the server side software and tables either in the EEPROM, or DataFlash, or SD memory card.

My PC skills are ok but I'm no guru. I would like to see this project being an open-source project that can be developed, expanded, and maintained by many contributors. As open-source anybody can download it and use it just as they use terminal emulators now. The advantages are that the user gets a modern easy to use GUI on their PC and platform while the embedded application doesn't have to worry about the PC platform itself but talks to it just like it was talking to a terminal emulator. Also many USB serial ports are capable of running at mega-baud speeds when there is a direct connection from the embedded processor to it's USB chip and so this also permits very fast GUI updates.

Thoughts anyone?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
*Peter*
308 x 398 - 23K
«1

Comments

  • Cluso99Cluso99 Posts: 18,069
    edited 2010-03-18 08:57
    Might the pc end be better running a browser? Not sure of the implications of this from either end. Hopefully, it would not be too difficult from the prop end and we could then just use any browser on any platform.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2010-03-18 09:24
    I thought about that too but then you have to develop an interface to the browser that can be initiated from the server device as well. Then it all becomes complicated. Better to have a lean mean terminal that's not a resource hog either.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    *Peter*
  • TonyWaiteTonyWaite Posts: 219
    edited 2010-03-18 10:57
    Sam's RobotBASIC comes to mind ...

    T o n y
  • BradCBradC Posts: 2,601
    edited 2010-03-18 11:10
    TonyWaite said...
    Sam's RobotBASIC comes to mind ...

    Except it's neither open source, nor cross platform..

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.
  • Thomas FletcherThomas Fletcher Posts: 91
    edited 2010-03-18 14:35
    Would you really need anything extra on the propeller side? Why not just a smart terminal that can interpret certain strings as special commands like @button
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2010-03-18 14:52
    Thomas, sounds like you are new with micros and perhaps terminals even to really appreciate the desperate need. It's not about the Prop side of things really, it's about having a piece of software on the PC in place of a plain old terminal emulator. The terminal emulator normally just sat there sending keystrokes out as serial characters and receiving and displaying serial characters with some basic control and commands. There is absolutely no reason why we should just be happy with a terminal emulator, it's just a piece of software, may as well have some software that is more in line with modern interfaces. The Prop still communicates with it as if it were a serial terminal except for the fact that the terminal would be capable of so much more that it would probably not look like a terminal to the user at all and might be indistinguishable from any other PC software.

    I found something similar to what I am asking, it's a plea for Unix GUI reform: the Graphics Terminal.
    www.xs4all.nl/~evbergen/groklaw-gui-terminal.html

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    *Peter*
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-03-18 16:14
    I am not quite sure what you are suggesting Peter?

    I too am frustrated by the current GUI software on the PC. Most users are now unaware of the response times we used to get from minis and mainframes with the old text terminals. The terminals (pcs) are now so much faster yet, for instance, but data entry is so much slower.

    I have refused to move on to VB.NET because it just seems to be a more complex way of doing things, not easier. I have stuck with VB6 for that side of things, but the GUI is certainly not easy. And, it is not easy to port to other OSes such as *nix & mac.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • jazzedjazzed Posts: 11,803
    edited 2010-03-18 16:22
    Peter Jakacki said...
    I thought about that too but then you have to develop an interface to the browser that can be initiated from the server device as well. Then it all becomes complicated. Better to have a lean mean terminal that's not a resource hog either.
    @Peter,

    What you want to do is already possible by having the GUI in the Web Browser Client (Cluso99 mentions using a Web Browser) and running a Web Server on the Propeller. It comes down to writing JavaScript/HTML, etc... and storing it on the Propeller. A few years ago I did this and it worked very well for one Web Browser Client connection. It is though as you say complicated today, but a PC program can solve that.

    In short, it would be workable for a PC program to act as a "proxy" with the Propeller serial interface. The PC program would translate Web Browser requests and forward them to the Propeller and take responses from Propeller and stuff it into TCP/IP packets for the Web Browser. Using such a program removes the requirement to have Propeller running TCP/IP via a network interface.

    Added:

    On the other hand, keeping the complexity with Propeller (TCP/IP and maybe replace Ethernet with a SLIP serial port) provides a cross-platform solution with a Web Browser now without any PC or other platform programming.

    In any case using a Web Browser would require knowing HTML for page display and JavaScript or other for handling button events. It is not that hard and might actually enhance your skill set if that's what you want.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Short answers? Not available at this time since I think you deserve more information than you requested.

    Post Edited (jazzed) : 3/18/2010 7:37:07 PM GMT
  • ErNaErNa Posts: 1,752
    edited 2010-03-18 17:01
    Such a terminal is really, what is needed. Good old TEK-times. I use ariba's propterminal to do a similar job, but it's still a dos environment, so not "modern times". www.insonic.ch/propeller/prop_term.html I thought, one could use gnome gui designer and write an interface, but I'm not familiar with this type of programming and also fear the communication. If there is a project started, I anyway could give some contributions. ErNa

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cmapspublic3.ihmc.us:80/servlet/SBReadResourceServlet?rid=1181572927203_421963583_5511&partName=htmltext
    Hello Rest Of The World
    Hello Debris
    Install a propeller and blow them away wink.gif
    721 x 587 - 175K
  • phishguyphishguy Posts: 36
    edited 2010-03-18 17:09
    I started to write a similar program to Propterminal in Freebasic. There is example code listed in the following link. I never finished developing it though.

    [url=http:///www.freebasic.net/forum/viewtopic.php?t=14366&start=30]http:///www.freebasic.net/forum/viewtopic.php?t=14366&start=30[/url]
  • potatoheadpotatohead Posts: 10,261
    edited 2010-03-18 17:57
    Xterm includes TEK emulation, for what that's worth. 4096x4096 vector graphics capability for any network aware Prop! I'm sure this could be done serially too. Just load any reasonably complete X Window System server on your PC.

    Search for Tek 4xxx series escape codes, and the command line option for "xterm".

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    8x8 color 80 Column NTSC Text Object
    Safety Tip: Life is as good as YOU think it is!
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-03-18 19:42
    ErNa: That's a nice display from PropTerminal smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2010-03-18 22:32
    I don't want to use a web browser, I don't want a terminal, I want a small footprint application that launched by itself might look like a terminal or simply load to the system tray awaiting it's instructions. What gives the GUI terminal it's personality is what it is connected to through the stream, specifically our Prop device over serial. So in the first example it would be possible to make the interface look like a calculator and if the user uses the keyboard or mouse it doesn't matter. Terminals at present do not accept mouse position or clicks so that the Prop could know that a button it had defined was clicked for instance.

    Just stop thinking "terminal" although I am describing it as such because it replaces and supersedes a text (and graphics) terminal. It's a GUI which means a user interface based on graphics, not just graphics. When we write a simple VB application for instance we have a form designer and we can define the menus, the buttons, the dialog boxes etc. So imagine if we write an application that is able to display these buttons and menus etc at run-time under serial/stream control.

    I may have to sit down and cobble something together to get it started, I know what I want, what is needed, and that it would be a universal app just as the old terminal and terminal emulators were universal. With the GUI Term or whatever you could still do your default text stuff which I would always want too but like the Transformers it can transform into a calculator (interface) if told too.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    *Peter*
  • jazzedjazzed Posts: 11,803
    edited 2010-03-18 23:26
    Ok, but you should at least study the model for ideas. Good luck with all that.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Short answers?
    Not available since you deserve more information than you requested.

    May the road rise to meet you; may the sun shine on your back.
    May you create something useful, instead of just another hack.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2010-03-19 00:00
    Thanks jazzed, I understand the proxy thing that would do a bit of what I need I guess but browsers can become slow and still you don't get a stand-alone custom window. The calculator is a good example because you can see that the window is not an application per se, just a remote controlled screen. It places little demand on the O/S and requires little maintenance in regard to browser and other evolving standards. Some really old stand-alone windows apps still work and look the same they did in the 90's. The only smarts the GUI Term has is in being able to draw the objects and interact with them.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    *Peter*
  • TubularTubular Posts: 4,705
    edited 2010-03-19 00:23
    Peter,

    I think I understand what you're wanting, and agree there's a definite need. PhiPi has created neat "tuning" apps for the TSL1401 and bell modem, but the ability to generate these "on the fly" from the prop end would be very useful

    I'm imaging something like a VB form with a whole variety of components loaded but disabled and hidden. You then have access to all the normal object settings such as form.visible=true, size and positioning etc, using say serial escape strings. That much should be relatively straightforward, but doing the event handling for the returned information is where it gets interesting. I guess it would be possible to have the usual VB events (loss of focus, data change, mouseover etc) return an escape string back to you, with programmable content set by the prop side (and default to null strings initially)

    I think the advantage of a VB approach and language syntax is that we have some chance of being familiar with the commands. Not sure about cross platform though.

    There are several other approaches of course, but they tend towards a net/browser connection (eg SVG) instead of serial

    cheers
    tubular
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2010-03-19 00:50
    Yeah, that is a lot more like what I am saying. Being able to "create" these windows from the Prop end is what it is all about. As regards initial implementation I was thinking along the VB approach as well, and although I don't think we can create objects on the fly we can as you said make the hidden objects visible. Event handling should by default always send back something describing the event "Mouse over button 2" etc. At the moment I would just concentrate on one platform and getting something functional.

    Stream encoding can be implemented as 7-bit data + 1-bit control with all data and characters sent as multiples of 7-bits with the 8-bit bit set to zero. This makes it compatible with standard ASCII and by setting the 8th bit we are indicating a command or control to be interpreted far beyond the simple CR, LF sequences etc. Although escape sequences can be sent I always cringe at the thought of stream corruption and loss of synchronization that would result in a total misinterpretation of the message plus the incompatibility with binary data. I have used the 7+1 method for variable length fields and records packed in RAM and it is a very reliable method of marking what is and what isn't data, where a field begins. In fact many records would not even have certain fields at all while other records could have special fields added. To send binary data it would be sent as multiples of 7-bits so that 32-bits of information would perhaps have a marker or command code and 5 lots of data characters resulting in 35 bits of data over 6 characters, totally transparent.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    *Peter*
  • jazzedjazzed Posts: 11,803
    edited 2010-03-19 01:06
    Hmm.
    I suppose browsers can disappear and over time the transport/markup language definition can become obsolete.
    If your customer will use your product for more than 20 years, it would make sense to have that product.
    Being able to build the same product in 20 years for maintenance and/or enhancements is however dubious.

    Meanwhile, what you seek *is* available to anyone now in one form until you have the new system ready to go.
    Cheers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Short answers?
    Not available since you deserve more information than you requested.

    May the road rise to meet you; may the sun shine on your back.
    May you create something useful, instead of just another hack.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-03-19 02:29
    I think I understand what Peter wants. Ok, when I talk to a propeller I don't use Teraterm or Hyperterminal (though I can). I tend to use my own vb.net program which has multiple tabs and multiple rich text boxes. I might have an sbasic, c and assembly program open all at once, all able to be compiled and downloaded to the propeller with one keypress. It is a constantly evolving program in itself and indeed, I often am running it uncompiled from vb.net rather than the compiled version as I think of extra things to add (the latest for instance was trapping error messages from the c compiler as they came back from the simh).

    I've got VT100 already working in vb.net. So, how hard would it be to add some more commands? I don't think it would be hard at all. Consider a form in vb.net and you put some rich text boxes on the form and some buttons and a few other things, and then you make most of them hidden. Then you write some 'new' VT100 escape sequences. But these all borrow syntax from html instead. So you could now send an escape sequence to change the size of the form. Another escape sequence to show a button, with its location. Another to change the text on the button. vb.net could handle doing each of those with a couple of lines of code. And from the propeller end, if the code looked like html then it would be familiar and easy to edit. Indeed, it could even be pure html and you could run it through a simple spin routine that adds ESC[noparse][[/noparse]html to the beginning of each line before sending it out the serial port.

    Just a thought...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Jesse MasseyJesse Massey Posts: 39
    edited 2010-03-19 02:57
    I have something working in C#(if you do not have Visual Studio 2008 it can be downloaded for free from Microsoft), let me stress that it is vary bare minimum. I only wrote it to make sure that I am on the same page as you. What it does is if you send data over the serial connection it will parse it and display what you want(Button, TextBox). As of right now it only creates a Button or TextBox but I can expand it to anything that you want.

    I also don't have a Prop so I cannot directly test it, but I did write another program that sends the data over the serial connection and it worked fine. So we will have to probably make some adjustments to make this work with the Prop.

    Example:
    If you send it the following data: 1,20,100,200,300 the Terminal will display a Button with the height = 20, width = 100, LocationX = 200, LocationY = 300.
    If you send it the following data: 2,20,100,200,300 the terminal will display a Text box with the height = 20, width = 100, LocationX = 200, LocationY = 300.
    If you send it the following data: 0 the terminal will be cleared of all controls.

    My sending program sends the data as the following in C#:

    serialPort1.Open();
    byte[noparse]/noparse data = { 1, 100,20,200,300 };
    serialPort1.Write(Encoding.ASCII.GetString(data));


    I have started to write the part that will handle the Events that are sent back to the Prop, it is not finished yet.
    Also we can switch languages if you prefer, I am well versed in VB, VB.NET, C++, C#, and Java
  • UnsoundcodeUnsoundcode Posts: 1,532
    edited 2010-03-19 14:00
    I think for the greatest flexibility an application that adds controls at run time would ultimately be the best solution or the surface of the form could become too cluttered. I am thinking that perhaps the app would have a design mode and a run mode.

    In design mode the user would have a toolbox of controls and access to each controls property sheet for sizing color and location etc.·The toolbox would allow·future revisions·to include existing or new user controls such as LED arrays or dials/gauges .

    Some kind of naming convention would need to be formulated so that the user could quickly identify and communicate with a controls events , maybe parsing the name of the control to a letter and number.

    The less the Prop has to think about design and the easier it is to access the applications functions the better.

    It would be nice to be able to save a set of personal applications to configuration files for future use.

    Jeff T.

    ·
  • Jesse MasseyJesse Massey Posts: 39
    edited 2010-03-19 14:48
    Jeff,

    I think what you are suggesting is to basically create a custom app every time that you want to do something, or have the app pre-stored. Either way I think that is getting away from what he wants.

    The way I see it (and I could be wrong) is the Prop is running and it needs some information from the user, in this case it needs you to select something from a drop down box. So the prop clears the control surface and displays a drop down box and an accept button. After the user has selected the item and pressed the accept button the Prop reads the event and goes onto the next step which might be display a textbox to get some text from the user. This way the prop has complete control of the control surface.

    Jesse
  • UnsoundcodeUnsoundcode Posts: 1,532
    edited 2010-03-19 14:56
    Jesse , thanks for clarification , seems I took off running with my own ideas . Nevertheless an interesting topic.

    Jeff T.
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-03-19 15:57
    Getting interesting... Why does it have to be a pc though? It could be a prop "black box" with vga, keyboard, mouse, etc acting as the "GUI Terminal".

    I like Peter's use of the 8th bit, although that may cause language problems for other than english. I always hated the esc sequences that became long and complicated. For the ICL mini I worked on, to position text on the screen, we sent control characters... home,down,down....,right,right,.... Not quite as fast as direct cursor control but it avoided esc sequences. We used a macro to do this which also did left and up to get to the position in the quickest way. i.e column 41 did left x39 instead of right x41.

    So we could describe a widget like button as a group of control characters describing it's position, size, color, contents.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • Jesse MasseyJesse Massey Posts: 39
    edited 2010-03-19 16:19
    Cluso99,

    Somewhere you will have to define what the terminal will be, if we do not use a computer than we will have to create another device that will receive these commands from the Prop. So if you really wanted to get this to work we would need to create a list of generic commands that we could send serially that would describe the different procedures that the terminal must receive/send. After we created our list we could than began to build the terminals (either pc or a 'black box' or both) as long as the terminals know how to interpret those commands it does not matter what the prop is connected to.

    Jesse
  • ErNaErNa Posts: 1,752
    edited 2010-03-19 18:51
    I sometimes thought, it may be possible to have a list of linked objects, which represent a screen and can be modified on the fly. Just like a window manager changes windows. A way to reach this is shown in Gnome, where an XML file is read by an application, so screen design is separated from the "real" program. I made a CMap to show, how all the objects are connected and to understand, how it is done in OO. But, due to lack of time and being alone, I stopped those efforts. My goal is: have a PC program, that can be parametrized to display any possible object and have a remote control and parametrization from a prop. With a propII it should be possible to run the same sw directly on prop. The most important "software" is the data structure of the linked list. And having different interpreters in different languages to display such objects make software portable.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cmapspublic3.ihmc.us:80/servlet/SBReadResourceServlet?rid=1181572927203_421963583_5511&partName=htmltext
    Hello Rest Of The World
    Hello Debris
    Install a propeller and blow them away wink.gif
    pdf
    525K
    GTK.pdf 525.2K
  • jazzedjazzed Posts: 11,803
    edited 2010-03-19 21:47
    Jesse Massey said...
    Also we can switch languages if you prefer, I am well versed in VB, VB.NET, C++, C#, and Java
    Nice and simple code Jesse. Several people here prefer non.net solutions (I'm not biased either way). Do you write Qt C++ applications?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Short answers?
    Not available since you deserve more information than you requested.

    May the road rise to meet you; may the sun shine on your back.
    May you create something useful, instead of just another hack.
  • Jesse MasseyJesse Massey Posts: 39
    edited 2010-03-19 23:09
    I could switch it over to Qt if people wanted to go in that direction.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2010-03-20 07:50
    Qt makes a lot of sense because it is also free and open-source and cross-platform and is setup for designing GUI programs and widgets. I have all the tools as well so all I need is to come up to speed for my part.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    *Peter*
  • Chris MicroChris Micro Posts: 160
    edited 2010-03-20 08:25
    Some time ago, I was thinking about a terminal client for a PC too.
    The main issue if you use a serial line is speed.
    Therefore I use a "data stream" concept for data transmission.
    This means that all characters coming from a propeller will go directly to a "window object". To switch between the window objects, there is an escape character defined ( I chose 0xFE ). If this escape character is detected, the terminal knows that a command will follow. This command can be used to switch between the window objects.

    Here is my example

    Post Edited (Chris Micro) : 3/20/2010 10:25:40 AM GMT
Sign In or Register to comment.