Jump to content

Development Tools


 Share

Recommended Posts

Hi Guys,

I'm hoping you can lend me some advice on a few things. I'm looking for software to perform the tasks below. I'd like them to be Freeware/Open Source/Functional Limited version (like eagle), but I'm willing to pay for the software or hardware if needed.... Also, a certain level of complexity is preferable - I want to keep the apps as simple and easy and quick to use as possible, and yet I don't want to be uncomfortably limited in my workflow by under-spec software. So.........

Code Debugging

- ASM and/or C, mixed code supported

- ICD2 required?

How do you guys go about debugging code for MIDIBox? Are you using something like the ICD2 (Which I gather feeds the PC back to MPLAB for debugging in the pre-compiled code? I don't know...) Obviously we could code, send it via MIDI to the bootloader, and if there are problems, fix them up, and upload again....but I can imagine that for more complex code, this could be a time-consuming way of doing it...

Does the ICD2 even work with the bootloader/uploaded app, or does it only work with apps burned directly to the PIC from the burner?

Schematics/Circuit Emulation

- Simple, quick and easy. Something like Eagle's schematic designer only with simulation features would be great... I've seen many, but I don't really know enough about this stuff to tell a good package from a crap one. Heck, until now I was doing all my simulations in excel  :o From the packages I've seen, some are FAR more complex than I need. It's not an easy decision for me, hopefully you can tell me what you are using.

Panel Design

- Drag'n'drop of controls, LCDs, LED's etc onto a grid would be great... Just want to be able to throw something together quickly. I guess that's just a vector gfx app with some templates for controls? Wilba put me on to Zoner Draw which is great, but not a freebie, and my trial is running out.

Hope you can make some suggestions. I can work around these issues with existing softare, but it's taking me a long time to do things which I am sure can be done more easily... Please share your thoughts! :) Thanks :)

Link to comment
Share on other sites

Wow that was a deathly silence  :'(

Did I get no response to this because:

A) Noone else knows the answer either

B) This is one of those stupid questions that is answered somewhere else and you're all ignoring it in the hope that I'll look around the site some more and find the answer (honestly, I looked for many hours! I found *some* info, but not a lot, and certainly nothing that solved my problems)

C) Nobody likes me

D) Other

Please don't take this as a "hurry up" :) I'm not trying to rush anyone! Just not sure if I am waiting for something that isn't coming...

Link to comment
Share on other sites

D) Other

As far as I know none of those tools exist in the form you've described.

Code Design: I personally write my code in C and ASM, compile, upload, watch the MIDI response, edit, recompile and re-upload.

Schematic/Circuit Emulation: For MBHP? I don't see a need for it - the boards are simple enough that emulators aren't

                                      needed. Those that do exist are intended for commercial board design and are prohibitively

                                      expensive from what I've seen.

Panel Design: Again, nothing out there that does what you want, AFAIK. I use Schaeffer or Photoshop myself and calculate

                  the dimensions in my head.

Sorry to be a downer - I just don't think the tools you're looking for exist (at a reasonable price, at least).

-drin

Link to comment
Share on other sites

Hi stryd_one, don't worry, it's not C)  :-*  ;D

But I suppose, Mac-Tools won't help you.

But you could use the C-Debug stuff I posted to the wiki in an IDE of your choice.

The IDE for Win in the C-Thread mentioned the last days seems to be quite a nice thing.

And implementing the C-Debug Files is really easy.

I guess it prevented me from about 100 test-uploads to the core and saved me about 255 hairs that I'd have else ripped from my head.

The concept is:

target => debug: build, run in the STDIO console, inspect vars, watch console output etc...

target => my_application.syx: build, upload to the core.

I have only one MIOS_debug.c file for two current projects, so it should be easily adapted to your needs.

I added Bankstick support yesterday (geez, that would've been impossible to do without C-debugging!), but haven't updated the files in the wiki.

Is this kind of an answer you wanted to hear?

:-\

Link to comment
Share on other sites

Stryd,

For simulation go and save money as you will like this tool: http://www.labcenter.co.uk/index.html?/products/vsm_overview.htm

As far as i know it's the only sim around that has a microcontroller that is a bit affordable.

You can also design pcb's with it. You can put in code and simulate. Even attack a lcd and view what happens

For pcb only if you know french http://b.urbani.free.fr/pagetci/tci.htm

For frontpanel design hmm i bought frontdesigner for 36 euro's It can make some nice scaling. However i still preffer on some occasions schaeffer.

http://www.abacom-online.de/html/frontdesigner.html

Anyway i can post tons of links but i preffer all of the above.

Link to comment
Share on other sites

As far as I know none of those tools exist in the form you've described.

<snip>

Sorry to be a downer - I just don't think the tools you're looking for exist (at a reasonable price, at least).

All good man, thanks for the advice though :)

