Shop OBEX P1 Docs P2 Docs Learn Events
Stand-alone debug display software — Parallax Forums

Stand-alone debug display software

I think we had that discussion several times, before. But it somehow has been forgotten. I still find this idea very attractive.

Would it be possible to seperate the graphical debug output display from PNut/PropTool so that a command-line program could be run that takes care of collecting the debug data stream from a serial port and displays it?

I'm currently developping drivers and low level code for my CNC controller project and have used the graphical debug features of the Propeller Tool a lot and with great sucess. But now I have to put the puzzle together and integrate all components into one big project. I'd like to use C as programming language for the mainl program and the higher level modules because it's better support of data types and structures. Eric has already done a wonderful job to make the mixed use of languages possible for the Propeller. But FlexProp doesn't support the graphical debug features (yet). And it would be a lot of work to write everything again from scratch.

I've already thought about paying him to implement that. But I fear that's no good idea because he had to spend much time on that again and again every time new features are added.

On the other hand, it shouldn't be much work to modify the Propeller Tool so it would be possible to read the debug data stream from a file instead of directly from the serial port. (key strokes and mouse input passed in the other direction are another story but I don't need that at the moement)

So all Eric would have to do is to redirect the debug data to a logfile. On a Linux machine this even could be a pipe so it'd allow real time display.

Being able to integrate all that into VSC would make development for the Propeller much more attractive to programmers being used to "standard" IDEs.

