-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Hallo Nos, bei einem digitalen Signal wuerde es vielleicht ausreichen, einen Transistor mit vorgeschalteter Diode herzunehmen: Transistor in Emitterschaltung (-> beachte: dadurch aendert sich die Polaritaet, aber MIOS arbeitet sowieso mit invertierten Signalen), 470 Ohm Widerstand als Grundlast an den Kollektor, einen1k Widerstand an die Basis, dahinter die Diode (Kathode in Richtung der Basis). Zwischen der Diode und dem Widerstand vielleicht noch einen 100k Widerstand gegen Masse anschliessen, damit die Basis nicht floatet, wenn die Diode sperrt. Keine Garantie, dass es auf Anhieb funktioniert ;-) Gruss, Thorsten.
-
worth a try! Best Regards, Thorsten.
-
Hi Drumwide, if you want to realize it on a modular (re-usable) way, it makes sense to split the "loop" over different tasks, and to control them via a finite state machine. This needs some experience, but once you've started the implementation in this way, changes in the concept will be easier. So, before I describe how to setup the framework, I just did this for you. Download this file: http://www.ucapps.de/tmp/drums.inc.txt copy it into your application directory, rename it to drums.inc and #include it from "main.asm" (e.g. after the midi_evnt.inc module) Add following lines to app_defines.h: ;; used by drums.inc DRUMS_STATE_BEGIN EQU 0x050 ; for 8 drum triggers DRUMS_STATE_END EQU 0x057 DRUMS_MAX_VALUE_BEGIN EQU 0x058 ; for 8 drum triggers DRUMS_MAX_VALUE_END EQU 0x05f DRUMS_CTR EQU 0x060 ; used as loop counter Add: "call DRUMS_Init" to the USER_Init function "call DRUMS_Tick" to the USER_Tick function "call DRUMS_Timer" to the USER_SR_Service_Finish function change USER_AIN_NotifyChange to: USER_AIN_NotifyChange ;; convert 10-bit value to 7-bit value rrf MIOS_PARAMETER3, F ; value / 2 rrf MIOS_PARAMETER2, F rrf MIOS_PARAMETER3, F ; value / 2 rrf MIOS_PARAMETER2, F rrf MIOS_PARAMETER3, F ; value / 2 rrf MIOS_PARAMETER2, F bcf MIOS_PARAMETER2, 7 ; clear 8th bit ;; now: pot number in MIOS_PARAMETER1 ;; 7-bit value in MIOS_PARAMETER2 ;; if drum trigger (MIOS_PARAMETER1 < 8): ;; branch to the DRUMS module movlw 8-1 IFLEQ MIOS_PARAMETER1, ACCESS, goto DRUMS_AIN_NotifyChange ;; else continue with MB64 pot handler ;; (expects number of pot in WREG) movf MIOS_PARAMETER1, W goto MB64_POT_Handler I've added some comments to drums.inc - hope they are understandable. It took 15 minutes to program this framework, but one hour to write the comments ;-) However, this module should work ok for the beginning, but a really good drum trigger handler requires some fine tuning effort. And - maybe also a hardware improvements - I don't, how long the peak value from the drum trigger output is available, than more inputs are sampled, than higher the propability that you miss the peaks. A solution for this problem would be an integrator circuit which forwards the envelope of the sensor out to the analog input of the core. With a release time of ca. 5 mS you should get perfect results, in this way up to 64 triggers could be handled under very relaxed conditions. Best Regards, Thorsten. P.S.: try this module with MIOS V1.5 I sent you yesterday, it needs only 200 uS for every analog input
-
Newbie: Motorfader doesn't move to correct positio
TK. replied to dominik's topic in Testing/Troubleshooting
Hi Dominik, since MIOS V1.4 the recommented calibration value for ALPS faders is 0x0e, so if you change this in the example application, it should work better. Or just try the MIDIbox MF firmware instead, where this is the default value. If this doesn't help, perhaps your PSU isn't strong enough. Do you measure the 8V v_mm also during the fader is moved? Or does the voltage drop to a lower voltage level under load? Best Regards, Thorsten. -
You are really fast! :) Best Regards, Thorsten (loves acronyms, too ;-))
-
I've prepared MIOS for the final open source release which will be published under https://sourceforge.net/projects/mios Some parts of the code have been improved for better readability, the internal registers have been sorted and relocated, and the sample period of the AIN handler has been reduced from 300 uS to 200 uS per input (after I noticed that this higher sampling period is possible w/o provoking jittering pot values). Due to these drastical changes I'm searching for people who would like to test the new firmware on their MIDIbox before the official release. I'm especially unsure about the higher sample rate - so the guys who built a MIOS based MB64, MBMF or MIDIbox LC: please step forward! :) -> Mail to tk@midibox.org Best Regards, Thorsten.
-
Here some input if you are searching for a good PSU for your MIDIbox NG(s): since one month I'm using a cheap switching power supply from Pollin (price: 4.95 EUR) on my MIDIbox LC and it works without problems. More infos can be found here: http://www.ucapps.de/midibox_lc/midibox_ng_switching_psu.pdf I guess that up to 3-4 MIDIboxes with Motorfaders can be powered from this PSU. Best Regards, Thorsten.
-
Alright, now the fun begins ;-) Did you take a look into mb64_meta.inc? Then you could change the SysEx example for AN1x for your M3r and try it out. Best Regards, Thorsten.
-
Erik: concerning the article: you will see the problem once a lot of people answering to different questions... you will lost the oversight. Most of your questions will never be answered Pilo: I see no reason why to use a 7806+4V Zener before the LM317 - the LM317 is nothing else than a LM78xx with adjustable output voltage. In general the LM317 should be the most prefered voltage regulator for the MF module, due to the adjustability. I cannot recomment any other solution, since some motorfaders require a different driving voltage for best performance (from 7.1, 7.2, 7.3 ... 9.0V) - you have to try this out! Erik: if you are not able to get the LM317 working, download the datasheet and try to build a minimal circuit, just to ensure that the chip is still ok. It doesn't really make sense to try out different regulators (see above) Broken Link: could you please specifiy exactly where it is? I just tried it again (I clicked on the link at the top of the MBHP_JDM page) - it works and it points to exactly the same page like 3 years before There is no conversion method, the original JDM programmer was designed for PIC16F84, just compare the original schematic with the MBHP_JDM schematic and you should notice the "conversion method" (just only the pinning is different, and nothing else) Best Regards, Thorsten.
-
Ich kann Deinen Argumenten nur teilweise zustimmen. Deine Schaltung ist voll Digital aufgebaut, mit einem Rechner laesst sie sich also 1:1 nachbilden. Der SID enthaelt analoge Komponenten, somit laesst er sich nur teilweise emulieren - Reaktor hilft da nicht weiter (hier ist man auf vorgefertigte Modelle angewiesen), und selbst eine voll ausprogrammierte SID Emulation kommt nicht an das Original heran (siehe SIDPLAY2 oder QuadraSID) - schonmal den SID Filter uebersteuert? Was das Handling angeht: nunja, das haengt halt vom persoenlichen Workflow ab. Ich wollte ja auch nur nochmal andeuten, dass ich mich fuer dieses Thema nicht interessiere und deshalb von meiner Seite aus auch leider keine Unterstuetzung zu erwarten ist (der Vorschlag fuer ein Delay kam ja schon mehrmals auf). Gruss, Thorsten.
-
Cool! Ist mir noch nie aufgefallen :) Best Regards, Thorsten.
-
Very good, I would also realize it that way. But I wouldn't push the MIDI events into the Tx Buffer from an ISR. Although this works for debugging purposes, there are some cases which "hurt": a) the integrated MIDI merger could fail, b) the MIOS SysEx parser could fail, c) a deadlock scenario if the Tx Buffer is full and the Tx sender (which is also an ISR) cannot be executed since your own ISR blocks the execution (nested interrupts are not possible) So, it's better to notify changes to a second routine which is called from USER_Tick - thats the common programming style which saves you from a lot of trouble. Example can be found in j5_din_v1_3.zip Best Regards, Thorsten.
-
So much absolutely different questions in one posting? So, am I allowed to pick out the one I like? ;-) (such cross-postings are making the search function of the forum inefficient) LM317: no idea 78L08 and 78L09: absolutely not recommented, especially the L type will blow away immediately, remember that the current drain can be 1A and higher PIC16F84A: read the original JDM page - the JDM was originally designed for the PIC16x84x - the link can be found at the MBHP_JDM page PIC16F877A: new flash technology, it requires different programming settings in IC-Prog. The rest is compatible to the PIC16F877 (if users would sort their postings better, you propably would find this answer with the search function... ;-)) Best Regards, Thorsten.
-
Well, you haven't told us where you've found the error exactly, who should know if there are more similar errors? I guess: yes ;-) The ready message will only be displayed after the upload of MIOS, and it will be overwritten once you upload an application Best Regards, Thorsten.
-
not multiclient capable (the MIDI port...)
-
Hi Geoff, the timer function has a resolution of 100 nS (nanoseconds!) ;-) 1 ms capturing cycle is used by the SRIO handler for the DIN and DOUT module, if a higher rate is required, then just program a USER_Timer routine and call it every 100 uS (microseconds) or so... In this case it's easier to connect the sensor signals directly to the PIC pins for best performance. J5, J6, J7, the SO and RC pin of J10 and J14 (requires MIOS V1.5) can be used for this. If these 15 IO pins are not enough, then you could control some serial shift registers from your routine. Best Regards, Thorsten.
-
Hallo Benni, ich halte mich aus diesem Thema mal raus, alldieweil ich mit Reaktor eigentlich eine wesentlich flexiblere Loesung habe - zum Synchronisieren auf die MIDI Clock habe ich mittlerweile ein eigenes Macro :) Siehe auch: http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=songs;action=display;num=1050884202 Gruss, Thorsten.
-
Hallo Peter, wahrscheinlich arbeitest Du noch mit einer aelteren Version von MPLAB, in der Version 6.4 wurde dieser Bug endlich gefixed. In dieser Version ist auch die "use one-to-one project-workspace model" Option standardmaessig eingeschaltet, mit der auf die Files nicht mehr ueber einen absoluten Pfad zugegriffen wird. Du findest diese Option unter Configure->Settings->Projects Gruss, Thorsten.
-
Hallo Holger, die bekommt man leider nur direkt bei Waldorf. Vor einem Jahr hat mal jemand die Leute solange belabert, bis sie ein paar Knoepfe aus dem Ersatzteilsortiment herausgerueckt haben. Aber ich bezweifle, dass sich diese Aktion wiederholen laesst (zumal es der Firma angeblich nicht mehr so gut geht... :-/) Gruss, Thorsten.
-
Hi Jost, ...but this must be a short anywhere between pin RD1, RD2 and RD3 of the PIC and your DIN module Best Regards, Thorsten.
-
Hi Geoff, are we speaking about delays of some microseconds or miliseconds? Best Regards, Thorsten.
-
Schematic for JDM in-circuit programming?
TK. replied to adamjking's topic in Testing/Troubleshooting
Hi Meeshka, the circuit for the ICP port is part of the mbhp_core.pdf schematic - see MBHP->Core Module Best Regards, Thorsten. -
Hi Wilba, it still sounds strange. The latch input is driven by a strong driver pin, the signal shouldn't be influenced by ambient noise that much. Could you lift the RC.4 pin of the PIC from the socket and make a direct connection to the SID module with a short cable? If this works, the root cause must be a bad track or junction. Best Regards, Thorsten.