-
Posts
15,246 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Hi Rogic, sure, I|m interested in the driver. Thanks a lot for your input - a third driver is a great backup solution for people who have the same troubles! :) Best Regards, Thorsten
-
You could save one core module by using two boards stuffed with the PIC18F and by using MIOS. This will be clear as soon as I've finished the documentation. Displays: a solution for one display in a multicore setup will also be documented in the next days. All functions which are necessary have been already integrated into the operating system :) Best Regards, Thorsten.
-
Hi Mickey, this library is dedicated for USB hosts, USB clients don't need such a complex library. For clients, the most stuff is already implemented in the hardware, so that the software nothing more has to do than to react on requests which have been initiated by the host. The Atmel programmer uses a Cypress chip (btw.: the same chip can be found in MIDIman USB interfaces.. ;-)) - it"s a SMD chip... :-/ Best Regards, Thorsten.
-
Thats correct - the data sheet says: long-term maximum voltage 5.5V, absolute maximum voltage (before damage): 7.5V So, you can use the IR sensors without the prodection diodes if you are sure that 5.5V are not exceeted. Best Regards, Thorsten.
-
Mabye its enough when I just adapt the MB64seq to MIOS and release the source code in order to give you the basics? Because this application will include a chord parser (used by the arpeggiator) and a sequencer engine for 4 independent tracks (the length is scalable to up to 64 steps). The user interface is well adapted for the MIDIbox64 hardware, but it could also be changed for a TB303 like surface or something similar. The source code will give you the answers... ;) Best Regards, Thorsten.
-
Hi Ian, since I noticed that the performance of PIC18F (and MIOS) is much better than expected, my MIDIbox NG is now working with one core module only. This means, that for your desk two cores modules (instead of 4 like suggested before) are required. One core has to emulate "Logic Control", the other "Logic Control XT". And you have to connect the cores to two different MIDI In/Out ports (it's restricted by the host application, not by MIDIbox itself) I hope that you also planned the use of rotary encoders? Because these are the most important control elements of the LC! My impressions: I don't want to miss it anymore! :) Before the LC emulation, the biggest problem with logic was the creation of a perfect control environment for my needs. I never completed it. due to the effort, so I controlled only the volumes and sometimes VSTIs with a MIDIbox. But with the LC emulation, I can control and automate everything from the control surface - without an `environment` - a completely new (and much more efficient) workflow! :) Best Regards, Thorsten.
-
Hi Kieran, one 18F452 as master device, and the 16F877s as slave devices will work. In fact the control surface will control the SIDs similary like the Java GUI, therefore you don"t have to expect compatibility problems. :) Best Regards, Thorsten.
-
Hi Dan, could you check if the 1k pull-up resistor between pin RA4 of the PIC and +5V is connected properly? Best Regards, Thorsten.
-
Hi Gilles, the link to "Lights" does not work, but the other two songs have something really interesting. Several times I had the impression to hear the sound of a thunder and a rush of steam beside and behind me - very quiet, but noticable - how did you realize such 3d effects? Best Regards, Thorsten.
-
Hi Nenad, thanks for the detailed descriptions, they are very helpful. It's not clear, why you are not able to use the MIDIbox Editor, but MIDI-Ox possibly fails due to misconfiguration. What is happening: the integrated MIDI merger of MIDIbox64 is enabled by default. It can only be disabled in the configuration menu (but you don't own a LCD) or via SysEx (which fails). This explains, why you are receiving all the sent SysEx strings (memo for myself: the ping command should return a different string). When both virtual MIDI Outs of the roland driver are enabled, and when MIDI-Ox sends the string over both ports, the MIDI protocol will be violated. It seems that the Roland driver is not able to regognize this error and to prevent the violation. However, so it will only work with one enabled port. I cannot say, why MIDI-Ox sends nothing when you are only using one port. But - a very important input is, that the MIDIbox responses to a different application. This means, that you've found a running configuration which will help you to upload the file. The program comes with a send delay - it should be set to a value greater than 10 (or 20) ms. Thereafter load midibox64_generic.syx. Since it's still not clear, which device ID is currently set, you should modify the generic dump manually: It begins with: F0 00 00 7E 43 02 ... Now try to send 8 different variations of the whole dump with a modified device ID. First try the file unchanged, but with different send delays Change the 6th value (02) to: 12 Send it again Change the 6th value to 22 and send again Change the 6th value to 32 and send again Change the 6th value to 42 and send again Change the 6th value to 52 and send again Change the 6th value to 62 and send again Change the 6th value to 72 and send again (I love copy & paste ;-)) If your MIDIbox returns: F0 00 00 7E 43 xF F7 (x=device ID) after one of these trys, you've found the correct device ID. If this didn't help, try a "Read Request": F0 00 00 7E 43 01 F7 F0 00 00 7E 43 11 F7 F0 00 00 7E 43 21 F7 F0 00 00 7E 43 31 F7 F0 00 00 7E 43 41 F7 F0 00 00 7E 43 51 F7 F0 00 00 7E 43 61 F7 F0 00 00 7E 43 71 F7 If you receive any data, please post the first 10 bytes here in the forum Best Regards, Thorsten.
-
Perfect! I have to update the JDM page anyhow for the PIC18F :) Best Regards, Thorsten.
-
Perfect! I have to update the JDM page anyhow for the PIC18F :) Best Regards, Thorsten.
-
Hi Dave, currently everything has to be programmed in assembler language, which is more difficult than C and requires some practice (try&error prototyping) at the beginning. In difference to C you have to learn funny mnemonics (instructions) and you have to "tell" the PIC step by step what he should do. However, this increases the performance of applications a lot, thats maybe the reason why I'm mostly speaking about delays of some nano or microseconds (and not about milliseconds like known from the PC world ;-)). On the other hand it consumes some time to learn and understand the language if you don't have the technical background. However, I've already started to search for a good programming language which simplifies the implementation of common control tasks. XPL0 looks interesting: http://www.idcomm.com/personal/lorenblaney/ Here are some programming examples: http://www.idcomm.com/personal/lorenblaney/guess.html I haven't evaluated this language yet, but maybe it could be supported by MIOS. Best Regards, Thorsten.
-
It's located under http://java.sun.com/j2se/1.4.1/download.html Take the "JRE" package. Alternatively you could download Opera (the famous webbrowser) from http://www.opera.com, because it comes with the same java environment :) Best Regards, Thorsten.
-
Some months ago I used a shielded cable which was longer that 3m w/o problems. At was a common audio cable for stereo, the shield should be used for the ground and Vss connection, the two wires for +5V (Vdd) and the AIN pin Best Regards, Thorsten.
-
Thanks! :) Best Regards, Thorsten.
-
The first MIOS release and a nice example application (MIDIbox LC) can now be found in the Concepts->MIOS->Download section. For all people who already purchased a PIC18F452: good luck! :) Best Regards, Thorsten. P.S.: a lot of additional documentation for MIOS itself and the MBLC wiring has not been written yet - so take it like a text adventure ;-)
-
Hi Ian, yes, in theory it's possible to convert the files to MIDIbox SID patches (i.e with a perl script), since the dump format of the SID station is well documented. I will check this sooner or later ;-) Best Regards, Thorsten.
-
There are no special instructions for such a box, but maybe this diagram helps: Best Regards, Thorsten.
-
Hi Damien, due to the nice weather today I haven't worked on the final release, but maybe I will find the time tomorrow evening. However, if you've already built the core module and want to test the PIC18F, try the bootstrap loader first: http://www.ucapps.de/mios/mios_bootstrap_loader_v1.zip It should send a SysEx command after startup (F0 00 00 7E 40 <device-id> 01 F7) to request the MIOS dump (which will be released very soon :)) Best Regards, Thorsten.
-
It's not possible due to performance and memory limitations... Solution: buy a PIC18F (or order free samples on the Microchip Site) and use MIOS. Best Regards, Thorsten.
-
Hi Faz, it isn't required to send the decoded password to Logic or Cubase, some dummy bytes are enough, since the purpose of this nameization sequence is only to unlock the Logic Control itself. Here the appr. code for the MIOS application, which will be published soon (and which can give you some more hints). These parts are called by a SysEx parser, which reacts on F0 00 00 66 <LC-ID> <action-ID>: ;; -------------------------------------------------------------------------- ;; MIDI Check action: perform a sysex action ;; -------------------------------------------------------------------------- LC_MPROC_Handler IFSET LC_MPROC_STATE, LC_MPROC_STATE_ACTION, rgoto LC_MPROC_Handler_DoAction bsf LC_MPROC_STATE, LC_MPROC_STATE_ACTION movff LC_MPROC_IN, LC_MPROC_ACTION rgoto LC_MPROC_SysExCheck_End ;; --- LC_MPROC_Handler_DoAction movf LC_MPROC_ACTION, W bz LC_MPROC_Action_Query movf LC_MPROC_ACTION, W xorlw 0x02 bz LC_MPROC_Action_HostReply movf LC_MPROC_ACTION, W xorlw 0x10 bz LC_MPROC_Action_WriteMTC1 movf LC_MPROC_ACTION, W xorlw 0x11 bz LC_MPROC_Action_WriteMTC2 movf LC_MPROC_ACTION, W xorlw 0x12 bz LC_MPROC_Action_WriteLCD movf LC_MPROC_ACTION, W xorlw 0x13 bz LC_MPROC_Action_VersionReq goto LC_MPROC_ActionInvalid ;; -------------------------------------------------------------------------- ;; MIDI Action: LC Query ;; -------------------------------------------------------------------------- LC_MPROC_Action_Query ;; wait until sysex footer (F7) has been received movlw 0xf7 IFNEQ LC_MPROC_IN, ACCESS, rgoto LC_MPROC_SysExCheck_End ;; send SysEx header call LC_MPROC_Send_SysExHeader ;; send Host Connect Query movlw 0x01 call MIOS_MIDI_TxBufferPut ;; call help function which sends the LC serial number call LC_MPROC_Hlp_SendSerial ;; send dummy password movlw 'A' call MIOS_MIDI_TxBufferPut movlw 'B' call MIOS_MIDI_TxBufferPut movlw 'C' call MIOS_MIDI_TxBufferPut movlw 'D' call MIOS_MIDI_TxBufferPut ;; send SysEx footer call LC_MPROC_Send_SysExFooter ;; finish Action rgoto LC_MPROC_ActionFinished ;; -------------------------------------------------------------------------- ;; MIDI Action: LC Host Reply ;; -------------------------------------------------------------------------- LC_MPROC_Action_HostReply ;; wait until sysex footer (F7) has been received movlw 0xf7 IFNEQ LC_MPROC_IN, ACCESS, rgoto LC_MPROC_SysExCheck_End ;; send SysEx header call LC_MPROC_Send_SysExHeader ;; send Host Connect Confirmation movlw 0x03 call MIOS_MIDI_TxBufferPut ;; call help function which sends the LC serial number call LC_MPROC_Hlp_SendSerial ;; send SysEx footer call LC_MPROC_Send_SysExFooter ;; finish Action rgoto LC_MPROC_ActionFinished ;; -------------------------------------------------------------------------- ;; this help function sends the pseudo serial number of the emulation: 12345678 LC_MPROC_Hlp_SendSerial movlw '1' movwf TMP1 LC_MPROC_Hlp_SendSerial_Loop movf TMP1, W call MIOS_MIDI_TxBufferPut incf TMP1, F movlw '8' IFNEQ TMP1, ACCESS, rgoto LC_MPROC_Hlp_SendSerial_Loop return ;; -------------------------------------------------------------------------- ;; MIDI Action: LC Version Request ;; -------------------------------------------------------------------------- LC_MPROC_Action_VersionReq ;; wait until sysex footer (F7) has been received movlw 0xf7 IFNEQ LC_MPROC_IN, ACCESS, rgoto LC_MPROC_SysExCheck_End ;; send SysEx header call LC_MPROC_Send_SysExHeader ;; send version number movlw 0x14 call MIOS_MIDI_TxBufferPut movlw 'V' call MIOS_MIDI_TxBufferPut movlw '1' call MIOS_MIDI_TxBufferPut movlw '.' call MIOS_MIDI_TxBufferPut movlw '4' call MIOS_MIDI_TxBufferPut movlw '2' call MIOS_MIDI_TxBufferPut ;; send footer only if merger has not been enabled ;; to ensure a proper MIDI protocol call MIOS_MIDI_MergerGet andlw 0x01 bnz LC_MPROC_Action_VersionReq_End movlw 0xf7 call MIOS_MIDI_TxBufferPut LC_MPROC_Action_VersionReq_End rgoto LC_MPROC_ActionFinished there is no special format for the version number Hope it helps Best Regards, Thorsten. P.S.: maybe it's required to handle this SySEx interaction (Query/Reply/Version Request) as fast as possible before the host application sends the query command again!)
-
Hallo, da auf dem Core-Modul bereits die Kondensatoren, der Gleich'riecht'er und der Spannungsstabilisator vorhanden sind, kann man auch direkt den von Dir vorgeschalgenen Trafo anschliessen. Die Trafo-Werte sind ok, sofern kein LCD mit Hintergrundbeleuchtung angeschlossen werden soll. Auf meiner Homepage ist diese Moeglichkeit nicht dokumentiert, weil ich sie fuer Elektronik-Anfaenger fuer zu gefaehrlich halte. Und die Fortgeschrittenen wissen i.d.R., dass ein Trafo ausreicht... however, ein wichtiger Tip: das Netzkabel auf der 220V Seite gut verloeten und befestigen, damit es nicht abreisst (am besten mit einem sog. Kabelbinder aus Plastik - keinen Metalldraht verwenden!). Anschliessend die Netzspannungs-Kontakte mit einem Panzerklebeband o.ae. ueberkleben, so dass Du mit den Kabelenden nicht (unabsichtlich) in Beruehrung kommen kannst. Falls Du die Box spaeter mal in ein Metallgehaeuse bauen moechtest, solltest Du zusaetzlich noch etwas isolierendes unter die Platine legen, z.B irgendetwas aus Hartplastik (die Verpackung von "Ferrero Rocher" ist dafuer bestens geeignet ;-)) Gruss, Thorsten.
-
Hi Rogic, you don't have to configure the driver, it should work without modification. So I think that there are two possible reasons for the problem: either your MIDI-In is not working (I hope that you disconnected the optocoupler when using the MAX232?) or you've changed the device ID of your MIDIbox64 by fault. To check if MIDI-In is working correctly and to find out the selected device ID, you can use MIDI-Ox. Just send the following SysEx commands to the box. One after another: F0 00 00 7E 43 0F F7 F0 00 00 7E 43 1F F7 F0 00 00 7E 43 2F F7 F0 00 00 7E 43 3F F7 F0 00 00 7E 43 4F F7 F0 00 00 7E 43 5F F7 F0 00 00 7E 43 6F F7 F0 00 00 7E 43 7F F7 MIDIbox64 will response to one of these commands with: F0 00 00 7E 43 <device-id>F F7 If all 8 commands don't work, you've a hardware problem. Check the connections, ... Best Regards, Thorsten.
-
oops, so these photos documented that I'm a person with 6 hands and 2 heads after all? No, I've used the self timer of my camera ;-) Best Regards, Thorsten.