Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by FantomXR

  1. You can not set the resolution on a "per input" base. So yes, you'd need a dedicated AINSER module.

    Please note: MIOS32 only supports two AINSER modules. Although TK shows how to implement a third module in another thread, I was not able to get it running.

  2. Hey people,

    my setup contains nine 128x64pixel OLEDs in a horizontal layout. I usually print to all of them at the same time.

    Now, MIOS writes to the displays character by character. So it starts with the first line on the first OLED, goes all the way to the first line of the 9th display and then starts over at the 2nd line of the first display. 

    Since there is a lot of data, it takes time to print to the OLEDs and you really can see how the characters are printed line by line. 

    So my question is: Is there a way to speed up that transfer rate? I googled a bit and found this on an arduino forum:

    Is it possible to somehow adapt this to MIDIbox? Do you have an idea?


  3. If you set type=cc then it's logical that it only allows values between 0-127. If you want to send highres-midi you have to set the type=pitchbend or type=NRPN. 

    If you substract 7682 from 8192 you will get 510, which is almost what you set with the range. In this case you have to use MAPs instead of standard ranges. Then it will work. Please refer to the NGC-manual. For testing purposed I'd recommend not to use ranges anyway. 

  4. As far as I know the maximum allowed number of banks is 127. So this shouldn't be a problem. 

    You want 33 OLEDs? This is definitely nothing easy to do. You need to take care of the clock pin when doing the PCB layout. Nothing you can do on breadboard. Also you'd need a separate power supply for it. 

  5. Hey TK.,

    I wonder why RECEIVERS do not react to banks. 

    This is the example code:

    EVENT_RECEIVER id=1 type=SysEX stream="0xf0 0x33 0x22 0x33 0x00 ^txt 0xf7" lcd_pos=1:1:1 bank=1
    EVENT_RECEIVER id=2 type=SysEX stream="0xf0 0x33 0x22 0x33 0x00 ^txt 0xf7" lcd_pos=2:1:1 bank=2

    I'd expect: When bank 1 is selected the text will be displayed on the first screen. When bank 2 is selected it will show up on the second display. If bank 3 is selected nothing should happen.

    But what happens is that it always shows up on both displays. Should it be like this?

    In my setup I send a bunch of SysEx strings to the midibox and I'd like to switch between them with banks. Is that possible?


  6. 43 minutes ago, tago said:

    Are 8 SRs in use because the DIO module is configured as a matrix for keyboard scanning?

    I don't see the reason why TK choosed sr=9 as emulated shiftregister. But anyway: When working with emulated elements (same is valid for button- & LED-matrices f.e.) it's always good to use a value that is definitely not blocked by real hardware.

    The keyboard blocks the first two digital input-SRs (usually HC165) and the first two digital output-SRs (usually HC595). 

    dout_sr1=1 means the first HC595 in the digital chain. din_sr1=1 means the first HC165 in the chain. For a beginner this might be confusing. 

    In NG you can set the total number of scanned shiftregisters with this command:

    SRIO num_sr=2

    Even though in this example I set num_sr=2 I can connect in total 4 shift registers. 2x HC165 and 2x HC595.

  7. Hey people,

    In general I work with different banks. One thing that bothers me since starting working with NG is that it doesn't listen to all banks at the same time. So if I dump values to the midibox it only listens to the bank that it just activated. All other banks do not refresh. 

    Is there a chance that this will be possible in the future?




  8. I tried it now with a fresh firmware. I cloned the GitHub to get the latest version. Then I've copy/pasted the changes @TK. made into the code and compiled. 

    I use the core and a classic AINSER8 module. PB8 goes directly from the discovery-board to a breadboard. There is a pullup resistor to 5V. PB8 goes into the CS-input. Result: It's working fine.

    If I now just change PB8 to PE8 (like in your example), nothing happens. Here is my NGC:

    AINSER n=1 enabled=1 cs=1 resolution=7bit num_pins=1 muxed=0
    AINSER n=2 enabled=1 cs=2 resolution=7bit num_pins=1 muxed=0

    Have you an idea?!

  • Create New...