Shop OBEX P1 Docs P2 Docs Learn Events
Project In Progress - New Serial Terminal, Taking Suggestions - Page 3 — Parallax Forums

Project In Progress - New Serial Terminal, Taking Suggestions

13567

Comments

  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 10:29
    Update

    See the attached file below to see how the first attempt looks with the tabs for the different com ports. Now that I have conquered the tabs, I am seriously contemplating the removal of them. Instead of using the tabs, I am now thinking that a seperate child window for each com port being used is a much better idea.

    Bruce
    516 x 329 - 20K
  • mindrobotsmindrobots Posts: 6,506
    edited 2011-08-23 10:36
    I'd vote for child windows so you can have multiple windows into multiple props visible a one time. This would make it a great tool for debugging multiple Prop applications. Watching debug data spew forth in all its multi-serial glory!!

    Tabs are limiting in that way for some purposes.
  • potatoheadpotatohead Posts: 10,254
    edited 2011-08-23 11:40
    Thumbs up on multiple windows. Much easier to manage.
  • MagIO2MagIO2 Posts: 2,243
    edited 2011-08-23 11:43
    Some more words about the font:
    The propeller definitely does not use unicode! All characters are simply coded as one byte. I have to admit that I don't know enough about windows programming, but isn't it possible to have a font with 255 characters? And if not, how difficult could it be to translate?

    But anyways ... thank you for your efford, Bruce ... I'd really appreciate if you'd make it open-source later.
  • tdlivingstdlivings Posts: 437
    edited 2011-08-23 12:42
    The Windows font file installed into Windows when you install the Propeller Tool is a Unicode Font.
    If your Windows Application wants to use say the circuit drawing characters it needs to understand Unicode.
    If you add even one of the special Parallax chars the Propeller Tool will switch the file format it saves your code in
    to a Unicode file. If you only use regular text and nothing special it saves as a plain old text file. I found also once it
    makes the switch it does not switch back, take out the one special char and it still saves as Unicode.
    It detects if it is a Unicode file by looking at the BOM (Byte Order Mark) at the beginning of the file . If it is a plain
    text file there will not be a BOM.

    Yes the font inside the propeller is not Unicode and can be used to display the special characters on a TV screen.

    Tom
  • potatoheadpotatohead Posts: 10,254
    edited 2011-08-23 12:45
    It is 512 characters though, switchable via the color palette bits contained in the tile / screen address array.
  • MagIO2MagIO2 Posts: 2,243
    edited 2011-08-23 12:55
    @potatohead:
    ????? Open the Propeller tool, Help, View Character Chart ... there are 256 characters

    Can't you read the ROM font and create a windows font out of it which is not unicode?
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 15:43
    I personally never studied fonts, because I always just used what was readily availabe for the GDI, with True Type Fonts being the most often used. And of course a TTF of the Propeller font would be most useful. I have searched C:\WINDOWS\Fonts looking for the Propeller font, but was unable to find it, so I am assuming that it is embedded as a resource of Propeller.exe.

    Another thing to consider, just because it is included with the Propeller Tool, that does not mean that the font belongs to Parallax, there could be another copyright holder. I would be interested in seeing the actual font file.

    For those of you that may feel ambitious enough to create a TTF, here is a link to Microsoft's Typography home page, where a lot of information can be obtained pertaining to fonts.

    http://www.microsoft.com/typography/default.mspx

    Bruce

    EDIT: What is the actual font name?
  • tdlivingstdlivings Posts: 437
    edited 2011-08-23 16:33
    Bruce
    The Parallax font gets installed when you install the Propeller Tool. If you have the Propeller Tool on the computer it will be there.
    To view it use Start - Accessories - System Tools and click on Character Map to run that
    In the combo box at the top select T Paralax

    I will have to look for the actual file. I believe it is owned only by Parallax and written by Chris Gracey and Jeff Martin

    Tom
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 16:34
    To Whom It May Concern

    Pertaining to the previously mentioned subject of tabs or multi-child window, here is what I have decided to do. I am going to use a Single Document Interface template for the terminal, but I am going to allow multiple "instances" of the same application, so instead having several terminals maintained by one window, each "instance" of the application will be able to support a com port. This sounds like the most down and dirty yet effective method of achieving my goal of being able to watch more than one com port.

    Bruce
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 16:43
    Tom

    Okay, that is strange. So the font is named Parallax, it is copyrighted by Parallax, and it is in the C:\WINDOWS\Fonts folder, but the Parallax.ttf file does not display the special characters, so I previously assumed this was not the font file for the Propeller. However font sizes 36 and 48 are garbled with characters atop one another, so perhaps the special characters are extracted somehow from the garbled characters.

    Bruce
  • tdlivingstdlivings Posts: 437
    edited 2011-08-23 16:51
    Bruce
    The Character Map application installed with Windows I refer to in my last post will display the Parallax Font characters . What each character displays is defined in the font definition for that character in the font file. Size does not matter. With that said I would not be surprised if very large characters did not scale up very well

    What are you displaying the font in that is not working

    Tom
  • tdlivingstdlivings Posts: 437
    edited 2011-08-23 17:02
    Bruce
    The font file is on my PC as shown with a clip of Windows Explorer.

    MyPCFonts.png
    551 x 278 - 32K
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 17:02
    Tom
    The Character Map application installed with Windows I refer to in my last post will display the Parallax Font characters.

    I understood that the first time, by using the quoted suggestion above, I realized that the Parallax.ttf font file actually contained the special characters, .
    To view it use Start - Accessories - System Tools and click on Character Map to run that
    In the combo box at the top select T Paralax

    The "T Parallax" is actually "TT Parallax", with the "TT" being a bitmap or an icon, so the actual font name is just "Parallax". The "TT" icon/bitmap in front of "Parallax" indicates that it is a True Type font, with a file extension of ".ttf".

    TTF font files are a native image file for the windows OS, so just click to open it and you will see the garble.

    Bruce

    EDIT: And as established by the second quoted suggestion above, the Parallax font character set is definitely Unicode.
    The Windows font file installed into Windows when you install the Propeller Tool is a Unicode Font.

    So Tom was correct.
  • tdlivingstdlivings Posts: 437
    edited 2011-08-23 17:13
    TomsCharMap.png

    Image of Tom's Character Map displaying the Parallax Font. Scrolled to upper part showing special chars
    462 x 517 - 72K
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 17:17
    Tom

    I understand that... Go back to the C:\WINDOWS\Fonts folder and double click the Parallax font file and you won't see the special characters.

    Bruce
  • tdlivingstdlivings Posts: 437
    edited 2011-08-23 17:43
    Bruce
    It appears that the quick preview app built into Windows that displays when you double click is not handling the Font file .
    However it is not attempting to display all the chars, ie special chars. Just a sentence at various sizes. Looks like it is not
    happy with what is in the Parallax Font file for defining a couple of sizes but it gets it correct for bigger size.
    The character map shows all of them and you can select them in Character Map and Copy and then paste them into Propeller Tool

    Tom
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 17:50
    Tom

    I suppose my point is that all the characters should be visible by opening the font file, take the Wingdings or Webdings font for example, all characters are displayed. I assume the Parallax font file is corrupt, because all characters should be visible by opening it.

    Bruce
  • tdlivingstdlivings Posts: 437
    edited 2011-08-23 18:03
    I just loaded Inductor.spin from the Propeller Lib into an editor that understands Unicode and there are some bad entrys in the font file all sizes up to 24 are fine but 26,36,48 are garbeled but 72 was fine.
    I am just selecting different sizes in the font selection dialog.

    The file works fine for all sizes you would normally use.

    I am not sure the app that runs is meant to show all chars it does not do it for say Ariel or others.
    Wingdings yes it shows more.

    Tom
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 18:09
    I am not sure the app that runs is meant to show all chars it does not do it for say Ariel or others.
    Wingdings yes it shows more.

    Hmmmm...... Interesting..... I did not try Arial, but I will take your word for it. However, instead of it being the app, I believe it would be the font file, perhaps it specifies what is displayed for viewing.
  • tdlivingstdlivings Posts: 437
    edited 2011-08-23 18:22
    Bruce
    Yes that is what I am saying in my last post. The font file appears to have some wrong
    data in it when it trys to draw certain sizes.

    I am off for the night, good talking to you
    Tom
  • UnsoundcodeUnsoundcode Posts: 1,530
    edited 2011-08-23 18:25
    multiple "instances" of the same application

    I think that is a good choice, you will have the same functionality without having to tackle the complexity of handling more than one port in the same application. This should allow you more time to focus on the rest of the app .

    Tom's explanation of using a graphics canvas as the output pane was very interesting, what is the general consensus on the usefulness of a terminal screen that suports the cursor "goto x y". Is the value of this type of display so minimal that it is really not worth the effort of the development time taken to create.

    Jeff T.
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 18:26
    Nice talking to you also Tom.
  • idbruceidbruce Posts: 6,197
    edited 2011-08-23 18:37
    @Unsoundcode
    what is the general consensus on the usefulness of a terminal screen that suports the cursor "goto x y". Is the value of this type of display so minimal that it is really not worth the effort of the development time taken to create.

    Of course I will get some feedback from this statement, but here goes :)

    The only time that I think it would be of particular value is for either formatting the output, which could be achieved to a similar extent by control characters or when using the Parallax font to line up characters properly, for schematics for example.

    Of course I feel the abilty to color text and background, plus allow copy and paste operations, far outweighs the goto option. However, a lot of people want the Propeller font enabled, and I am fairly certain that it must pertain to schematics somehow. That being said, I already have the serial communication programming, and it relies on rich text, and I don't believe I am willing to rewrite all the programming for GDI output. That would be a lot of work.

    Bruce
  • potatoheadpotatohead Posts: 10,254
    edited 2011-08-23 21:09
    Re: 512 characters.

    You are right! For some reason, the character interleave made me think there were 512. That's actually really great news, because yes, it can be made into a 8 bit windows font easily.

    So then, why exactly is the font UNICODE? That's really only needed when the set exceeds 8 bits of character definitions, isn't it?
  • idbruceidbruce Posts: 6,197
    edited 2011-08-24 05:12
    I have come across a "bit" of discrepancy:
    • Microsoft Port settings list Bits Per Second
    • Sample software lists Baud Rate
    From what I have read, apparently the two are not synonymous. Since I am basing this project upon sample code, I will provide the phrase Baud Rate. If it is incorrect, it is a simple change to rectify. Upon posting the source code, it would be nice if someone could point out the correct phrase to use as it applies to the software.

    Bruce
  • tdlivingstdlivings Posts: 437
    edited 2011-08-24 09:25
    Bruce, Jeff
    By all means keep it simple, get something going without all the features like goxy first. As they say build a kludge and learn from it.
    As far as goxy I come from the time of using VT100 terminals to display a grid of sensor values using the goxy commands. The Parallax
    Serial Terminal Object has a position(x,y) command that can be used to do the same thing.

    Bruce
    Baud rate and bit rate are different when you have a modem that has a fancy modulation method that can send multiple bits for every
    state change of it's output. For simple serial baud rate is equal to bits /sec .

    http://www.tech-faq.com/difference-between-bit-rate-and-baud-rate.html

    Tom
  • idbruceidbruce Posts: 6,197
    edited 2011-08-24 09:34
    Tom

    I don't know how long it will last, but I am on a roll now. I am currently getting all my "resources" in order, adding all the necessary GUI stuff, and background code for the GUI support. Here is a couples pics of the setting dialog box and the about box. As you can see from the pics, I will be naming the application "PropCom".

    Bruce
    381 x 381 - 33K
    314 x 147 - 10K
  • idbruceidbruce Posts: 6,197
    edited 2011-08-24 14:49
    Hello Everyone

    I just came up with what I think would be a nice feature, but I am not volunteering for this just yet. Anyhow I thought it would be nice to have a "FIND" feature to search the output for a specified string.

    This is just basically a note to "SELF", and to those that might be interested.

    Bruce
  • jazzedjazzed Posts: 11,803
    edited 2011-08-24 15:03
    Nice work so far.

    Cheers.
Sign In or Register to comment.