Jump to content

marcos_ee

Members
  • Posts

    12
  • Joined

  • Last visited

Everything posted by marcos_ee

  1. By the way, when only one UART was enabled, is there any problem when RX and TX are both assigned to the same UART, or I should have one UART dedicated per RX/TX?
  2. I guess so. I was going to ask you about the same thing. I've seen mutexes/semaphores used across the project for SD and midi out, but not midi in. I think I'll have to figure out how midi in is handled.
  3. Alright, thank you for the follow up. A few insights/tips on the structure of MIOS32 would be more than enough for now. I do not intend to use BLM, ENCODERS, or any external hardware at the moment. I'm just trying to make my way and see how things work altogether inside MIOS32 core.
  4. You're probably right. MIOS32 itself comes with plenty of tutorials and examples, yet I find it very difficult to absorb. By the way, I'm trying the Midi file player, and just implemented the TASK_MIDI_Hooks from the programming model, but only a fraction of notes (output from MIOS studio PC app) are received and the receive handler always times out on port 0x20. Any clues?
  5. By the way, I have been to your BLM matrix, but I couldn't see the project code. I'm trying to do an advanced ARP. and/or a pattern player. No step sequencing is involved. Any input is highly appreciated..
  6. Well, I believe I found it. The "programming model" from main.c has to be always provided, thus the task TASK_MIDI_Hooks, which in its turn assigns/registers APP_MIDI_NotifyPackage. The separation between main (programming model) and the rest of the app modules had its pros and cons.
  7. I just found your reply by coincidence. I was waiting for months and didn't expect to hear back from anyone. I have posted a new question regarding the programming model of MIOS and would love to get some feedback.
  8. Hello, Could someone please tell me where APP_MIDI_NotifyPackage is used or assigned to its default handler, MIOS32_MIDI_Receive_Handler, in any of the projects? The only reference I found was in the main.c of the programming model, however, most tutorial apps, projects like Midibox SEQ, and LoopA, all of them had this function declared, but without assignment to a receive handler, as it is the case in the programming model where TASK_MIDI_Hooks assigns/registers it at line #257. The following from LoopA app.c: ///////////////////////////////////////////////////////////////////////////// // This hook is called when a MIDI package has been received ///////////////////////////////////////////////////////////////////////////// void APP_MIDI_NotifyPackage(mios32_midi_port_t port, mios32_midi_package_t midi_package) { // -> MIDI Router MIDI_ROUTER_Receive(port, midi_package); // -> MIDI Port Handler (used for MIDI monitor function) MIDI_PORT_NotifyMIDIRx(port, midi_package); /// -> MIDI file recorder /// MID_FILE_Receive(port, midi_package); // Record midi event in loopa loopaRecord(port, midi_package); // If we are in the MIDI monitor screen, output a packet dump MIDIMonitorAddLog(1, port, midi_package); // forward to MIDI Monitor // SysEx messages have to be filtered for USB0 and UART0 to avoid data corruption // (the SysEx stream would interfere with monitor messages) u8 filter_sysex_message = (port == USB0) || (port == UART0); MIDIMON_Receive(port, midi_package, filter_sysex_message); /* Output MIDI IN activity on the frontpanel LEDs */ switch (port) { case UART0: MIOS32_BOARD_LED_Set(0x0002, ~MIOS32_BOARD_LED_Get()); break; case UART1: MIOS32_BOARD_LED_Set(0x0004, ~MIOS32_BOARD_LED_Get()); break; case UART2: MIOS32_BOARD_LED_Set(0x0008, ~MIOS32_BOARD_LED_Get()); break; } /* // Draw notes to voxel space if( midi_package.event == NoteOn && midi_package.velocity > 0) voxelNoteOn(midi_package.note, midi_package.velocity); if( midi_package.event == NoteOff || (midi_package.event == NoteOn && midi_package.velocity == 0) ) voxelNoteOff(midi_package.note); */ }
  9. Wow. Just realized that I have posted similar question months ago and still no response yet!
  10. Hello guys, I've been working on this for almost two months. I have read plenty of documentations, referred to almost all tutorials/examples inside the repository to understand how MIOS32 works so I can derive a stripped-down version with only functions needed in my project. I'm trying to make a Midi file player and a simple sequencer. I just don't need most of the stuff for USB<>MIDI, I2C, SPI, LCD, and many others. MIOS32 is a great project and a huge contribution from Thorsten. I know there's no equivalent initiative available for public in this regards. However, I just find the code highly dependent on several modules, old Std. Peripheral libs, and extremely difficult to port. Juce is not an option at the moment. Any advice is highly appreciated! Thank you!
  11. Hello everyone, A quick introduction before I get down to the subject. Just like many others here, I have background in all of embedded, music, and Midi. I know questions are not always welcome, especially when project is covered with a great deal of documentation, thanks a million to Thorsten on his great contribution and support for MIOS32. However, there are sometimes when you get stuck and you need some help to proceed. Before I post here, I would like to assure you that I did my homework, studying the sources for almost a week and reading most documentation, wikis, and tutorials available inside the MIOS32 package. Well, I'm trying to build the core modules of MIOS32 so I can derive a stripped-down version for my own purposes. Say a simple Midi file player, sequencer, pattern player, etc.. Of course, I'm targeting STM32, regardless of series. So far, I've done a lot of work porting some modules to the new Cube/HAL libs instead of the outdated StdLib. I still have a lot of work to get a working project, but I thought it won't hurt to ask, get some advice/guidance so I know if there's any better/alternative path to what I'm trying to achieve. Marcos
  12. Hello guys! I'm trying to build MIOS32 and I have a few questions. I read most documentations and I have been studying the sources for almost a week now. It's really a great contribution from Thorsten. Before I dive into details of my question, I found this post very helpful and might have the answer I'm looking for. However, I was wondering if same steps work/apply to STM32CubeIDE? As you know, it's an Eclipse based IDE. I have another question, but I believe it's better to ask in a new thread! Marcos
×
×
  • Create New...