FantomXR

Members
  • Content count

    874
  • Joined

  • Last visited

Everything posted by FantomXR

  1. 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.
  2. 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
  3. 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. 
  4. 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
  5. 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
  6. 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. 
  7. delay function

    Not without programming a timer in RTOS.   
  8. 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.
  9. 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
  10. Blink LED with NG (Code-Sharing)

    You could also do a "fade": 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 20 set LED:1 20 delay_ms 20 set LED:1 25 delay_ms 20 set LED:1 30 delay_ms 20 set LED:1 35 delay_ms 20 set LED:1 40 delay_ms 20 set LED:1 45 delay_ms 20 set LED:1 50 delay_ms 20 set LED:1 55 delay_ms 20 set LED:1 60 delay_ms 20 set LED:1 64 delay_ms 20 set LED:1 60 delay_ms 20 set LED:1 55 delay_ms 20 set LED:1 50 delay_ms 20 set LED:1 45 delay_ms 20 set LED:1 40 delay_ms 20 set LED:1 35 delay_ms 20 set LED:1 30 delay_ms 20 set LED:1 25 delay_ms 20 set LED:1 20 delay_ms 20 exec_meta RunSection:2 endif if LED:2000 == 0 set LED:1 20 endif endif  
  11. Push & Hold - function?

    I solved it! This is the NGC part: EVENT_BUTTON id=1 type=meta meta=runsection:1 button_mode=OnOff if_equal=127 And this is the NGR part: if ^section == 1 delay_ms 500 if BUTTON:1 == 127 SEND CC USB1 1 1 127 exit endif if BUTTON:1 == 0 SEND CC USB1 1 2 0 exit endif endif This code wait's 500ms and checks if the button is still pressed. If yes it sends on channel 1, if not it sends on channel 2.
  12. Push & Hold - function?

    Yes... I'd need to do this in NG.... hmmm Thanks for your help!
  13. SMD soldering in Berlin.

    Hey Bruno, maybe I can help. I'm located in Berlin. I have a reflow oven and a P&P machine. Best, Chris
  14. Measuring slowest and fastest delay times

    Do you have a machine, that hits the key in a "linear" way? Or how do you know it's not linear? I think the finger itself is not that accurate. Also the experience shows, that it's not important how the values look like. It's about how it feels in combination with the soundengine. On many keyboards if you play "normally" you'll land at a velocity of 70-90 and it doesn't have anything to do with a linear curve. //edit: You can speed up the prescaler for the SRIO-chain and use NG instead of KB. This of course needs a change in the code and recompiling. There you have a map-function... if that helps. Due to faster scanning you'll get the same high resolution regarding velocity as you have in KB.
  15. Measuring slowest and fastest delay times

    Doesn't provide "set kb 1 debug on" all necessary informations?
  16. Investigating Latencies

    Hey people, for a project of mine I need high speed on the MIDI output.  I took the NG-firmware and cleaned it from all the stuff that I do not need. Also I added this line to my app.c which speeds up the scanrate of the SRIO significantly MIOS32_SPI_TransferModeInit(MIOS32_SRIO_SPI, MIOS32_SPI_MODE_CLK1_PHASE1, MIOS32_SPI_PRESCALER_8); I think the standard prescaler is at 64 or so. This gives me an ultra high scanning frequency for the SRIO chain and it works great. I can not see any loss of data. My setup looks like this: I have the core and a DIO-Matrix connected to it. I connected a simple switch to the DIO-Matrix which sends a note event to the midi-port.  I connected my oscilloscope to this setup. The first channel is directly connected to the switch, the second channel is connected to the midi-output. Due to the open-drain-mode of the MIDI-out I need to bridge pin4 and pin5 of the midi-jack to get accurate results. The wiring of the MIDI-out is straight forward: Pin 4 is connected to +5V via 220Ohm. Pin 5 is connected to the core via 220Ohm. So what I notice here is the time between pressing the switch and the midi-out signal differs any time I press the button. Sometimes it's only 100-200us, sometimes it's more than a millisecond.  I'd like to know where this comes from and if it's possible to minimize this latency.  Also I'd like to know why the gap between pressing the switch and midi-out signal differs and doesn't stay the same (which would I expect if there is a buffer involved). We had a discussion about speed in the past:  But even if I change the baudrate or buffersize of the midi-out, the latency stays.  Any ideas? Thanks, Chris
  17. Investigating Latencies

    Thanks! I thought it's something like that. Is there a chance to halve that?
  18. oled 1306 128x64 eagle/kicad library?

    This might help oled.lbr
  19. OLED shows noisy-output

    Yeah. You were absolutely right! The last days I had no time to connect both cores... but today I checked everything.... man...
  20. OLED shows noisy-output

    Hey people, I need you experienced guys! I've made a mios32-Core by myself which I test at the moment. While the first one works great. The second one causes trouble. And I don't know why.  Please see the picture attached. Does anyone have an idea where the noise on the displays come from? I used this OLED-breakout (it contains OLEDs, Reset-circuits (Cap & Res) & Shiftregister) in some other projects already and it worked fine. So I assume the mistake is somewhere on the core. But as I said: Another identical core runs fine... Could it be the STM that is damaged?  To be sure, that the mistake is not on the 9x OLED Breakout, I also tried it with an OLED with Reset and shiftregister on the breadboard. Same here... I now searched for about eight hours and also searched with an oscilloscope, but I was not able to locate the problem.  Thank you very much! Best, Chris
  21. OLED shows noisy-output

    Oh my god! This is embarrassing. I forgot to set the correct width and height in the bootloader.... I worked with OLEDs already a dozen times... I wonder how I was able to overlook that! Thanks for your help!  
  22. OLED shows noisy-output

    Which app do you mean? As the resistor-network is on the same PCB as the OLEDs and the PCB works great with another core, this shouldn't cause any problems.  I'll check again all connections and soldering...
  23. OLED shows noisy-output

    Yes. USB power on both cores.
  24. OLED shows noisy-output

    No. The same oled-breakoutboard works on another core. So I don't think it's a defective display. @Antichambre But still: Why does that happen only on that core? The other one runs fine. Which modification do I have to make in the firmware to clear it correctly? Could you help me with that? Thanks guys!
  25. Relocation of keybed from main board not working

    Yes! That's correct!