Jump to content

TK.

Administrators
  • Posts

    15,198
  • Joined

Everything posted by TK.

  1. Hallo Gidien, MIOS32 wird standardmaessig nur die beiden ersten LCDs initialisieren. Du muesstest also in SEQ_LCD_Init() noch folgendes einbauen (habe das gerade dementsprechend im SVN repository geaendert): s32 SEQ_LCD_Init(u32 mode) { u8 dev; // first two LCDs already initialized in main.c // for the case that more than two LCDs have been configured: for(dev=2; dev<LCD_NUM_DEVICES; ++dev) { MIOS32_LCD_DeviceSet(dev); MIOS32_LCD_Init(0); } // switch back to first LCD MIOS32_LCD_DeviceSet(0); return 0; // no error } Ja, das sind die richtigen Pins Gruss, Thorsten.
  2. Hi Mathis, I'm glad that we clarified this :) Best Regards, Thorsten.
  3. I've no explanation for this issue, and I'm not able to reproduce it. What happens if you add BLM_SCALAR_MASTER_ForceDisplayUpdate(); whenever one of the horizontal extra buttons is pressed, after the 16x16 grid LEDs have been set? Are the LEDs set like expected thereafter? I've also no explanation why faders should trigger button events. Do they sent CC events? You can doublecheck this by displaying incoming events in APP_MIDI_NotifyPackage like shown in this example: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F003_debug_messages%2Fapp.c Best Regards, Thorsten.
  4. Hi Lamster, don't worry, in the past (as a teenager) I programmed PETs as well and know this situation. Let's say it this way: space invaders is already part of the firmware, you only have to configure it (should the spaceships attack vertically or diaconal? ;-) Nobody will complain if you've questions how to configure it correctly, as long as you raise up the right questions which allow us at the "remote end" to understand the situation - and this requires sometimes "literature research". So, here are two webpages as a starting point: This page explains how to setup a STM32F4 microcontroller, which will be the brain of your MIDIbox NG: http://www.ucapps.de/mbhp_core_stm32f4.html Even w/o the MBHP_CORE_STM32F4 PCB, you will already be able to flash the firmware (either via MIDI bootloader, or by directly flashing the .hex file - sooner or later you want to access via MIDI anyhow!). But the PCB + some additional modules (such as MBHP_DIN, MBHP_DOUT, MBHP_AINSER64) will allow access to the IO pins. The corresponding documentation can be found at ucapps.de as well; PCBs can be ordered at http://midibox-shop.com Once the MIDIbox NG firmware has been programmed, the "First Steps" page help you to do get familiar with the MBNG "programming language": http://www.ucapps.de/midibox_ng_manual_fs.html Best Regards, Thorsten.
  5. The optimization takes place in BLM_SCALAR_MASTER, so that you can now work at a higher level where execution speed doesn't matter anymore. MBSEQ is a different story - the SEQ_BLM code is a critical element since it is running in parallel to many other UI processes, therefore I had to spent more effort into the optimization (e.g. I had to access variables directly - which is dangerous for programmer newbies because of potential hard faults!) Best Regards, Thorsten.
  6. If it works don't change it too much, focus your ideas instead! The STM32F4 microcontroller has more than enough horse power to handle unoptimized code; and optimization could mean that it will be more difficult for you to integrate changes (without writing more questions in the forum than writing code into the .c file... ;-) Only minor complaints: you could add a for-loop for the row, and I would call the variables "x" and "y" so that it's clear (by reading the code) what should be done: if( element_id == BLM_SCALAR_MASTER_ELEMENT_SHIFT ) { int y; for(y=0; y<16; y++){ int x; for(x=0; x<16; x++) { BLM_SCALAR_MASTER_LED_Set(0, 0, x, y, MtxPart[0][x][y]); //(blm, element_id, led_x, led_y, colour); } } } Best Regards, Thorsten.
  7. The doxygen documentation is online now: -> http://midibox.org/mios32/manual/group___b_l_m___s_c_a_l_a_r___m_a_s_t_e_r.html Best Regards, Thorsten.
  8. Alright, the BLM_SCALAR_MASTER driver is available now, an integration example can be found under apps/examples/blm_scalar_communication: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fexamples%2Fblm_scalar_communication%2F I've integrated the same driver into MBSEQ V4, and it's working - the code looks much more readable now (which was my motivation... :) Back to the example: I would propose that you build blm_scalar_communication and test it at your side first to ensure that the basis is working. You've to adapt the BLM_SCALAR_MASTER_MIDI_PortSet() assigment if you are not using OUT3/IN3 (resp. UART2) as communication port. The next step is to understand the example code in APP_BLM_ButtonCallback() which shows, how to handle received button events, and how to control the LEDs. The actual MIDI communication to the BLM works "automagically" in background, driven by TASK_Period1mS(), which calls BLM_SCALAR_MASTER_Periodic_mS(). This function (located in modules/blm_scalar_master/blm_scalar_master.c) looks complicated, but this is due to some performance improvement measures to ensure high-speed transfers to the BLM. Actually you don't need to look into the BLM_SCALAR_MASTER driver, it just works... You've to decide by yourself, if it's better to integrate your existing code into this example, or if you want to try to transfer the example code into your application. I won't be able to help you on this - I can only show you, how it works at my side. Best Regards, Thorsten.
  9. Just awesome!!! :-) Best Regards, Thorsten.
  10. I guess that you misunderstood the documentation (e.g. you are overwriting previously written colours). However, this kind of handling won't be necessary anymore once I provide a communication driver. Best Regards, Thorsten.
  11. Let me separate the BLM communication handler from MBSEQ and provide it as a driver, this will simplify the handling dramatically at your side (and hopefully won't raise up too many unnecessary questions which are actually already answered in the MBSEQ source code ;-) I will try this later today, hopefully without unexpected issues. Best Regards, Thorsten.
  12. Note that MBSEQ MI3 has to be connected to BLM MO1, and MBSEQ MO3 to BLM MI1 (like a common bidirectional MIDI connection) One possibility to check that at least the BLM MO -> MBSEQ MI connection is working: Enter MENU->MIDI, change to the Misc page (where BLM_SCALAR port is configured), and then press GP16 to enter the MIDI monitor. The IN3 item of the MIDI monitor should show a MIDI event whenever a BLM button is pressed. If not, troubleshoot the BLM->MBSEQ connection first. Once it's working, there are not so many options how the MBSEQ MO -> BLM MI connection has to be done -> less troubleshooting. Best Regards, Thorsten.
  13. Ok, I added two new items to the wish list: ---------------------------------------------------------- Random generator: allow to select random range (e.g. SELECT button) http://midibox.org/forums/topic/19867-random-generator-range/?do=findComment&comment=172921 ---------------------------------------------------------- Parameter Layer display: show CC#<number> for CC layers http://midibox.org/forums/topic/19867-random-generator-range/?do=findComment&comment=172944 ---------------------------------------------------------- Best Regards, Thorsten.
  14. Cool! Actually you are the first person who requires this switch. I added it at the beginning for the unexpected case that a cable doesn't comply to the USB OTG standard, seems that we found one :) Thanks for the very detailed reports, it was a pleasure to solve this puzzle ;-) Best Regards, Thorsten.
  15. Where did you find the expired link? The latest version can be found under: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fsequencers%2Fmidibox_seq_v4%2Fdoc%2Fmbseqv4_cc_implementation.txt it can also be found in the doc directory of the release package. Best Regards, Thorsten.
  16. Yes, you need a reversed map, and in addition it has to be considered that the CV outputs are working at 16bit resolution. Which means, the outgoing values have to be 16bit instead of 12bit, so just multiply by factor 16 Try this one: MAP123/HWORDI 0:0 320:2560 570:5104 1014:8560 1803:16416 3207:24240 5703:32304 7605:39664 10141:48592 12053:56336 16383:64752 This was related to a stupid bug in the firmware: after upload it tries to find the specified EVENT value in the map to get an index (map_ix, can also be displayed with "show id BUTTON:5" in MIOS terminal). It searched from the second item, the first was ignored. Now fixed in this version: -> http://www.ucapps.de/mios32/midibox_ng_v1_034b.zip Best Regards, Thorsten.
  17. I need more details to find a solution... Could you please create a minimal .NGC file which demonstrates the control loop? Best Regards, Thorsten.
  18. CV: if you need special changes for your usecase, please let me know Best Regards, Thorsten.
  19. Very interesting! I've a faint suspicion: nobody noticed such an USB issue with Win7 in the last 2 years so far, therefore a general MIOS32 driver problem can be excluded. On the other hand I added USB host mode some months ago which makes a difference how the USB device is handled: if MIOS32 "assumes" that the an host cable is connected, it will turn the USB interface into a different mode which won't allow an USB host connection. Your USB adapter might make the difference - it seems that it indicates a USB host device (which violates the USB spec...) However, there is hope that the next test still doesn't require to remove the USB cable: Please upload the USB bootloader update application, and then connect via your UM-880 to MIDI IN1/OUT1 This will allow you to enter MIOS terminal commands. Enter: set enforce_usb_device 1 store Thereafter upload the MIDIbox SEQ V4 application - USB device mode should be enabled. Hopefully this gives us new hints! :) Best Regards, Thorsten.
  20. This is really strange! Could you please try this MIDIO128 version? V1.019 has been built 2 years ago, this one is based on the latest MIOS32 version which is also used for MBNG and MBSEQ: -> http://www.ucapps.de/mios32/midio128_v3_020_pre2.zip If this the new MIDIO128 built isn't working, I've to check for the changes in MIOS32 that I did in the last 2 years Best Regards, Thorsten.
  21. Hi Mike, does it also work if you re-connect the USB cable and don't activate the bootloader? (MIOS Studio has to be restarted after the re-connect) Best Regards, Thorsten.
  22. Hi Mike, ok, at least this means that it won't be required to remove the USB cable - these are the good news! :) For the case that USB MIDI also doesn't work with the other applications: do you have a second computer for testing? Best Regards, Thorsten.
  23. A new version is available: MIDIbox NG V1.034 ~~~~~~~~~~~~~~~~~ o Support for interpolation tables: MAPs can now apply linear interpolation between data points. This allows to quickly define curves without the need to enter the values for the complete range. E.g. previously it was required to enter 128 values to create a curve for a CC controller, now it's mostly sufficient to define the same with 3..4 data points. MBNG will interpolate the values between these points. Interpolation tables can be defined with following commands: MAP<n>/BYTEI and MAP<n>/HWORDI A BYTEI map can define up to 64 datapoints with 8bit resultion, and a HWORDI map can define up to 32 datapoints with 16bit resolution. Usage examples can be found under cfg/test/map* and cfg/test/kb_2.ngc See the user manual for further explanations. o Support for 16bit maps: with MAP<n>/HWORD 16bit values can be mapped. o label "std_rgbled" renamed to "std_rgb" to avoid error message o Cursor handling on SysEx based GLCD output should now work correctly if the big font is activated Best Regards, Thorsten.
  24. Thanks for the inspirations, added to the wish list! :) (My example wouldn't work anyways cause the CC implementation doesn't list Delay Feedback as a controllable parameter. I am not sure if this is because it is really not available or the CC Implementation file hasn't been updated?). The feedback parameter is called "Echo Repeats", or do you mean "Feedback Velocity Level"? The mixer currently can't send to the loopback port, but I could add this as well Best Regards, Thorsten.
×
×
  • Create New...