Jump to content

TK.

Administrators
  • Posts

    15,199
  • Joined

Posts posted by TK.

  1. By default following stack size is used (see programming_models/traditional/FreeRTOSConfig.h):

    #ifndef MIOS32_MINIMAL_STACK_SIZE
    #define MIOS32_MINIMAL_STACK_SIZE 1024
    #endif
    
    ...
    
    #define configMINIMAL_STACK_SIZE            ( ( unsigned portSHORT ) (MIOS32_MINIMAL_STACK_SIZE/4) )
    

    as you can see, the byte size has to be divided by 4, because FreeRTOS counts the memory word-wise

     

    Which means, that you tried to allocate 24580 bytes - which fails (for obvious reasons).

    Note that programming_models/traditional/main.c creates two additional tasks for MIDI and other purposes, which need memory from the heap as well (1024 bytes per task as defined with MIOS32_MINIMAL_STACK_SIZE)

     

    Best Regards, Thorsten.

  2. It seems that everytime he tries to send over the application something is being reconfigured with the LCD and it has to be set back to DOG_GLCD, etc etc.. 

     

    How do you update the application?

     

    It should be done via MIOS Studio: http://www.ucapps.de/mios_studio.html

     

    If you flash the complete binary instead, the bootloader configuration section will be overwritten, this would explain the problem.

     

    Best Regards, Thorsten.

    • The Adlib Tracker help page helpfully says "This mode is slightly hard to use (particularly the "SD/TT/TC/HH" tracks) so it is not recommended unless you know how it works or gain familiarity with it after several experiments :-)"

     

    This is actually the best description which is suitable for most users ;-)

     

    Best Regards, Thorsten.

  3. The SCS encoder configuration is well hidden in the scs.c module

     

    You can overrule it from mios32_config.h with:

     

    #define SCS_ENC_MENU_TYPE DETENTED2

     

    But actually this is the default value anyhow, it won't make a difference.

    The problem must be somewhere else (wrong pin connections?)

     

    Best Regards, Thorsten.

  4. Hi,

     

    unfortunately I can't support this. A SR which is serviced by the matrix code will always be fully allocated, otherwise very time consuming read-modify-write operations on the DOUT array would be required (32 times due to the dim feature!), which affects the overall performance of the application dramatically.

     

    Best Regards, Thorsten.

  5. Sehr schoener Chip!

     

    Hast Du schonmal daran gedacht, das analoge Filter in den Feedback-Pfad einzubauen? Wenn Du dann auch noch die CutOff-Frequenz modulierst, ergeben sich mit wenig Aufwand sehr interessante (pseudo-polyphone) Klangtexturen.

     

    Gruss, Thorsten.

  6. Hallo Stephan,

     

    sendet der PIC eigentlich einen Upload Request, wenn Du die Spannung anlegst?

    Du solltest diesen Request (f0 00 00 7e 40 00 01 f7) im MIDI IN Monitor von MIOS Studio sehen.

     

    Falls Du den nicht erhaelst, liegt das Problem entweder an der Spannungsversorgung, oder am Quarz.

    Wenn das nicht weiterhilft, mach' doch mal Fotos von der Platine und stelle sie hier rein - vielleicht sieht dann jemand den (Loet)fehler.

     

    Gruss, Thorsten.

  7. The hardware config file for the SEQ lists SR outputs for gates, so is there a possibility of avoiding J5A/B etc. and just sending the balanced DOUT SRIO chain instead? 

     

    It isn't possible yet to forward the J5 based gates to a DOUT SR, but I'm planning this for the future.

    Because I've the same interest, I want to use my breakout board on a MBCV and MBSEQ

     

    Best Regards, Thorsten.

  8. I added some new features today:

     

    - the Lemur panel has been overworked, so that global parameters (outside the CV groups) are now accessible with the "G" button at the right side.

     

    - added "Force To Scale", which can either be activated at the end of the CV output data streams, or "in between" by using the modulation matrix.

    The Force To Scale works like a Quantiser which allows to select the note values which should be played - all other notes are forced to the neighbored selected note:

    mbcv_mockup1_6.png

     

    In this example: only D# will be played, all other notes are forced to D#

     

    In order to use Force-to-Scale, either push the "Force Scale" button in the Main panel, or select the "FTS" operator in the modulation matrix.

     

    - support for analog inputs: STM32F4 all 8 inputs at J5A and J5B, and LPC17 currently only J5B.A4 and J5B.A5 (since J5A is used for OLEDs) - later it will be possible to use J5A as well for people who don't use the OLEDs on a LPC17 core

    (again: there is no limitation for the STM32F4 core)

     

    AIN inputs can be selected as source in the modulation matrix.

     

    In addition, AIN inputs can be used as external gates, e.g. to trigger the LFOs and Envelopes.

    In order to activate this function, change to the main page and increase the "Ext. Gate Threshold" value at the left side, which defines the level at which the gate will be triggered.

    mbcv_mockup1_1.png

     

    - the envelopes got new curves (Exp1, Exp1Inv, Exp2, Exp2Inv), and it's possible to select different curves for rising and falling ramps:

    mbcv_mockup1_3.png

     
    (inspired from the Andromeda synth as demonstrated by Hawkeye! :smile:
     

    - the modulation matrix got an offset parameter to increase/decrease the modulation path output:

    mbcv_mockup1_4.png

     
     
    Unfortunately these changes lead to incompatible patches.
    Since there aren't so many users yet, I haven't worked on a translator -> your old patches will be corrupted (in the ENV and MOD sections).
    If you don't mind, just delete the old banks with the MIOS Filebrowser (remove MBCV_B1.V2 ... MBCV_B4.V2)
    Thereafter enter "reset" in the MIOS Terminal so that new banks are created.
     
    Please also note, that the updated Lemur panel has to be used as well with the new firmware, otherwise the parameters are not correctly mapped.
     
    Best Regards, Thorsten.
  9. You wanted to say "What a pity" ;)

     

    I haven't fully understood what you want to achieve. A MIDI Controller with multiple OLEDs and Encoders+LED Rings can already be created with MIDIbox NG regardless of the core.

     

    MIDIbox CV is not a MIDI controller, and the OLEDs are used for a different purpose. They don't show messages (like MIDIbox NG would do), but show oscilloscopes for the internally generated waveforms.

     

    Best Regards, Thorsten.

  10. MBCV supports only 4 OLEDs because the scopes consume a lot of CPU time. Adding more scopes would increase the latency for display updates so that they are not usable anymore.

     

    Another reason is, that the OLEDs are connected differently compared to the normal approach.

    E.g. on the STM32F4 based core, they are connected at J10B which has only 8 data lines, which are fully allocated (CS/SCLK/DATA/RESET/CS1..4)

     

    In general, MBCV is not comparable to a MBNG based MIDI controller, therefore the design constraints might confuse you ;-)

     

    Best Regards, Thorsten.

  11. I know your use case, and I know how to implement this - but working on MIOS Studio is just currently not on my Agenda (I'm currently working on other projects), and for myself I don't see a big benefit (I'm not saying, that the enhancements would have no benefit at your side...)

     

    When I'm working with the monitors, I need the full report with history and timestamps, e.g. to check if all MIDI data has been transmitted with expected timings. If something fails in the firmware, I need this information to trace back the reason.

    You need some kind of dashboard which shows the last transfered values of the message types + some filtering - something what would be useless at my side.

     

    Therefore please understand that such extensions don't have a high priority at my side (and as you notice, other users don't see to be interested as well, otherwise you would have got more feedback on the proposals)

     

    However, programming with Juce is fun because the library is well documented, and you could also use it for other purposes in future.

    So, definitely worth to learn this and no wasted time at your side.

    You've concrete ideas how to implement this, so why not giving it a try?

     

    Best Regards, Thorsten.

×
×
  • Create New...