Jump to content

johnh

Programmer
  • Posts

    116
  • Joined

  • Last visited

Everything posted by johnh

  1. I googled "introduction to c programming" and this was the first hit: http://www.le.ac.uk/cc/tutorials/c/ If you've programmed before just about anything should give you an overview of the language, it's syntax, datatypes, etc. After reviewing such material download the MIOS c skeleton and start working through it referring back to the reference material as you try to understand what you're reading. Get the 'build enviroment' set up and try to build the c skeleton without any changes. See if you can load it into the core. Then try and write something to the LCD. Just stick with it... taking small steps. If you've programmed before the basics of c will come quickly. MIOS doesn't require the esoteric stuff.
  2. johnh

    DOUT R3

    This is a question for SmashTV I suppose.... The new DOUT R3 has provisions for loading ULN2803s for driving relays and such. Is there any provision for a separate input voltage (say 12v) for the ULN2803s? In many applications, higher voltages ( >5v) are required for solenoids, i.e. pipe organ valves.
  3. Have you looked at 'J5 Din' in the MIOS downloads section at ucapps.de? (is that one line?) ;)
  4. It looks like you can get a 49 Key version w/ MIDI for about $70 on eBay. There are 61 notes versions as well, looks like a couple of different manufacturers are making these... ---john.
  5. I'm in the dark ages... I'm using TextPad on Windows. Two clicks gives me a .syx file. Then another two clicks in MIOS Studio and I'm testing my code. Works for me!
  6. Me Too! ;D
  7. I was surprised the compiler used a C subroutine to handle the division in my original version of the function. If we wanted to be really efficient we could write the whole thing in ASM ;) ... I'd really rather just stick to C and use as many techniques as possible to keep the code/data reasonable small and efficient. The DIV and MOD experience is now tucked away so it's something to think about next time I need something like that. Actually the loop will run fewer times for low notes. In fact, for C-0 though B-0 the loop won't run at all!
  8. Hi, I have a similiar function in a program I'm working on. In my version I used DIV and MOD which eliminates the need for the loop that you have. But looking at the assembly code generated by SDCC I see that the DIV and MOD operators are handled by function calls to routines that are themselves written in C. So, a simple operation turns out to be not so simple when you look 'under the hood'. I took a look at your code, simplified it a little bit, and am now using it instead of what I had in my program. Here's my modified version of your function: void GET_NCHR(unsigned char note) { unsigned char oct=0;//octave number while ( note > 11) { note=note-12; oct++; } MIOS_LCD_CursorSet(0x00); MIOS_LCD_PrintCString(note_name[note]); MIOS_LCD_PrintBCD1(oct); return ; } I believe they are equivalent. Thanks for getting me to dig a little deeper and look at this problem in a different way.
  9. Hey, I read ucapps.de often! :) Some of us value the information there!!! ;D
  10. Just wanted to post and thank TK for all his efforts in getting the c programming environment set up for MIOS. I've done a little coding in assembler but the ease with which I can develop in c is simply fabulous. I'm working on a small box with 4x20 LCD and eight buttons that will be a 'keyholder' to assist me in tuning my MIDI controlled pipe organ. Thanks TK!!!
  11. I've been working with a working core + din4 this evening running the MIDIO 128 application. I then attempted to upgrade my core to MIOS v1.8. I think the upload failed but now when I power on I don't get any MIDI output and just a row of black boxes on the LCD. Did I brickify the PIC somehow? Hints? Debugging tips? This core has been working fine for some months.
  12. Hmm. Things are working again. Something must be flakey. Oh Joy!
  13. This page from mscdirect has a brief explanation: http://www1.mscdirect.com/HTM/2006/img/1752.gif 3003 is 'general purpose'
  14. McMaster Carr www.mcmaster.com 1/8" 12x24 3003 aluminum $27. Plus shipping of course. I checked www.mscdirect.com and they are a few dollar more. Good service can be expected from either company.
  15. Depends on price. But I have a need for a couple at least, probably more. Thanks for trying to put this together! ---john.
  16. I'd be interested in a kit (with source for lcd (or better, included)) if it could be reasonably shipped to the USA. ---john.
  17. First a disclaimer: I'm new here and if it weren't for SmashTV I wouldn't have built any Midibox hardware yet. I've spent a fair amount of money at his site and friends have done the same based on my recommendation. That being said: SmashTV writes: How was this 'price of admission' determined? If I had a production facility that could wave solder boards and I ran SmashTV's kits through it and only charged for the consumbles would that be kosher? Would that be any different than buying from SmashTV or the other board vendors? Given all the different facets of the Midibox project it would seem that basing the price of admission solely on being able to solder is a bit strange in my opinion.
  18. I found this on their website: There are two types of codecs: * "Special" codecs written exclusively for a control surface. These are required if the surface uses two-way communication (other than for identity request and setup). All surfaces with motorized faders, dynamic displays or meters must use special codecs. Special codecs are dlls under Windows and "loadable bundles" under Mac OSX. As of this writing, Propellerhead Software writes the codecs. * The Universal MIDI Codec. This is used for surfaces that use standard MIDI communication with no special features. For a surface to use the Universal MIDI Codec it needs a Definition File - a tab-separated text file listing the controls on the surface and identifying them against MIDI messages. Definition Files can be written by anyone. So it sounds like we need to get them to write a 'Special' codec for midibox... :-[
  19. Yes, that would be true. Pipe organs typically have similiar divisional couplers. Of course the shoe would only control the volume of the division it controls and not the others. So if you were playing on the great with the swell coupled you could control the volume of the swell only. And note that some pipe organs will also have a crescendo pedal that controls volume by advancing through a fixed set of registrational steps starting with the softest stops and adding louder and louder stops until essentially full organ is reached. But this is different than an absolute volume control as the nature of the sound is changing not just its volume. You might find it interesting to read the feature list for a modern, digital, church organ from Rodgers as you think about the features you are working on... http://www.rodgersinstruments.com/t967_features.html (I heard an instrument like this in concert just a week or so ago. Pretty impressive!) ---john.
  20. Hi, Based on your discussion and mention of SCPOP, in classical organs there are often uneclosed divisions with no volume control whatsoever other than by choosing different registrations. A three manual and pedal organ may have only one enclosed division (swell) with a pedal to control the shades. I suppose for residential use have a 'master volume' control would be useful! ---john.
  21. Actually you can wire-wrap successfully with a manual tool, the 'expensive pistol' is not a strict requirement. The problem is that wire-wrapping is best when you are doing intereconnections between lots of IC sockets and headers and such that already have the appropriate square pins on them.. With the MIDIbox modules a lot of the components don't have the appropriate pins and you end up soldering them onto appropriate pins anyway. With the price of good pc boards already available there is not much incentive to wirewrap. Wire-wrapping also adds to the vertical height of any board you build which can be important in low-profile enclosures.
  22. At long last the MIDIbox is finally a working part of my Residence Pipe Organ. The MIDIbox translates custom SYSEX messages into controller messages to interface the console of my pipe organ to ranks of pipes controlled via YAPPI boards (another PIC project). Thanks to my friend Craig for working on the code to do this. The organ console was built some time ago by another hobbyist and has 6 8051 microcontroller boards in it and now its first MIDIBox! The MIDIbox is inline between the stops processor and the MIDI merger.
  23. moebius wrote: Yes, "The Flat Ribbon Cable From HELL"!! ;D Why do people insist on torturing themselves soldering ribbon cable to the LCD? I find it much easier to solder a 14 pin single row header onto the LCD and then terminate the ribbon cable with single row connectors with insertable pins. I used 3 4-pin connectors and 1 2-pin connector because that is what I have on hand. I find it much easier to make good crimp connections on the connector pins (they can be reinforced with solder if desired) than solder the ribbon cable directly to the LCD. I suppose I should take some pictures and write this up... The only drawback I see is that the whole assembly becomes slightly deeper.
  24. Are you in the US? All Electronics has a 24x2 that should work for $4. I'd give it a shot... http://www.allelectronics.com/cgi-bin/category.cgi?category=365&item=LCD-107&type=store
  25. Jim Henry wrote: "To tie this to Midibox, if you do put second touch on a keyboard there is the issue of what MIDI message it should produce. Probably the most compliant to the MIDI standard would be a polyphonic aftertouch message with pressure = 64. However, in terms of using it with a virtual organ Note messages on an additional channel are probably preferred." I visited a gentleman this weekend with a 5 manual and pedal console. The bottom three manuals had second touch springs installed but no contacts. In fact, none of the manuals had contacts. He was using the Gulbransen (now MIDI-9) optical keyboard encoders and the second touch was indeed indicated with polyphonic aftertouch messages. Unfortunately his Mac based 'relay' was down and the organ itself wasn't playing (I don't remember how many ranks of pipes he has installed). Just FYI...
×
×
  • Create New...