-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Control surface PCB for 16 encoders/LEDrings Bulk Order
TK. replied to Fairlightiii's topic in Bulk Orders
Update: link to the MBNG based project documentation: Best Regards, Thorsten. -
In future I will document MBNG project templates in separate forum articles instead of my website to give you the possibility to ask directly for details (of course, I hope that other users will document their MBNG based projects on a similar way in future :happy: ) So, let's start with LRE8x2, a project which is based on Fairlightiii's PCB: http://www.midibox.org/dokuwiki/doku.php?id=fairlightiii This MIDIbox NG is based on: a MBHP_CORE_LPC17 module a SD Card to store the configuration (and later also the snapshots) the LRE8x2 PCB an optional SCS, e.g. to switch between 4 banks and to store snapshots (in future) Configuration file: lre8x2.ngc Special notes: the .NGC file configures the ledrings for ULN2803 based Transistor Darlington arrays which will invert the selection lines for the LED rings. If you've built the PCB without the transistor arrays (which actually don't really improve the brightness), then please change the "DOUT_MATRIX ... inverted=1" definition to "DOUT_MATRIX ... inverted=0", otherwise the LED rings won't work correctly! /edit: link to the LRE8x2x4 project with 64 rotary encoders + ledrings: Best Regards, Thorsten.
-
A new version is available: MIDIbox NG V1.006 ~~~~~~~~~~~~~~~~~ o corrected LED pattern output for the case that the selection lines are inverted. o the new SCS command allows to assign emulated button/encoder functions if the SCS shows the mainpage. A usage example can be found under cfg/templates/lre8x2.ngc I also started to document the Standard Control Surface here: http://www.ucapps.de/midibox_ng_manual_scs.html Best Regards, Thorsten.
-
To summarize your request: you would like to cycle between the parameters which are assigned to an encoder in different banks with dedicated buttons (encoder switches), right? Best Regards, Thorsten.
-
Control surface PCB for 16 encoders/LEDrings Bulk Order
TK. replied to Fairlightiii's topic in Bulk Orders
I got my boards as well, and the first one is already stuffed! :smile: This evening I will release a new MBNG version which will contain a configuration template for this hardware + some small extensions (e.g. bank switching via the SCS) You might miss following details in the documentation: The LED polarity for newbies: the cathode (short leg) has to show to the center of the LED ring: The connection to the MBHP_CORE_LPC17 module could be confusing, since the SO pin of J8/9 has to be connected to the SI pin of the LRE2x8 board, and SI to the SO pin (for MBHP_DOUT/DIN we usually have the same names for these signals, this detail has been overlooked). If you are using "polarized DIL sockets", then just take this picture as orientation: Last but not least: the LED brightness topic: A very good question, because it seems that this topic is more important than expected. I used the same "rectangular" LEDs like Jerome, and noticed that the brightness of the LEDs is not acceptable (from my point of view). The LED rings are looking nice on the pictures, but in reality you won't see anything in a bright environment (e.g. if a lamp directly spotlights the board) The reason for this is the time-multiplexed handling. With a 16x16 LED matrix each LED ring will only be active for 6.25% of the normal time. This is fact by construction, software can't fixed this (e.g. I tried a higher scan frequency... but for obvious reasons the LED is still only active for 6.25% ;-)) Also the transistor array or lower resistor values won't help for these rectangular LEDs. The results are much better on my initial MB16E construction, and as far as I remember I just used the low-cost red LEDs, which are diffused and have a higher mcd than the standard LEDs. I will order these ones from Reichelt, and should be able to test (and confirm) them this weekend. Best Regards, Thorsten. -
The development of an USB based solution which could play samples accurately isn't a trivial task. Especially when different operating systems comes into the game. The commercial HardSID project is probably the best choice for such a purpose. But it only works under Windows. Best Regards, Thorsten.
-
Hi Tim, this would be a simple extension - I will add it to the next release. :) Best Regards, Thorsten.
-
A special MIDI based protocol is used (developed by Elektron, makers of the SIDstation) which allows to achieve an update rate of ca. 50..60 Hz, which is sufficient for most SID tunes. See also There is unfortunately no chance to upstream samples over MIDI, which means that I'm still not able to playback the tracks that I created in the late 80s (fortunately there are .mp3 snapshots at http://ftp.acc.umu.se/mirror/media/Oakvalley/soasc/soasc_mp3/MUSICIANS/K/Klose_Thorsten/ - note that only the *_MOS6581R2 files are autarkic) Best Regards, Thorsten.
-
You've to consider that I implemented a C64 based tracker ca. 20 years ago: http://noname.c64.org/csdb/release/?id=17422 MBSEQ is the continuation of my lifework... ;-) Best Regards, Thorsten.
-
Hi Rob, Have a look into the setup_mb808_default.asm file (which is also referenced by setup_808_with_swingpot.asm) ; Following table allows you to define ; - the track names (must consist of exactly 6 characters!) ; - the DOUT shift registers (SR) to which the drum triggers are connected ; (1-16; 0 disables assignment) ; - the DOUT pin to which the drum triggers are connected (0-7) ; Note: since version v1.3 the "real" Dx pin number (D0..D7) has to be specified, in previous releases it was mirrored! ; - the MIDI output port (0=disabled, 1=Default, 2=Internal, 3=IIC1, 4=IIC2, 5=IIC3, 6=IIC4, 7=Trigger Only) ; - the AOUT/CV channel to output velocity (1-16, 0=disabled) ; Note: AOUT module only supports 8 highres channels, but CV outputs can also be realized with DOUTs (see DEFAULT_CV_DOUT* option) DEFAULT_TRKINFO MACRO ;; Name SR Pin MPort AChn db "BD ", 1, 6, 1, 0 ; Track 1 db "SD ", 1, 5, 1, 0 ; Track 2 db "LT/LC ", 1, 4, 1, 0 ; Track 3 db "MT/MC ", 1, 3, 1, 0 ; Track 4 db "HT/HC ", 1, 2, 1, 0 ; Track 5 db "CP ", 1, 1, 1, 0 ; Track 6 db "MA ", 1, 0, 1, 0 ; Track 7 db "RS/CL ", 4, 7, 1, 0 ; Track 8 db "CB ", 4, 6, 1, 0 ; Track 9 db "CY ", 4, 4, 1, 0 ; Track 10 db "OH ", 4, 3, 1, 0 ; Track 11 db "CH ", 4, 2, 1, 0 ; Track 12 db "Ext1 ", 0, 0, 1, 0 ; Track 13 db "Ext2 ", 0, 0, 1, 0 ; Track 14 db "Ext3 ", 0, 0, 1, 0 ; Track 15 db "Acc. ", 7, 0, 7, 0 ; Track 16 ENDM this is also the place, where you could change the pinning - the .asm file has to be recompiled to a new .hex with the MIOS8 toolchain as described here: http://www.midibox.org/dokuwiki/doku.php?id=windows_toolchain_quickstart the complete configuration is described (and can be customized) in the .asm files Best Regards, Thorsten.
-
fixed in V4L.069 Best Regards, Thorsten.
-
A new version is available: MIDIboxSEQ V4L.069 ~~~~~~~~~~~~~~~~~~ o USB MSD driver: changed endpoint to avoid conflict with MIDI driver. Note that it's still not possible to use MSD and MIDI in parallel, but Windows and MacOS should accept the connection (again). o corrected tap tempo function I especially hope that is finally solves the tap tempo issues! :rofl: Special thanks to Martijn for pointing this out! Best Regards, Thorsten.
-
A new version is available: MIDIboxSEQ V4.069 ~~~~~~~~~~~~~~~~~ o USB MSD driver: changed endpoint to avoid conflict with MIDI driver. Note that it's still not possible to use MSD and MIDI in parallel, but Windows and MacOS should accept the connection (again). o Event configuration page: the selected layer type now has to be confirmed with GP button below the appr. item. A warning message will pop up to notify about this unusual data entry method. In addition, the value will be marked with '!' as long as it doesn't match with currently active value. o it's now possible to delete a session from the main page This update will allow you to clean up your SD Cards for the upcoming year! :smile: Best Regards, Thorsten.
-
Cool! :sorcerer: Best Regards, Thorsten.
-
MIOS Studio 2.4.2 is available now Again only cosmetic enhancements: 1) the main panel components are resized correctly when the window is stretched 2) it's possible to select the components which should be displayed: Best Regards, Thorsten.
-
Thank you for the reminder! After some trouble with xcircuit on my new computer, the schematic is finally fixed. :) Best Regards, Thorsten.
-
Ich habe nun eine Option in die MIDIO128 V3.012 eingebaut, die Note Off Events in Note On mit Velocity 0 umwandelt - per default ist sie aktiviert, und sollte das Problem mit Ableton Live loesen. Andererseits: die MBNG gibts ja mittlerweile auch schon - und die loest das Problem auf die gleiche Weise. ;) Gruss, Thorsten.
-
MIDIO V3.012 is available now: MIDIO128 V3.012 ~~~~~~~~~~~~~~~ o USB MSD driver: changed endpoint to avoid conflict with MIDI driver. Note that it's still not possible to use MSD and MIDI in parallel, but Windows and MacOS should accept the connection (again). o the .MID menu got a subhierarchy to improve the oversight: Play and Ports o with the new ConvertNoteOffToOn0 setting in the .MIO file incoming Note Off events will now be converted to Note On with velocity 0. This change is active by default - means: it can be optionally displayed in the .MIO file (documentation still not up-to-date) Best Regards, Thorsten.
-
das waere nett! :) Gruss, Thorsten.
-
I just released V2.042 which provides the first special SysEx commands for the Lemur Editor: Following SysEx command has to be sent to enable the Lemur Editor mode: 0C/d) F0 00 00 7E 4B <device-number> 0C 10 <enable> F7 With <enable> = 1: enables special SysEx transmission mode for Lemur - the patch is sent as Poly Pressure events With <enable> = 0: disables special SysEx transmission mode for Lemur I tested this with your panel, e.g. requestPatchDump() has to be changed the following way: /* Internally used method to execute dump request for selected bank and patch */ if(requestedDump) return; //don't request a new dump if we requested one already decl outDevice = MidiDevice.selection; //get MIDI device number (lemur, not ID) decl midiDevice = DeviceID.selection; //get MIDI device ID decl bank = Bank.selection; //get Bank # decl patch = PatchSelect.val; //get selected patch decl lemur_mode_msg = {0xf0, 0x00, 0x00, 0x7e, 0x4b, midiDevice, 0x0c, 0x10, 0x01, 0xf7}; decl dump_req_msg = {0xf0, 0x00, 0x00, 0x7e, 0x4b, midiDevice, 0x01, 0x00, bank, patch, 0xf7}; dumpType = 0; //bank dump stateDumpReceive = 0; //stop receiving other dumps requestedDump = 1; //we requested a new dump, look for sysex setPatchName(''); //set patch name to empty so user has feedback midiout(outDevice, lemur_mode_msg); //enter lemur mode midiout(outDevice, dump_req_msg); //send dump request the same has to be done for requestMemoryDump() Please also update your README - people should just switch to v2.042 No Problem, I added following command: 0C/e) F0 00 00 7E 4B <device-number> 0C 18 <type> F7 With <type> = 0x08: stores the current edit buffer of SID1 in BankStick With <type> = 0x09: stores the current edit buffer of SID2 in BankStick With <type> = 0x0a: stores the current edit buffer of SID3 in BankStick With <type> = 0x0b: stores the current edit buffer of SID4 in BankStick With <type> = 0x70: stores the current ensemble in BankStick I found the bug in my coding proposal: the "SET_BSR SID_BASE" was missing after MIOS_MIDI_TxBufferPut, therefore the checksum wasn't correctly initialized anymore, and therefore wrong (one of the reasons why I normally don't program in assembler anymore - the maintenance of years old code is too error prone) This is fixed. I also found an error in your calculation routine. The checksum has to be determined with: decl finalCheckSum = -checkSum & 0x7f; // calculate checksum And it has to be compared with the != operator: if(midiSum != finalCheckSum ) { Your previous comparison method (anding the values) was unusual, but not incorrect. On the other hand it seems that Lemur can't handle such a comparison correctly... I haven't debugged this further... (it could depend on the variable type) After the change, I noticed that sometimes the dump is requested multiple times (like on a retry) for no reason. It never stopped... although the checksum was always correct. However, I think that you will now be able to debug this by yourself :shifty: possible with v2.042 (a new flag in the ensemble) Best Regards, Thorsten.
-
Probably I know why it seemed that the encoder was working "flawky": it was configured in "fast mode" by default, and in "normal mode" when the shift button was pressed. This was the intended behaviour at a time I was young and always in hurry :frantics: - meanwhile I think it was a bad decision! :turned: Could you please check if your encoder works better with v2.042? -> /edit: indeed, the issue has been fixed with this version as confirmed in the feedback thread! :smile: Best Regards, Thorsten.
-
MIDIbox SID V2.042 is available http://www.ucapps.de/mios_download.html'>now From the ChangeLog: MIDIboxSID V2.042 ~~~~~~~~~~~~~~~~~ o new SysEx commands to support the Lemur Editor o MIDI Clock is now optionally sent with the "Out" option of the Ensemble Clk page. o default encoder mode is "DETENTED3" now, since it works better for most encoders available on the market o swapped behaviour of ENC speed control: encoder now at fast speed if SHIFT button is pressed So: the update is especially recommended for users of the upcoming http://midibox.org/forums/topic/17536-midibox-sid-v2-lemur-editor/'>Lemur Editor, and for users who noticed problems with their menu encoder. Best Regards, Thorsten.
-
Great - I will test it soon! :happy: Lemur works only on iOS devices (an iPad1 is sufficient), as far as I know support for the various Android platforms isn't planned yet. Best Regards, Thorsten.
-
I will move this topic to the german section soon - it's an individual HW issue. Back to german: @TOKEN_one: einen letzten Versuch bitte! :happy: Hier ist eine vorkompilierte Firmware: http://www.ucapps.de/mios32/midibox_lc_v2_000.zip Mit dem neuen "testlcdpin" kannst Du jeden LCD Pin gezielt setzen, und die Spannung am LCD nachmessen: [137384.195] Please specifiy valid LCD pin name: rs, e1, e2, rw, d0, d1, ... d7 [137384.195] Please specifiy valid logic level for LCD pin: 0 or 1 [137384.195] Following commands are supported: [137384.195] testlcdpin rs 0 -> sets J15(AB):RS to ca. 0V [137384.195] testlcdpin rs 1 -> sets J15(AB):RS to ca. 3.3V [137384.195] testlcdpin e1 0 -> sets J15A:E to ca. 0V [137384.195] testlcdpin e1 1 -> sets J15A:E to ca. 3.3V [137384.195] testlcdpin e2 0 -> sets J15B:E to ca. 0V [137384.195] testlcdpin e2 1 -> sets J15B:E to ca. 3.3V [137384.195] testlcdpin rw 0 -> sets J15(AB):RW to ca. 0V [137384.196] testlcdpin rw 1 -> sets J15(AB):RW to ca. 3.3V [137384.196] testlcdpin d0 0 -> sets J15(AB):D0 to ca. 0V [137384.196] testlcdpin d0 1 -> sets J15(AB):D0 to ca. 5V (resp. 3.3V) [137384.196] testlcdpin d1 0 -> sets J15(AB):D1 to ca. 0V [137384.196] testlcdpin d1 1 -> sets J15(AB):D1 to ca. 5V (resp. 3.3V) [137384.197] testlcdpin d... -> same for J15(AB):D2, D3 D4, D5, D6, D7 [137384.197] testlcdpin reset -> re-initializes LCD modules so that they can be used again. Besonders der "testlcdpin d7 1" und "testlcdpin d7 0" Test ist interessant, weil hier der Feedback zum D7 Eingang am LPCXPRESSO (P1.19) ueberprueft wird - wenn hier ein Loetfehler vorliegt, wird das LCD nicht initialisiert. Gruss, Thorsten.