FantomXR

Members
  • Content count

    889
  • Joined

  • Last visited

Everything posted by FantomXR

  1. Another MIDIbox core

    Hey people, since I'd like to be independent from the availability of the STM32F4-discovery board I started designing my own board, which has an STM32F407VGT6 on board. Its an LFQP 100 package, so not easy to solder. I have a reflow oven and the first PCB I made seems to work fine. The PCB has very few components. This was just a quick test board to see if the basic circuit of the STM32F4 is working. It's basically just the STM itself and it's components like caps and crystal. Also there is a 3.3V regulator (based on 1117 but will change to TC2117) to power the uC. I added a pinheader for USB connection (on the very left), a pinheader for SWD to flash the bootloader and a reset-header.  On the right you see the HCT541, which connects to J8/9 (tested: works fine). Also I added an MCP3208 and HC595 for an AINSER64-like-analog-scanning.  On the bottom of the PCB there is a MicroSD-slot.  No changes in the firmware are needed to use this. The only thing one need to do is flashing the bootloader the first time. @latigid on made a nice "how-to": http://wiki.midibox.org/doku.php?id=wcore After that you can use the MIOS as is. So, why I'm telling you this?  This core is already very specific for my applications. But if you are interested I could upload the minimal circuit for the STM32F4 to work and you could add all headers and components that YOU need by yourself. So in theory you could recreate the original MIDIbox core but you should end up with a much smaller footprint (especially regarding height).  If you need assistance regarding soldering the STM32F4 I can offer to reflow-solder it for you.  I'll clean up my circuit and upload it the next days!   Best, Chris
  2. OLED: Stream longer than pixels on display

    So in case I have another sysex-stream assigned to the 2nd line this would also get overwritten? This is also no solution for me :-(
  3. Hey people, I have a question: I use OLEDs with a resolution of 128 x 64. I use them in a row. I set up a sysex-stream which shows text on the displays. This stream is set to lcd(1:1:1).  If the text takes more space than 128px, the rest gets printed on the next screen(s). I know that this could be useful. But not in my application. Can I somehow disable that? I took a look into the code but I didn't find it yet.  Each OLED should get it's own stream. If I do not push the streams in the correct order (f.e. first stream 2 => OLED 2 and then stream 1 => OLED 1) it will overwrite stream 2 of the 2nd OLED. Thanks, Chris
  4. OLED: Stream longer than pixels on display

    And what happens with the text when it exceeds 128px? Wordwrap? Or discarded? 
  5. Fatar TP/40L Midification

    Great! Looks good! :-) Strange keybed... from C to B?
  6. Hey people, I have a question: I have made my own MB_NG & KB-application. Now I want to save only the files that are needed to "make" this firmware into a separate folder to keep the oversight.  Does anybody know how to do this? I'm on OSX and work with XCode.  Thanks, Chris
  7. MCAN

    Looks like an awesome feature! A perfect way to connect two or more midiboxes without adding latency! Thanks for sharing! :-) I'll give it a try also...
  8. Hey people, I try to understand how the DIN is even working in the STM32F4-Core.  PB14 is not going through the HCT541 buffer. It goes directly into the IC. If I understood it correctly the purpose of the HCT541 is to do a level-amplification. It takes the level from the STMs outputs (which is 3.3V - 0.4V for HIGH for CMOS or 2.4V or TTL) and amplifies them. As the HC165 and HC595 are powered from +5V they need 3.15V to see a HIGH-signal. As the HCT541 delivers 4.5V for HIGH the HC595 does of perfectly work. But why do the HC165 even work? As I said it doesn't get an amplification. So in theory the HC165 sees 2.9V for HIGH but that's not enough so it should stay LOW and doesn't work. But it does... Can someone explain this behavior? Thanks, Chris
  9. Why does the HC165 even work?

    Oh dear... thanks for clearing my mind! ;-) BTW: Do you watch this forum all day? ;-) 
  10. dipCoreF4 and dipBoardF4, a compact Core.

    I'll look into it ;-) You don't have any suggestions which pins I can use? :-)
  11. dipCoreF4 and dipBoardF4, a compact Core.

    Got you... but changing the pins for SPI2 in MIOS32 firmware shouldn't be that hard. So I could move those functions to other pins. But I don't have a clue how to implement that second USB port in the firmware... and I assume you don't want to share this informations which I can totally understand.
  12. dipCoreF4 and dipBoardF4, a compact Core.

    My mainboard uses the 407. Hm... there is still something I do not get. The discovery-boards use the micro-USB-connector for USB-Host-Mode. That means, when connecting a device (mouse or MIDI controller) to the discovery-board via this board it's not possible to connect to the core itself through USB (because the USB-port (PA12 & PA13) is blocked through the device). But in your video I see that you still have your core connected through USB to the computer. How did you do that?? :-) 
  13. dipCoreF4 and dipBoardF4, a compact Core.

    Hey Bruno, I'd like to connect another USB device (mouse or midi controller) to my core. :-) Like in your video...
  14. dipCoreF4 and dipBoardF4, a compact Core.

    @Antichambre I'd like to integrate such feature onto my mainboard. Are you willing to share the schematics and if necessary the code?  Any feedback is very appreciated. Thanks! Chris
  15. Hey people, here is the problem: FATAR has changed the diode-matrix of their keybeds recently. So the DIO-matrix is not usable for those keybeds anymore. I want to get it running and of course I'm happy to design a new DIO-matrix and of course post it here so everybody can use it. So... I'm not 100% sure about the diode-matrix yet. In the old diode-matrix both keyboard sides (left and right) had separate rows. So the left side had 8 rows, the right side had 8 rows: Look at this pictures. With "rows" I mean T0-T7.  In the new diode-matrix it looks like both sides use the same rows. Because if I plug in a new keybed (via an adapter) into a DIO-matrix (which I did many times before with old keybeds though old diode-matrix) it outputs correct values from a-1 (lowest key) till middle-C. With the next key C#3 the left side starts. But C#3 outputs a-1. Further tests confirmed my assumption, that both sides share the same set of T0-T7.  So that means: I need a shiftregister more than is available on the DIO-matrix. At the moment I have T0-T7 connected to the 8 inputs of the HC165, MK&BK are connected to the 16 outputs of the two HC595s. So in total I can connect 64 keys to the DIO-matrix. I now want to add another 595 to connect the last keys. Of course connecting the 595 itself is easy and done quickly. But I need to adapt the code and what I've tried so far was not working. I need to add a dout_sr3 to the code... Any help?? Maybe @TK. could point me in the right direction! Thanks people! Best, Chris
  16. No one? Any help would be very appreciated! 
  17. Online Gerber Viewer

    Dear Bruno, no I didn't try them. Actually they are located in the Netherlands as far as I know. I order all my stuff at elecrow in China. Fast, reliable and very cheap.
  18. Online Gerber Viewer

    Hey people, for those of you who are looking for a nice online gerber view, I can recommend AISLER: https://aisler.net You can either upload the gerber files, but they do accept also right away eagle-brd.-files which makes it very easy to visualize it. Prices seem a bit expensive. But anyway: for visualizing the PCB this is the best tool I've ever seen. Best, Chris
  19. midi socket 5pol Din 180°

    A while ago I ordered those midi connectors and I’m happy with it.  https://de.aliexpress.com/item/-/32832191248.html anyway: I think it’s hard to tell if those connectors are good or not. They look good and they feel nice. The midi plug has a tight fit. But apart from that? How should they differ from Kycon? If you want I could send you a few samples of those. I ordered 50pc a few weeks ago. 
  20. Blink LED with NG (Code-Sharing)

    Hey people, I don't have a question but I want to share this code. I searched for a way to get a blinking LED within NG. Here is what it looks like: EVENT_BUTTON id=1 type=meta meta=runsection:2 button_mode=Toggle EVENT_LED id=1 dimmed=1 EVENT_LED id=2000 And this is the NGR-part: if ^section == 2 if BUTTON:1 == 127 set LED:2000 127 endif if BUTTON:1 == 0 set LED:2000 0 endif if LED:2000 == 127 set LED:1 64 delay_ms 150 set LED:1 20 delay_ms 150 exec_meta RunSection:2 endif if LED:2000 == 0 set LED:1 20 endif endif What it does is: It checks the status of the button 1. Please note that the button is set to "toggle"-mode. If it's 127, LED:2000 which just acts as a value-storage is set to 127 and if that LED is 127, the loop is started. At the beginning of that loop the button-status is checked and as soon as it's 0, the loop stops. Best, Chris
  21. Blink LED with NG (Code-Sharing)

    Hm... I know how to create a meta-command. But I don't know how to refer to a timer within a meta-command. Maybe you could explain how to set up a simple timer and I'll see if I can implement that? Thanks, Chris
  22. delay function

    Do you send single note off events? This is not necessary. I assume that Thorsten took care of the classical MIDI implementation.  If you send CC #123 from NG to KB, KB should interpret this as "All notes off". This should speed up the process significantly. 
  23. delay function

    Not without programming a timer in RTOS.   
  24. Blink LED with NG (Code-Sharing)

    Hm, good point! I tried to implement such thing via RTOS... but this seems to be above my skills.
  25. Push & Hold - function?

    Hey people, maybe I missed it or it is not possible.  I'd like to set up a switch. This switch should have to functions. The first is executed as soon as I push it an release it immediately. The second one should be executed if I push the button and hold it for a given amount of time. Any ideas? Thanks, Chris