Zam
-
Posts
625 -
Joined
-
Last visited
-
Days Won
26
Content Type
Profiles
Forums
Blogs
Gallery
Posts posted by Zam
-
-
I'm not used to keyboard with MB_NG but there is
kb_transpose=
and
kb_velocity_map=
You can define multiples KB event id (same hw_id), with different map, then select the proper event with a button (if_equal=)
Best
Zam
-
Hello Frank
NG offer midi router, but it seem it's not enough for your need
You should then use event sender/receiver to format/forward midi event, in addition with conditional definition you can flip or select different midi mapping depending of some buttons status
e.g for all notes from ch1 to ch4 if button 1 is pressed (simplified definitions)
event_receiver id=1 fwd_id=sender:1 type=noteon key=all chn=1 if_equal=button:1:127 event_sender id=1 type=noteon key=all chn=4 event_button id=1 range=0:127 button_mode=toggle
Best
Zam
-
Hello
6 hours ago, latigid on said:It's not clear if this is a typical defect in the chip or whether certain channels are damaged during hand soldering. The other channels are fine :).
You'll never know as i guess you don't test the chip before soldering
I tend to think it's an overheat soldering issue
My first TLV soldering 3 years ago had a dead channel (AOUT_NG pcb), I know my soldering was not good then with no flux available and I take to long time to solder pin per pin... overheat
Now I have about 6 TLV soldered in my dedicated pcb, I use lot of flux, low solder quantities and tip slip technique, soldering one side in one path, less than 2 second move for 10 pin
No issue with this component since
TLV don't like heat...
Best
Zam
-
Hi Andre
Without looking right now at TLV spec your observations seem out of DAC spec, are you sure you don't have gain error somewhere else or load issue which sink the buffer/amp ?
Do you observe the same at TLV output, unloaded ?
However the interpolation maps at NG are absolutely great !!! (especially the 16bit one) and having an on the fly point value "set and save" will be more than great
Best
Zam
-
Hello
Nice build !
Stud insert from Schaffer is great !!!
Used it in one of my design too, I'm a "no visible screw" freak since
Best
Zam
-
Hi
I also think there is a something possible with NG
-individual event receiver definition for each notes forwarded to two sender, one for note one for PB
-or a global receiver (note=all) forwarded to two sender (note and PB) with conditional according to receiver note value
Best
Zam
-
5 hours ago, beautyofdecay_ said:
My reference was to the line drivers.
When I added them, power consumption went up with about 300mA. The TPD and BLM16x4 were connected to the receiver side of the line drivers. I didn't expect them to be so power hungry...How many LEDs !?! ... don't know the limiting resistor value at these built but 300mA is 30 LEDs @ 10mA, easy to get !
Best
Zam
-
Hi Theo
A 2 min search at mouser return this
Best
Zam
-
Hello
13 hours ago, Jay Beckham said:Adding a third keyboard to my setup and no room left on my 7 DIN boards.
Look like MB_NG and MB_KB only support 2 keyboard, If you need a third I guess you need another core too
Best
Zam
-
Hi
Not sure "all" command work at NGR but did you try this:
send NoteOn USB1 1 all 0
e.g. for usb1 chn 1, if it work you just have to write few for the 3 port and two channels you use
Best
Zam
-
19 hours ago, macsaif said:
Hello,
here is the complete .NGC file for layer configuration:
RESET_HW
SRIO num_sr=4
KEYBOARD n=1 rows=8 dout_sr1=1 dout_sr2=2 din_sr1=1 din_sr2=2 \
din_inverted=0 break_inverted=0 din_key_offset=32 \
scan_velocity=1 scan_optimized=1 make_debounced=1 break_is_make=0 note_offset=36 \
delay_fastest=0 delay_fastest_black_keys=0 delay_slowest=100KEYBOARD n=2 rows=12 dout_sr1=3 dout_sr2=4 din_sr1=3 din_sr2=4 \
din_inverted=1 break_inverted=0 din_key_offset=32 \
scan_velocity=1 scan_optimized=1 make_debounced=1 break_is_make=0 note_offset=28 \
delay_fastest=1 delay_fastest_black_keys=0 delay_slowest=140
MAP1/BYTEI 0:0 1:20 20:60 60:90 90:110 118:127EVENT_KB id=1 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 kb_velocity_map=map1 kb_transpose=0 ports=1000110000000000
EVENT_KB id=2 hw_id=1 type=NoteOn chn=4 key=any use_key_number=1 range=0:127 kb_velocity_map=map1 kb_transpose=0 ports=1000110000000000
hello
Your code look ok so far ... I'm not used to KB so I can't say for sure...
can you try something like this instead?
RESET_HW SRIO num_sr=4 KEYBOARD n=1 rows=8 dout_sr1=1 dout_sr2=2 din_sr1=1 din_sr2=2 \ din_inverted=0 break_inverted=0 din_key_offset=32 \ scan_velocity=1 scan_optimized=1 make_debounced=1 break_is_make=0 note_offset=36 \ delay_fastest=0 delay_fastest_black_keys=0 delay_slowest=100 KEYBOARD n=2 rows=12 dout_sr1=3 dout_sr2=4 din_sr1=3 din_sr2=4 \ din_inverted=1 break_inverted=0 din_key_offset=32 \ scan_velocity=1 scan_optimized=1 make_debounced=1 break_is_make=0 note_offset=28 \ delay_fastest=1 delay_fastest_black_keys=0 delay_slowest=140 MAP1/BYTEI 0:0 1:20 20:60 60:90 90:110 118:127 EVENT_KB id=1 hw_id=1 fwd_id=sender:1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 kb_velocity_map=map1 kb_transpose=0 ports=0000000000000000 EVENT_SENDER id=10 hw_id=1 type=NoteOn chn=1 key=any range=0:127 ports=1000110000000000 EVENT_SENDER id=11 hw_id=1 type=NoteOn chn=4 key=any range=0:127 ports=1000110000000000
-
Ok, but you should have also a map (you use one map...) and kb srio definition? Is RESET_HW specified ?
Please post the full .NGC so we can have a look ...
Best
Zam
-
Hello
Hard to say without more of your .NGC
I don't get how you change event status here as you don't have any bank, radio group, or conditional definition ?
Best
Zam
-
Just now, macsaif said:
I am using the 16 digital inputs mapped to shift register 5 and 6. The transpose and BiM function is working.
DIO 000, 001, 010 ...111 represents 3 bits from the 16 inputs.
Is that 3 bits definition at .NGC ??
DIO define emulated SR, you have direct access with the hooked button and corresponding hw_id
I guess your first DIO button is hw_id=33 and last is hw_id=48 (if SR 5 and 6)
But if I get it right you want to use 3 button to define 8 keyboard states ?
000 is all button off
001 is button n°3 on
011 is button 2 and 3 on
etc...
111 is all button on
can you confirm that is the logic you want to implement ?
Best
Zam
-
Just now, macsaif said:
I want to change the channell based on the combination of 3 inputs. The combinations are:
What is DIO-000, DIO-100 etc... ?
Button on a matrix ?
-
Yes set active work too !
But if you need to select 16 ch, the NGR will be consequent (16 'if' with 16 'set_activ' each)
256 line at least
Best
Zam
-
Hello
You can change config with LOAD command at .NGR
You should be able to select a keyboard event definition with conditional.
EVENT_KB hw_id=1 id=11 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 if_equal=button:1:1 EVENT_KB hw_id=1 id=12 type=NoteOn chn=2 key=any use_key_number=1 range=0:127 if_equal=button:1:2 EVENT_KB hw_id=1 id=13 type=NoteOn chn=3 key=any use_key_number=1 range=0:127 if_equal=button:1:3 map1 1 2 3 EVENT_BUTTON hw_id=1 id=1 value=1 range=map1 button_mode=toggle
Banking or radiogroup should work too, it depend how you want to select the channel
Best
Zam
-
Hi
At mios32_timestamp.c
does this can be used ?
///////////////////////////////////////////////////////////////////////////// //! Use this function to get the delay which has passed between a given and //! and current timestamp. //! //! Usage Example: //! \code //! u32 captured_timestamp = MIOS32_TIMESTAMP_GetDelay(); //! // ... //! // ... do something ... //! // ... //! u32 delay_in_ms = MIOS32_TIMESTAMP_GetDelay(captured_timestamp); //! MIOS32_MIDI_SendDebugMessage("Delay: %d mS\n", delay_in_ms); //! \endcode //! \return the delay between the given and the current timestamp ///////////////////////////////////////////////////////////////////////////// s32 MIOS32_TIMESTAMP_GetDelay(u32 captured_timestamp) { // will automatically roll over: // e.g. 0x00000010 - 0xfffffff0 = 0x00000020 return timestamp - captured_timestamp; }
-
For sure 65ms period for blinking led is fast...
I'll see what I can try too
Maybe TK will chime in and give us some clue
Best
Zam
-
side note
I just have a look,
Also at mbng_dout.c , maybe another route is to have a non static value for DIM function or to add a condition at LED set for a specific value ?
I'm thinking out loud...
Best
Zam
-
Can't say no :)
Best
Zam
-
My C skill is not that good, but that's a good idea, I'll give a try asap
Best
Zam
-
Hello Fantom
No I don't try with optocoupler, but I try at 31.25kb standard speed, I'm able to reach the slave core as loading .NGC in the file browser (very slowwwwwwww) but unable to update without trouble.
I don't think it's the issue, as my cores share same PSU and stand side by side so UART direct interconnection is less than 10 cm
Also if I have to choose I prefer to have the actual 10x speed 312.5kb than abilities to reach the core...
I have no pull up resistor neither current limiting, maybe I can try that.
But as usual midi data is fine, maybe it's something with the long sysex for MIOS command, I'll will investigate more around buffer or if there is a special handler for those sysex when using UART in/out ...
Anyway thanks for your idea
Best
Zam
-
mmm... not that good finally, I'm not able to update or upload .NGC without disconnection and data lose
whatever UART speed I set.
so, need further investigation ...
Best
Zam
Midi forwarding with modification
in MIDIbox NG
Posted
yes you use 2 core... KB+NG
what about KB remote from NG for those particular function ?
I mean a button at NG that send CC, nrpn or sysex to KB core that flip/change those functions (with dummy led or button receiver that handle the status, used as conditional like I explain before)
Right now I don't see how to format note transpose at NG without a keyboard directly hooked to it (with functions named below)
Best
Zam