For the coding/debugging, I've done the same as you in the past, but I think it might be a bit much for developing a whole new app from scratch :\

The good news is that the C-Debug stuff seems to be far more powerful than I had previously realised, and I think that using that, and then later on taking TK's method ( http://www.midibox.org/forum/index.php?topic=199.msg888#msg888 ) Should keep me in good stead... Although the ICD2 did seem like it would be great, if it would work... But I suspect that it will not?

The circuit emulation stuff is actually for other MBHP-related things like the MBFX, MIDI Guitar, SRAM interface, etc... I'll live without it I think, as you said - they are reaaaallly expensive.

Thanks again for the advice :)

Link to comment
Share on other sites

Hi stryd_one, don't worry, it's not C)   :-*   ;D

But I suppose, Mac-Tools won't help you.

But you could use the C-Debug stuff I posted to the wiki in an IDE of your choice.

<SNIP>

your needs.

I added Bankstick support yesterday (geez, that would've been impossible to do without C-debugging!), but haven't updated the files in the wiki.

Is this kind of an answer you wanted to hear?

:-\

Ahh I didn't quite realise what the C-Debug stuff was all about... Like, I knew what it was a debugging tool but didn't realise it was a simulator, that's mad... I should have read the source code before! I'm sure it will help me no end, thanks man! I'll have to extend it's capabilities somewhat, but that's not a problem, and of course then I will be able to share that with everyone too :) Looking forward to seeing that bankstick support added, of course ;)

What's mac-tools? Man if I need to run a mac to get a perfect solution, then I'll run a mac :)

Link to comment
Share on other sites

Just to remind:

MIOS functions are available for both your Application and for your debugging needs. This is what TK has suggested in the past. As modular coding/ debugging practices.

Moebius

Thanks Moebius. I think I am now starting to fully comprehend the meaning of that advice... The C-Debug that audiocommander has written would be a good example?

I think this is the difference between REAL software developers and the rest of us... I mean, I can alter most applications on most different platforms to customise them to my needs, but when it comes to the nitty-gritty stuff like debugging procedures and writing apps from scratch, I think things become far more complex... I'll get there eventually, I'm sure. I just have to keep learning (and trying hard not to bother the forum too much) ;)

Link to comment
Share on other sites

Thanks TwinX :)

That simulator looks pretty badass! I was actually after something for analog only type stuff but hey, that'd do the job, and then some! ... She's mightily pricey though... Might stick with MS Excel and my brain for a little while ;)

That frontpanel thingy looks a lot like Schaeffer, but... What I'm after is more like something for the buttons knobs and sliders, then I can figure out where the holes go afterwards... It's more to get an idea of what the UI would look like, than to make a template for drilling/CNC. Sounds like photoshop or GIMP or something might be the go?

No need to post all your links man :) I was really after just what you gave me - your personal and professional opinion :)

Link to comment
Share on other sites

The C-Debug that audiocommander has written would be a good example?

Not really.

The C-Debug Code is used one step earlier :)

To simulate quickly (type analog in -> get behavior of your app); to walk through step-by-step (instruction by instruction) and to check if the program flow is right. And being able to watch when/if variables change their contents.

Typically you can avoid these errors:

- D'oh, the LCD has to be updated here!

- What's that char coming from?

- Why is AIN5 refusing to take 0 as input?

The MIOS SysEx Debug functions are handy if you want to watch what's going on inside the PIC. There is a textfile called mios_sysex_implementation.txt where it's described how to trigger functions and peek into contents of address-ranges. Most of it can be done within MIOS Studio...

The main difference is (AFAIK) that if you call a function by SYSEX, you get a return value, but if it's wrong, you might not know for sure why. Next point is, that you don't need to upload your application to realize that there are errors. And there are always errors. Anytime  ;D

Regards,

Michael

Link to comment
Share on other sites

I was more referring to the post that Stryd dug up.

OR when You're capable of coding to MIOS and got application running and You see some strange behaviour - with modularized coding (and understanding interaction with MIOS), It's easy to add few lines code to see on LCD or in MIDI message what is happening and where.

I think the problem with ICD2 was that it claims a couple of IO pins for itself and needed it's own debuging code added to the program running on the PIC.

For circuit simulation, Linear has its own "LTSpice/SwitcherCAD III", http://www.linear.com/company/software.jsp which despite of its description and name is a full blown SPICE III compatible simulator.

Moebius

Link to comment
Share on other sites

Thanks AC I think you mean the MIOS_DEBUG stuff, I did read up on those functions before, but I misunderstood Moebius

... I guess that my current app development workflow would be :

Write code in C

Wrap it in C-Debug

Debug it there

Compile for PIC and up it to MIOS on the core

Use MIOS_DEBUG functions and TK's tricks of the trade

Enjoy

Yeh, should be a walk in the park ;D heeheheh

SPICE for circuit sim

And GIMP for facepanels

All free too. You guys rock, THANKS!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...