Jump to content

TK.

Administrators
  • Posts

    15,247
  • Joined

Posts posted by TK.

  1. Hi Mikael,

     

    it is possible, but requires some reverse engineering. It especially has to be considered, that there is no "one approach fits all".

    E.g. if the keyboard is scanned with >= 50 uS, a microcontroller might be sufficient to emulate the keyboard.

    For higher scan rates, a FPGA based approach might be better.

    In any case, you need good programming skills and an oscilloscope for debugging to implement such an emulation your synths.

     

    Best Regards, Thorsten.

  2. Hallo,

     

    das kann ich bei mir nicht reproduzieren - die untere Zeile funktioniert nach dem Verlassen des Menues.

    Es ist vielleicht wichtig zu wissen, dass der vorherige Inhalt verloren geht, der Bildschirm muss also von Deinen Events neu aufgebaut werden.

    Oder meinst Du mit "garnichtmehr", dass selbst das Terminal Kommando:

    lcd @(1:1:2)Test 

    nicht mehr funktioniert?

     

    Gruss, Thorsten.

  3. Ok, it seems that all button functions which are assigned to pin 0 are triggered at once:

    #            SR  Pin
    BUTTON_GP1   M5   0
    ...
    BUTTON_GP3   M6   0
    ...
    BUTTON_GP5   M7   0
    ...
    BUTTON_GP7   M8   0
    ...
    BUTTON_GP9   M4   0
    ...
    BUTTON_GP11  M3   0
    ...
    BUTTON_GP13  M2   0
    ...
    BUTTON_GP15  M1   0
    

     

    It seems that a solder joint of one of the 74HC595s is faulty.

    Unfortunately I don't have a schematic of the frontpanel available right now, otherwise I could tell you the exact unit.

    However, just open the case and check all pins of the 74HC595s (or follow the trace of the GP15 button to a 74HC595, and check exactly this pin)

     

    Best Regards, Thorsten.

  4. Could you please check if the modified MBSEQ_HW.V4 file really has been uploaded?

     

    You could edit it in the MIOS Filebrowser.

    Scroll to the button definitions.

    Then you should see, that all BUTTON_ entries are commented out with '#':

    ##            SR  Pin
    #BUTTON_DOWN  M4   2
    #BUTTON_UP    M4   3
    #BUTTON_LEFT   0   0
    #BUTTON_RIGHT  0   0
    #
    ##                SR  Pin
    ...

    Can you confirm this?

     

    If not -> upload the right file

     

    Best Regards, Thorsten.

  5. There is a frontpanel file I created, over in the Wiki. I had my panel lasercut at Formulor.de, I think Schrab used the same file for his.

     

    I took your file, imported it into Libre Office (because I don't own other suitable software for the Mac), added a frame around the frontpanel, changed black to red colour, exported to .svg and tried to submit it at Formular (and also Ponoko) - in both cases I get the error message, that the .svg file contains wrong colours.

     

    So, I copy&pasted the frontpanel components it into a new document, exported to .svg and submitted again - now it complains about lines which are thicker than allowed.

     

    Has anybody experiences with Ponoko or Formulor templates created with Libre Office or similar open source software which is available for MacOS?

     

    Best Regards, Thorsten.

  6. First of all: a 16x16 matrix is a bad choice, please layout two 8x16 matrices instead, so that the LEDs are brighter.

     

    Then you will be able to configure the matrices with:

    DOUT_MATRIX n=1  rows=8  inverted=0  sr_dout_sel1=1 sr_dout_r1=2 sr_dout_r2=3 sr_dout_g1=4 sr_dout_g2=5 sr_dout_b1=6 sr_dout_b2=7
    DOUT_MATRIX n=2  rows=8  inverted=0  sr_dout_sel1=8 sr_dout_r1=9 sr_dout_r2=10 sr_dout_g1=11 sr_dout_g2=12 sr_dout_b1=13 sr_dout_b2=14
    

    with a 8x16 matrix, you will get 8 hues per colour (makes 512 possible colors)

     

    The hue can be passed with the rgb parameter. E.g. let's say an encoder is mapped to 4 banks, you can specify:

     

    EVENT_ENC    id=100  hw_id =  1  bank=1  fwd_id=LED_MATRIX:1   rgb= 7:0:0  fwd_to_lcd=1  type=CC   chn= 1 cc= 16  lcd_pos=1:1:1  label="ENC #%3i    %3d@(1:1:2)%B"

    EVENT_ENC    id=200  hw_id =  1  bank=2  fwd_id=LED_MATRIX:1   rgb= 0:7:0  fwd_to_lcd=1  type=CC   chn= 1 cc= 16  lcd_pos=1:1:1  label="ENC #%3i    %3d@(1:1:2)%B"

    EVENT_ENC    id=300  hw_id =  1  bank=3  fwd_id=LED_MATRIX:1   rgb= 0:0:7  fwd_to_lcd=1  type=CC   chn= 1 cc= 16  lcd_pos=1:1:1  label="ENC #%3i    %3d@(1:1:2)%B"

    EVENT_ENC    id=400  hw_id =  1  bank=4  fwd_id=LED_MATRIX:1   rgb= 7:7:0  fwd_to_lcd=1  type=CC   chn= 1 cc= 16  lcd_pos=1:1:1  label="ENC #%3i    %3d@(1:1:2)%B"

     

    to change the LED ring color depending on the bank

     

    Best Regards, Thorsten.

  7. Hi Willern,

     

    very nice song! I'm always happy when people create something new out of these tutorials! :)

     

    To the GP15 button: ok, this explains a lot.

    In order to analyse this a bit further, it makes sense to output all button functions which are triggered by GP15

     

    You can do this with following MBSEQ_HW.V4 file:

    http://www.ucapps.de/tmp/test_wilba_frontpanel_buttons.zip

     

    • first update your MIDIbox to the latest release V4.079 (because the MBSEQ_HW.V4 file is not compatible with older releases)
    • upload the modified MBSEQ_HW.V4 file with the Filebrowser
    • thereafter enter "reset" in MIOS Terminal -> your MIDIbox will be rebooted
    • push each button and check the terminal output. Each button should only generate a single message when pressed or depressed

     

    E.g. GP15 should result into following messages:

    [221644.599] [SEQ_UI_Button_Handler] Button SR:24, Pin:0 not mapped, it has been pressed.
    [221645.495] [SEQ_UI_Button_Handler] Button SR:24, Pin:0 not mapped, it has been depressed.

    if more messages are print, then please copy&paste them into this posting. Then I can determine which additional functions are triggered, and tell you which parts of the PCB require visual inspection.

     

    Best Regards, Thorsten.

  8. A new version is available which inherited functions from the big brother ;)

     

    MIDIboxSEQ V4L.079
    ~~~~~~~~~~~~~~~~~~
    
       o added new MIOS Terminal commands:
         new, saveas, save, load, delete, session, sessions
    
         Similar to "the big brother" MIDIbox SEQ V4, you are now able to create multiple
         sessions on SD Card, or to create a backup of your current session.
    

     

    Best Regards, Thorsten.

  9. V4.079 is now officially released

     

    From the ChangeLog:

    MIDIboxSEQ V4.079
    ~~~~~~~~~~~~~~~~~
    
       o added new Fx which allows to send to one or more additional MIDI channels
         from a single track with various behaviours (forward to all, alternate
         between channels, randomly select channel)
         The new functions can be configured at the Fx->Dupl (like Duplicate) page
    
       o groove page: added possibility to change the intensity for all tracks at once
    
       o MBSEQ_HW.V4 file: SR numbers for BUTTON and LED functions which are
         assigned to the BLM8x8 matrix (-> Wilba's Frontpanel) are now named M1..M8
         instead of 17..24
         See also the configuration template under hwcfg/wilba/MBSEQ_HW.V4
         The old syntax is still provided to keep old MBSEQ_HW.V4 files compatible.
         Once the new SRIO_NUM_SR parameter is set to 17 or more SRs, the new syntax
         has to be used.
    
       o MBSEQ_HW.V4 file: new parameter SRIO_NUM_SR allows to specify the maximum
         number of DIN/DOUT shift registers in a chain. Up to 23 DINs/DOUTs can be
         chained now - this is also the new default value in the MBSEQ_HW.V4 templates.
    
       o whenever a MBSEQ_HW.V4 file is uploaded with the MIOS Filebrowser, the
         configuration will be automatically reloaded (no need to reset the core)
    
       o official support for Ilmenator's Track Position Display.
         See also http://www.midibox.org/dokuwiki/doku.php?id=tpd_pcb
         An example configuration (TPD directly connected to J2 of Wilba's Frontpanel PCB)
         can be found under hwcfg/wilba_tpd/MBSEQ_HW.V4
    
       o the TPD display mode can now be configured in the Utility->Options menu (item #11)
    
       o added new MIOS Terminal commands:
         new, saveas, save, load, delete, session, sessions 

     

    Best Regards, Thorsten.

  10. A LFO is expensive, CPU and memory wise.

     

    One of the major blocking points: just check how many parameters are allocated by a single LFO: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fsequencers%2Fmidibox_seq_v4%2Fdoc%2Fmbseqv4_cc_implementation.txt

    There is no continuous 9-byte slot free for a second set of LFO CCs

     

    Another blocking point: the LFO code has been implemented based on the assumption, that never more than 1 LFO per track will be integrated into the firmware. The code would have to be completely overworked just to make multiple LFOs per track possible.

     

    I doubt that it would be really worth the effort. Especially since you are currently the only guy who requested this (multiple times).

    I don't find this so interesting by myself, and would prioritize other features for reserved CC slots than just another LFO...

     

    Best Regards, Thorsten.

  11. Da laeuft aber nicht der jitter_mon, sondern die MIDIbox NG Firmware, wie ich das an den Meldungen sehe.

    Du kannst das ueberpruefen, indem Du auf den Query-Button klickst - es sollte die "MIDIbox NG" Firmware angezeigt werden.

     

    Hast Du das falsche project.hex erwischt?

     

    Gruss, Thorsten.

  12. Yes, the mask is necessary for the MIOS32_AIN driver. Unselected J5 pins don't need to be grounded, because an internal pull-up is activated in this case.

     

    Note: the correct mask for J5.A3 is 0x0008, not 0x0004

     

    Typically you would retrieve the current analog value with MIOS32_AIN_PinGet(3), not MIOS32_BOARD_J5_PinGet(3)

     

    It's very strange that the core locks up, I've no explanation why this should happen with the function calls above.

    At which function call does it lock up exactly?

    Just remove them line by line to determine this.

     

    Best Regards, Thorsten.

  13. I guess that the exception handler has been entered. On certain failures it's still possible to output the PC at which the CPU trapped over USB. If not, you should at least see the PC on a LCD (-> connect a LCD for debugging)

     

    Once you know the PC, you can search in the project_build/project.lss line for the appr. function.

     

    A typical exception would be an access to a NULL pointer

     

    Best Regards, Thorsten.

×
×
  • Create New...