Jump to content

ReinerS

Members
  • Posts

    50
  • Joined

  • Last visited

Everything posted by ReinerS

  1. Thanks! it works :-) Best regards Reiner
  2. Hi all, after getting my LCDs to work here is the next set of questions: I have an external application (Hauptwerk) that sends configuration messages via sysex. One type of message sends a 28bit signed integer spread over four 7bit-values. So how to combine them into one value? My attempt is value=byte1(MSB)<<21 + byte2<<14+byte3<<7+byte4(LSB), since all bytes represent 7bit integers and the result isexpected 28bit that should work, right? Related question: Is the int datatype in MIOS8 16bit or 32bit, and if it is 16bit, how do I define a 32bit value (if at all?). Second question: How do I get the number printed on an LCD? The functions itoa, sprintf, etc. are not part of the framework, so I cannot figure out how to convert a number like 105206 into a string. Anyone can tell me how to do this? Many thanks! I really appreciate the support by this forum! Best Reiner
  3. Thanks Bruno, that looks pretty clear now! I'll try it out int he next couple of days and report back. best regards Reiner
  4. Hello all, I read through a bunch of documentation and source files, but somehow cannot figure it out: I want to use three 2x16 character LCDs, so I understand I need to include the clcd_multi driver and I can use any free PIC pins for the enable lines. Since I am using analog inputs (not multiplexed) and no motorfaders it seems to me that RC1, RC2 and RC3 might be good cancidates. What I cannot figure out is which file do I need to edit to tell the driver which pins to use? Also, when using this driver, what happens with the standard LCD available in Mios? Is that disabled then? Many thanks for your guidance! Reiner
  5. FIXED! Using a very old version of Mios Studio (beta7.5) I was able to upload Mios via hex file upload in manual mode (this option does not seem to exist any more in the recent versions?). Now the PIC is booting and the LCD is displaying the normal Miso version message followed by READY! Neat! Following that the current Mios Studio is also recognizing the device. Interestingly it appears to have changed the ID from 1 to 0 in th process.
  6. Adding to my previous post: Putting in a PIC from a different piece of hardware MiosStudio reports a running application and the LCD shows the boot message and then the application specific data. This means: The core module itself is OK, the problem must be the PIC. The bootloader appears to be running, the PIC is periodically sending upload requests, but MIOS (even though it should be on there) is not starting. Also, the bootloader is not responding to messages sent from Mios Studio, which says "no response from ..", it does not detect the bootloader. Question: How can I fix this? Best Reiner
  7. Hi all, I am a bit at a loss in trying to get a newly built PIC based core to run. It is built using the PCB from SmashTV and a PIC preprogrammed with Mios 1.9f I still had lying around unused for some years now. Mios Studio shows "No response from ..." and cannot connect. The DeviceID is set correclty to 1, others don't work either. I did the following tests so far: Loopback test: removed the PIC, shortended pin 2 and 3 of J11: MiosStudio reports feedback loop, feedback works both for note and sysex messages. Putting the PIC back in (and of course removing the bridge on J11): MIDI In shows request messages from PIC (f0 00 00 7e 40 00 01 f7) at one per second. To me this implies that PIC is working and running the bootloader MIDI Out from PIC is working and connection to PC MiosStudio nevertheless reports "no response". That might now indicate that MIDI In is not working on the core. However, the loopback test worked, so MIDI In must work up to to J11! The connection to the PIC on the PCB looks ok, no Pins bent, so I would assume the signal is also reaching the PIC, but that is not responding. So now the question: What should I test next? Any ideas? Thanks and best regards Reiner
  8. Hello, I'm looking for someone who could program a PIC16F88 for me (I want to build the simple MIDI merger). I am located in Braunschweig, Germany. Best regards Reiner
  9. Hallo zusammen, ich benötige einen kleinen MIDI-Merger und würde dazu gerne das alte Design mit dem PIC16f88 verwenden, den PIC habe ich bei Reichelt bestellt, müsste bald ankommen. Kann mir jemand das hex-File von Thorsten da reinprogrammieren? Wäre toll! Viele Grüße Reiner
  10. Hello James, your plan is exactly how I started out with Midibox and my console, and for controlling stops and showing feedback on the console that works perfectly. What I have added is: - HW status display shows on LCD connected to Midibox(showing the organ loaded, transposer and tuning settings) - I am using auto-repeat for some buttons, this allows tuning to be set very quickly by holding a button (you can then see the tuning cents counter run up or down) There are many more things one could think of, I am sure. Reiner
  11. well, 84cts at Reichelt in Germany (www.reichelt.de)
  12. I think James really wants the type of switches used in digital pipe organs, even with engraved stop names. I think your only chance of getting those is really at a pipe organ builder supply store. There are several, but in general they do not sell to end users. A very big one in Germany is www.laukhuff.de, you can browse there catalog online. You may also ask a local organ builder, they will usually know where to get those things. I have been told that some of the digital pipe organ companies (like Ahlborn) also might be willing to sell such items to end users. So that would be another place to try. But be prepared to shell out a bit of money, I would expect these things to be around 10Euros/piece (or even more). Best wishes Reiner
  13. Hello Enrico, the first thing I would check in such a case is the supply voltage. Measure it at the core as well as the DIN modules. If it is +5V +/- some small value that should be ok, otherwise you might have found the problem. If the voltage is ok, then one can think about the next steps. Good luck Reiner
  14. Hi Mick, how exactly is your keying and voltage divider set up? You say you have a 15V keying system. Is there a well defined voltage any time (so it is switched between ground and 15V), or is it 15V when the switch is ON and OPEN (no defined voltage) when the Switch is OFF? In the first case, when it switches between 15V and 0V, you will only need your voltage divider (as you discussed in the other thread). There is no need for pullup or -down resistors on the DIN boards then. These are there to pull the inputs to 5V when the connected buttons are open (or no buttons connected). I'm not sure at the moment, but I think the behaviour of the 74HC chips is basically undefined with open inuts (please someone correct me when I'm wrong). Even in the second case, when you do have a complete voltage divider outside the DIN board, that would already provide the pulldown to ground when the switch is open. So you will only need the resistors on the board if you plan to use them as part of your dividers (in which case you would need a 30k resistor for the external ones). You should also be aware that the Midio128 software (and also the stuff I mailed to you) is programmed for negative keying, i.e. the switch is recognised as ON when the input level turns to zero. So you will have to change that in the software. (I think in the Midio128 you can do that with the sysex configuration that is provided to define all the messages). Reiner
  15. ReinerS

    U2MIDI

    will be interesting to see how the price compares to e.g. a Midisport Uno (M-Audio) and what operating systems are supported by the drivers. Reiner
  16. Hello Michael, thanks for the reply! Guess if PrintCString calls PrintChar repeatedly anyway, it won't make a difference. The problem I am having is that (due to a bug in Hauptwerk, which is the application I am interfacing with) I need to wait until I received the complete string and then fix it before printing. In Hauptwerk the two lines are not correctly written, so that the second line starts somewhere in the first line (when there is too little text in the first line) and then wraps around into the second line. At the end the whole thing is padded with blanks. Unfortunately I have no indication where the second line actually begins before I have received the complete message (I can then count the blanks from the end and shift the chars accordingly). I have found however that this procedure is too slow and was hoping I could speed it up by printing the strings directly. Guess I'll have to think of something else until the bug in Hauptwerk ges fixed or just live with the poorly formated output. Thanks Reiner
  17. Hello Rio, did you find a solution to your problem? I'm just facing the same, I need to print out a non-constant string. The only way I can make it to work is repeatedly call MIOS_PrintChar, but that just can't be the solution! So question: How do I print a non-constant string? Where does this have to be declared to work? Many thanks Reiner
  18. Hallo Thorsten, actually this rate works just fine for the purpose! Hauptwerk can be tuned in 1ct increments, so it takes about 3 seconds to detune to the max (1 semitone). This is perfect! Best wishes Reiner
  19. Hi all, I have modified the MIOS-C ain64-din128-dout128 example to do some special tricks for the Hauptwerk virtual pipe organ software. It can currently be used to: - Control HW stops from the console (using DIN) - Control LEDs on the stop switches (using DOUT) - Display HW status message on LCD display - Use autorepeat on buttons assigned to HW tuning input so that tuning gets faster. This code is very specific to my hardware setup (regarding pin assignments), but can be used as a starting point to customise to your own setup. I am not using it to scan the keyboards, since I equipped my console with a MIDI encoder for the keyboards long before I ever found the Midibox project (its using the MONA encoder from Doepfer, which is not being made any more). I don't think this code is of general interest to the community here, but there may be some people who are also using Midibox in connection with Hauptwerk and who might find this interesting. If you do, I can mail it to you. Best regards Reiner
  20. Hello, I noticed the DIN_autorepeat function in the MIOS documentation. What I cannot find is any hint about the repeat rate. Is there perhaps even a parameter that one can use to set this? Many thanks Reiner
  21. Hello, just to close this topic: I have now switched to MIOS-C-programming starting from the ain64-din128-dout128 example. This way I was able to get the results that I wanted fairly quickly and without worrying about assembler. So I can only heartily recommend MIOS-C programming! It works very nicely, and while my solution may be not as elegant or fast as modifying the original midio128 application, it works and I understand the code! Thanks for this great operating system, software and documentation. Reiner
  22. Hello, I would like to come back to my original question of this thread: The table MIOS_MPROC_EVENT_TABLE has 512 bytes (256 dw entries) on the assembler side, defined in mios_tables.inc. On the C-cide it is defined as an extern const unsigned char [2*128], so 256 bytes. Does this mean that I can only acces the first 128 entries of the table? Or can I safely ignore the size of the array in the cmios.h file and access the data beyond the first 128 entries? (I assume the latter, I would actually be surprised if the SDCC supports runtime array bounds checking). Does anybody know the answer? Thanks Reiner
  23. oops, sorry, goofed it up by posting this in the wrong thread: SOLVED, sorry! I had called MIOS_LCD_PrintCString with a simple char as argument. Weird error message anyway. So just disregard my question! Reiner
  24. oops, sorry, goofed this up. It's for the SDCC crash!
×
×
  • Create New...