Comments

  • @ManAtWork said:
    Would it be possible to seperate the graphical debug output display from PNut/PropTool so that a command-line program could be run that takes care of collecting the debug data stream from a serial port and displays it?

    I think PNut supports DEBUG-only as a command line switch. Haven't tried it though

  • @Wuerfel_21 said:
    I think PNut supports DEBUG-only as a command line switch. Haven't tried it though

    Hmm, not so easy to tell. PNut_v34z -h or -help or ? doesn't show anything. There's also no Readme file included and Help - About in the menu also shows no useful documentation. But I finally found it in the Spin2 documentation:

    :)

  • Ah yes. Weird though that there's no download-and-debug or download-only mode. Still need loadp2 I guess.

  • Yes, a "load binary, download to RAM then start DEBUG" would be extremely useful. Downloading with loadp2 and starting PNut afterwards could have the problem that some data could be lost if there's to much delay.

    A "download-only to flash" could probably solve my VSC configuration problem, also.

  • delente cartago.

    Or a steady drip of water can put a hole into a stone.

    In my NOT SO HUMBLE OPINION, @cgracey should build a debugger Display with @rogloh's driver, most monitors I have, have multiple inputs, so the (K)VM is already there, one would just need a USB keyboard for input, or even PS/2 on the P2.

    Just daisychain in between Host System and development P2/P1 and have it catch the debug while sending out the rest to serial.

    Kind of a extended PropPlug with KBD and VIDEO, maybe even mouse.

    That would solve all OS problems, all software (flex/catalina/proptool/pnut/taqoz even MicroPython or GCC /LLVM) could use it running on anything os-wise, they would not see it.

    And would also solve the latency problems with OS'es, P2 to P2 might be able to transfer fast without delays.

    Could offer a lot, like fast Scope, logic analyzers, loggers for catching pin states, just use a Edge with RAM. Should be a nice product. Extended PropPlug.

    And maybe a Spin-Compiler and Editor too, to solve that self hosting one too, if wanted.

    just my two cents,

    Mike

  • We cannot have a "stand-alone" system until there is a proper and reliable file system for SD cards. When Chip is done with this flash storage object, I'm hoping he does a proper SD object for the P2. That opens a lot of doors.

  • I think @Rayman has ported Kye's driver to P2 and @Wuerfel_21 did too with support for parallel Audio Streaming.

    And there is @ersmith version of access to SD or Host filesystem, sadly not usable from PropTool-Spin.

    But I just mentioned self hosting to get Chips attention. Just having DEBUG on a P2-PropPlug would be awesome.

    Mike

  • pik33pik33 Posts: 2,350
    edited 2022-11-07 07:32

    @JonnyMac said:
    We cannot have a "stand-alone" system until there is a proper and reliable file system for SD cards. When Chip is done with this flash storage object, I'm hoping he does a proper SD object for the P2. That opens a lot of doors.

    Flexprop has SD card support. I have no problem with this for a long time.

    I even wrote a "MicroDOS", the program which starts from flash and search for binaries on the SD. Then it allows to select and run one of them - https://forums.parallax.com/discussion/comment/1539760
    For a PSRAM based system, we maybe can write a debugger that can use PSRAM to keep the debugged program and debug it from there.

  • @JonnyMac said:
    We cannot have a "stand-alone" system until there is a proper and reliable file system for SD cards. When Chip is done with this flash storage object, I'm hoping he does a proper SD object for the P2. That opens a lot of doors.

    OK, a true stand-alone system (with a P2 and OS in a seperate box) would be even more powerful. But that is a lot more of work and will have to wait, I think. There are things with higher priority (documentation!) that need to be finished.

    An additional "download-only" and "download and debug" option to PNut would be very little work as the features themselves are already implemented. It requires only adding the command line options and would at least enable graphical debugging with FlexProp running on windows.

  • @ManAtWork said:

    @JonnyMac said:
    We cannot have a "stand-alone" system until there is a proper and reliable file system for SD cards. When Chip is done with this flash storage object, I'm hoping he does a proper SD object for the P2. That opens a lot of doors.

    OK, a true stand-alone system (with a P2 and OS in a seperate box) would be even more powerful. But that is a lot more of work and will have to wait, I think. There are things with higher priority (documentation!) that need to be finished.

    There is certainly a "true", very powerful standalone system already there: Taqoz. :-)
    All included: SD File System, Multitasking Operating System, Console, Compiler, Assembler, Debugger ( you can inspect and change Cog Ram and Lut Ram ), capable of using all cogs and most important programmed in a way, that 512k Ram is plenty. I have not seen any instability.
    You can start a task in a cog and use the console in parallel to compile or whatever.
    Just a little bit "weird".....
    :)o:)

  • @"Christof Eb." said:

    There is certainly a "true", very powerful standalone system already there: Taqoz. :-)
    All included: SD File System, Multitasking Operating System, Console, Compiler, Assembler, Debugger ( you can inspect and change Cog Ram and Lut Ram ), capable of using all cogs and most important programmed in a way, that 512k Ram is plenty. I have not seen any instability.
    You can start a task in a cog and use the console in parallel to compile or whatever.
    Just a little bit "weird".....
    :)o:)

    Yes, and there is even a Logic Analyzer module written for it and routines for the VGA, and PS2 keyboard (haven't used them yet though) and also support for the wiFI to serial by means of the ESP32 module so all it needs is to stuff it in to a nice, durable enclosure...

    Weird it might be but so is Windows to some ;)

  • :# Yes, there are a lot of P2 based stand-alone systems out there. All those retro-computers, CP/M machines and console emulations... As they have their own display and keyboard they count as stand-alone. And some of them are really impressive.
    But that's not the point. Can they be used for debugging? And I don't mean hex-dumps and printf()s but convenient and efficient debugging. And that means tracing real-time signals with a scope display or single-step at source-level.

  • Flexprop has SD card support. I have no problem with this for a long time.

    There once was a nice x-platform project called Brad's Spin Tool. Brad, like Peter Jackaki, walked away from (abandoned, some would say) the Parallax community. Eric is a gifted programmer, but has no financial motivation to stick around. I'm not taking any chances.

  • @JonnyMac said:

    Flexprop has SD card support. I have no problem with this for a long time.

    There once was a nice x-platform project called Brad's Spin Tool. Brad, like Peter Jackaki, walked away from (abandoned, some would say) the Parallax community. Eric is a gifted programmer, but has no financial motivation to stick around. I'm not taking any chances.

    Eric has a patreon where does get some funding. Also, his stuff is open-source, so it won't bitrot away like BST.

Sign In or Register to comment.