Shop OBEX P1 Docs P2 Docs Learn Events
Javelin Stamp Ide BETA - Page 2 — Parallax Forums

Javelin Stamp Ide BETA

24

Comments

  • aprunickiaprunicki Posts: 44
    edited 2007-06-11 03:26
    Peter,

    Sorry for the delay - this ended up being a busy day.

    This looks MUCH better. I like the expandability it affords, not to mention the simplicity of the API should mean more code re-use.

    Do you see anything in this new API that would preclude non-Windows operating systems? As you may recall, I am a Linux user and wrote JavelinTools, which allows Linux users to program a Javelin. I have recently begun working on JavelinTools again after taking a break for a few months, and would be glad to add this same support there as well. Linux has the concept of pseudo terminals, whereby two programs can talk to one another. This looks to be fairly similar to the com0com program for Windows.

    Would command 28 be accompanied by a string to indicate the name of the terminal/port/file? This way you could specify say COM5 on windows. or /dev/ttyS4 on Linux.

    I would be glad to collaborate with you on the details of this new API. Feel free to email me directly if you feel this would be beneficial.

    - Andrew
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-11 04:23
    Andrew,

    The command open (28) would have a few string parameters after the type.
    For terminal: 28,0,"name"
    For file: 28,1,"name","mode"
    For connection: 28,2,"name"

    For terminal, name would be the·title in the terminal window.
    For file, name includes path, mode is "rb+" or "wb+"
    which reminded me, FileIO also requires a delete command
    to remove temporary files. Mode could be done by specifying different types
    making the command simpler: 28,type,"name"
    For connection, name would be the comport name.

    This should work with Linux as well.
    Edit:
    Maybe we can simplify it further:
    use code 27 (ESC) for commands.
    ESC,command,parameters
    command 0 is switch to main message window
    command 1 is open terminal
    etc.
    All the other codes are then reserved.

    regards peter


    Post Edited (Peter Verkaik) : 6/11/2007 5:05:40 AM GMT
  • Jon KeinathJon Keinath Posts: 146
    edited 2007-06-12 01:30
    Peter -

    Here is the screen grab.

    attachment.php?attachmentid=47674

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -Jon
    www.jonkeinath.com
    756 x 696 - 101K
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-12 06:16
    Jon,
    To get those special characters into Javelin IDE, they should be mapped
    into the range 0x0080-0x00FF (characters like
  • aprunickiaprunicki Posts: 44
    edited 2007-06-12 15:38
    Peter,

    Thanks for the reply on Linux compatibility.

    Do you have any thoughts yet on how the IDE will know the length of the passed-in string? Null-terminated or a leading byte length?

    The idea of code 27 for commands is a good one IMO. It adds just the kind of easy extendability that should prove useful. I assume one of the commands you were thinking of was to delete a file (per the earlier part of your message), or were you thinking to just have code 27, with all commands (open, close, read, write, etc.), passing through?

    Regards,

    Andrew
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-12 17:22
    Andrew,
    The length must be passed as parameter, because that is how CPU.message() works
    and also the only way to be able to pass any value, including nulls.
    If you take my JideTerminal.java as an example, these kind of classes can of course
    use null-terminated strings as parameters. It is up to the library code to pass
    messages on using CPU.message().

    Lets say that code 27 in the first position of the data array passed to CPU.message()
    is a triggerbyte for the IDE.
    The 2nd byte is then a command byte.
    See the attachement how that would work out. (only a few·commands are implemented).
    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-13 13:25
    Jon,
    Attached is a font where I mapped the parallax font graphic symbols into
    the range $A0-$FF which corresponds to ALT-0160 to ALT-0255.
    The normal characters are like courier new, but slightly wider spaced.
    The parallax oscillator symbol ($7F) is not printable.
    If you think that symbol is more important than, for example, the flipped exclamation mark ($A1),
    let me know and I put the oscillator at $A1. Or else which other graphic symbol to sacrifice.

    regards peter
    ·
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-13 14:48
    A new beta has been posted to the first post in this thread.
    bug fix JavaDoc and Comment style, the settings were saved but not restored properly. This is fixed now.

    Jon, for the graphic symbols I think you should select normal style, preferable for JavaDoc.
    So you would enclose schematics between /** and */
    That leaves italic style for comments inbetween code.

    regards peter
  • Jon KeinathJon Keinath Posts: 146
    edited 2007-06-14 02:22
    Looks good peter, I will do more testing this week. Thanks for all your work on this.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -Jon
    www.jonkeinath.com
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-14 09:47
    A new beta has been posted to the first post in this thread.
    ·bug fix, doubleclicking on compile/link error in status window did not jump to correct place in file. Fixed.

    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-14 13:23
    Jon,
    I noticed the font file missed bevel2 symbol, so I decided to sacrifice the flipped exclamation and
    flipped questionmark in favor of the oscillator and bevel symbol.

    In notepad the symbols appear to be tight together (as they should) but in
    the javelin ide there is a pixel inserted between characters. According to some
    forums I searched, this is due to the highlighting done by the SynEdit module used for editing.
    (SynEdit reserves an extra pixel to support bold). The fix that might work is to
    provide a monospace font, where regular and bold have the exact same fontsize.
    If you can·generate these fonts from the attached one then
    all symbols should be tight together without the additional pixel inbetween.

    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-14 17:41
    A new beta has been posted to the first post in this thread.
    · bug fix, now handles all exception errors when clicking menu commands while no files are open.

    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-15 12:42
    A new beta has been posted to the first post in this thread.
    · bug fix, menu Edit->Show code templates now operating
    · bug fix, Debug window "run" line now fully selected in editor window
    · Added linenumbers to the editor windows
    · Added linenumbers to the printer output
    · Added date,time,filename,pagenumber to footer of printer output

    The template code list remains active until you select a template or
    click right besides the help keyword on the·menu bar.
    This allows you to set the cursor at the insertion point in your file.
    The template code will insert at that point (indenting if necessary).

    The "run" line in the editor window when debugging, is now fully selected,
    making it easier to see what code the program is about to perform.
    The "breakpoint" lines are only temporarily fully selected, either when
    setting a breakpoint or when the run line executes a breakpoint line.

    regards peter


    Post Edited (Peter Verkaik) : 6/15/2007 3:53:27 PM GMT
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-19 17:31
    The latest beta at this moment can be found at this thread
    http://forums.parallax.com/showthread.php?p=656527

    It resolves some issues with javelins on a Professional Development Board and Board of Education USB.
    Until I get some positive feedback that the fixes presented there also work for
    other people I will not upload it to this thread.

    In the meantime I like to hear what needs to be added, changed or corrected to the beta.
    I think most bugs are fixed and the beta is fully functional.

    regards peter


    ·
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-26 13:23
    A new beta has been posted to the first post in this thread.
    · Completed download command (downloads jemfile to javelin)
    · Commands link and program now create jemfile if link succeeds
    · This beta includes the fixes for usb connections Professional Development Board and Board of Education USB.
    · This beta requires the modified Terminal.java (which also works with official release 2.0.3)

    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-06-29 09:42
    A new beta has been posted to the first post in this thread.
    · Bug fix, after some runtime errors, the comport was not correctly closed so a following program command
    · could not find the javelin.

    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-07-03 15:32
    A new beta has been posted to the first post in this thread.
    · Bug fix, status messages Read Only / Modified and Overwrite / Insert now reflect the status of the file in focus.

    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-07-03 21:08
    A new beta has been posted to the first post in this thread.
    · Bug fix, editor options color settings, though saved and read from registry correctly, were not activated in
    · the editor windows. Fixed.

    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-07-06 15:22
    A new beta has been posted to the first post in this thread.
    · Fixed and added message window cursor control. Added visible cursor to message window.

    You can use the attached test program to try it out.
    Note that the visible cursor in·the message window is in fact a selection.
    This means that when you click inside the output window, the cursor disappeares
    until new characters are printed. When I find out how to set the·colors
    of a single character without using selection, I will change it so it will not interfere
    with a user selection.

    regards peter
  • Don FrenchDon French Posts: 126
    edited 2007-07-06 15:28
    Peter, can you look at tabbing issues in the editor when you get a chance? Sometimes tabbing moves you 30 or 40 spaces, for example.
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-07-06 16:22
    Don,
    Tabs are smart, that is tabbing makes the cursor jump in relation to the line above

    · static char[noparse]/noparse DEL·· = new char[noparse]/noparse{127};·· //delete character at cursor
    · ^····· ^····· ^···· ^ ^·· ^············· ^······· ^········ ^· ^···································································

    regards peter

    Post Edited (Peter Verkaik) : 7/6/2007 4:26:57 PM GMT
  • Don FrenchDon French Posts: 126
    edited 2007-07-06 16:26
    I didn't know that, and it is very cool, but it is on blank lines that I seem to have the trouble. I just want to tab 5 spaces and it goes 50 sometimes.
  • Don FrenchDon French Posts: 126
    edited 2007-07-06 16:28
    Oh, you mean it tabs according to the line above the line you are on? Hmm. That might work sometimes, but a lot of the time that is a little too smart. Maybe a toggle to switch between smart and whatever the alternative is called.
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-07-06 16:30
    I can't reproduce that behaviour. Even with multiple blank lines, the tab behaviour is
    as described.
    Do you have a file in which that occurs that you can post?

    regards peter
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-07-06 16:35
    I think I can add an editor option, a dropdownlist for tabsize:
    smart,4,8
    (Tabs are·translated to spaces in·the process).

    regards peter

    ·
  • Don FrenchDon French Posts: 126
    edited 2007-07-06 16:46
    The editor option would be nice.
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-07-07 09:10
    A new beta has been posted to the first post in this thread.
    · Added editor options: Smart Tabs, Smart Tab Delete, Auto Indent

    regards peter
  • Don FrenchDon French Posts: 126
    edited 2007-07-07 17:56
    You are so good, Peter!
  • Jon KeinathJon Keinath Posts: 146
    edited 2007-07-08 00:33
    So far the updates are great!

    I have a couple issues with the new "Smart Tabs". You can no longer select a group of text and indent or un-indent it, it just deletes it. This will cause major headaches when trying to realign blocks of code so everthing is indented properly. I also used to have tab set at 2-spaces (or was that just what it came set at?) for the same purpose of easily lining up code so I can't just remove the check mark.

    I'll use a simple example to try and explain this better...


    while (true)
      {
      System.out.println("Line of text here");
      System.out.println("More text here");
      System.out.println("Error");
      }
    
    



    Now if I wanted to add an if statement...

    while (true)
      {
      if (ErrorFlag)
        {
        System.out.println("Line of text here");
        System.out.println("More text here");
        System.out.println("Error");
        }
      }
    
    



    I used to be able to just add the "if (ErrorFlag)" and a "{" then select the print messages and hit [noparse][[/noparse]tab] and everything would line up, with the new tabs I would have to hit [noparse][[/noparse]space] a bunch of times to line everthing up.

    Thanks,

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -Jon
    www.jonkeinath.com
  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2007-07-08 02:39
    Jon,
    The version 2.0.3 uses a commercial editor component.
    The beta versions use the open source editor component SynEdit.
    I can only use public properties and functions, so to be able
    to use future releases of that component.
    The new editor options just set or clear some public properties of SynEdit.
    I checked the version 2.0.3 and see what you mean.
    At present that editor behaviour is not available (and was not available for all beta versions).
    But maybe SynEdit has something simular. I need to check that out.
    Also, SynEdit converts tabs to 8 spaces, meaning tab positions are fixed to 1,9,17,25...
    when you uncheck 'Smart Tabs'.

    regards peter
    ·

    Post Edited (Peter Verkaik) : 7/8/2007 2:48:48 AM GMT
Sign In or Register to comment.