Jump to content

ilmenator

Frequent Writer
  • Posts

    2,302
  • Joined

  • Last visited

  • Days Won

    37

Everything posted by ilmenator

  1. There are four spare buttons on the TPD which could be used if space is unavailable here.
  2. TK, I can send you one of these if you want to.
  3. Here is the debug output from pressing the C1 key: [127304.986] --- [127304.986] DOUT SR1.7: 00000000 00000000 [127304.986] DOUT SR1.6: 10000000 00000000 [127304.987] DOUT SR1.5: 00000000 00000000 [127304.987] DOUT SR1.4: 00000000 00000000 [127304.987] DOUT SR1.3: 00000000 00000000 [127304.987] DOUT SR1.2: 00000000 00000000 [127304.987] DOUT SR1.1: 00000000 00000000 [127304.987] DOUT SR1.0: 00000000 00000000 [127304.987] DOUT SR2.7: 11111111 11111111 [127304.987] DOUT SR2.6: 11111111 11111111 [127304.987] DOUT SR2.5: 11111111 11111111 [127304.987] DOUT SR2.4: 11111111 11111111 [127304.988] DOUT SR2.3: 11111111 11111111 [127304.988] DOUT SR2.2: 11111111 11111111 [127304.988] DOUT SR2.1: 11111111 11111111 [127304.988] DOUT SR2.0: 11111111 11111111 [127304.989] KB1: DOUT#1.D6 / DIN#1.D0: pressed --> key= 0, break contact, note=C-1 (36) [127304.989] Entry: timestamp_break=4683 timestamp_make=0 [127304.990] --- [127304.990] DOUT SR1.7: 10000000 00000000 [127304.990] DOUT SR1.6: 10000000 00000000 [127304.991] DOUT SR1.5: 00000000 00000000 [127304.991] DOUT SR1.4: 00000000 00000000 [127304.991] DOUT SR1.3: 00000000 00000000 [127304.991] DOUT SR1.2: 00000000 00000000 [127304.991] DOUT SR1.1: 00000000 00000000 [127304.991] DOUT SR1.0: 00000000 00000000 [127304.991] DOUT SR2.7: 11111111 11111111 [127304.991] DOUT SR2.6: 11111111 11111111 [127304.992] DOUT SR2.5: 11111111 11111111 [127304.992] DOUT SR2.4: 11111111 11111111 [127304.992] DOUT SR2.3: 11111111 11111111 [127304.992] DOUT SR2.2: 11111111 11111111 [127304.992] DOUT SR2.1: 11111111 11111111 [127304.992] DOUT SR2.0: 11111111 11111111 [127304.992] KB1: DOUT#1.D7 / DIN#1.D0: pressed --> key= 0, make contact, note=C-1 (36) [127304.992] Entry: timestamp_break=4683 timestamp_make=4730 [127304.993] PRESSED note=C-1, delay=47, velocity=71 (played from a white key) [127305.820] --- [127305.820] DOUT SR1.7: 00000000 00000000 [127305.820] DOUT SR1.6: 10000000 00000000 [127305.820] DOUT SR1.5: 00000000 00000000 [127305.820] DOUT SR1.4: 00000000 00000000 [127305.821] DOUT SR1.3: 00000000 00000000 [127305.821] DOUT SR1.2: 00000000 00000000 [127305.821] DOUT SR1.1: 00000000 00000000 [127305.821] DOUT SR1.0: 00000000 00000000 [127305.821] DOUT SR2.7: 11111111 11111111 [127305.821] DOUT SR2.6: 11111111 11111111 [127305.821] DOUT SR2.5: 11111111 11111111 [127305.821] DOUT SR2.4: 11111111 11111111 [127305.822] DOUT SR2.3: 11111111 11111111 [127305.822] DOUT SR2.2: 11111111 11111111 [127305.822] DOUT SR2.1: 11111111 11111111 [127305.822] DOUT SR2.0: 11111111 11111111 [127305.822] KB1: DOUT#1.D7 / DIN#1.D0: depressed --> key= 0, make contact, note=C-1 (36) [127305.822] Entry: timestamp_break=0 timestamp_make=0 [127305.823] RELEASED note=C-1 [127305.830] --- [127305.830] DOUT SR1.7: 00000000 00000000 [127305.830] DOUT SR1.6: 00000000 00000000 [127305.830] DOUT SR1.5: 00000000 00000000 [127305.830] DOUT SR1.4: 00000000 00000000 [127305.830] DOUT SR1.3: 00000000 00000000 [127305.831] DOUT SR1.2: 00000000 00000000 [127305.831] DOUT SR1.1: 00000000 00000000 [127305.831] DOUT SR1.0: 00000000 00000000 [127305.831] DOUT SR2.7: 11111111 11111111 [127305.831] DOUT SR2.6: 11111111 11111111 [127305.831] DOUT SR2.5: 11111111 11111111 [127305.831] DOUT SR2.4: 11111111 11111111 [127305.832] DOUT SR2.3: 11111111 11111111 [127305.832] DOUT SR2.2: 11111111 11111111 [127305.832] DOUT SR2.1: 11111111 11111111 [127305.833] DOUT SR2.0: 11111111 11111111 [127305.833] KB1: DOUT#1.D6 / DIN#1.D0: depressed --> key= 0, break contact, note=C-1 (36) [127305.833] Entry: timestamp_break=0 timestamp_make=0 And this is for pressing the G#3 key: [127332.400] --- [127332.400] DOUT SR1.7: 00000000 00000000 [127332.400] DOUT SR1.6: 00000000 10000000 [127332.400] DOUT SR1.5: 00000000 00000000 [127332.400] DOUT SR1.4: 00000000 00000000 [127332.400] DOUT SR1.3: 00000000 00000000 [127332.400] DOUT SR1.2: 00000000 00000000 [127332.400] DOUT SR1.1: 00000000 00000000 [127332.400] DOUT SR1.0: 00000000 00000000 [127332.401] DOUT SR2.7: 11111111 11111111 [127332.401] DOUT SR2.6: 11111111 11111111 [127332.401] DOUT SR2.5: 11111111 11111111 [127332.401] DOUT SR2.4: 11111111 11111111 [127332.401] DOUT SR2.3: 11111111 11111111 [127332.401] DOUT SR2.2: 11111111 11111111 [127332.402] DOUT SR2.1: 11111111 11111111 [127332.402] DOUT SR2.0: 11111111 11111111 [127332.402] KB1: DOUT#1.D6 / DIN#2.D0: pressed --> key= 0, break contact, note=C-1 (36) [127332.402] Entry: timestamp_break=33407 timestamp_make=0 [127332.405] --- [127332.405] DOUT SR1.7: 00000000 10000000 [127332.405] DOUT SR1.6: 00000000 10000000 [127332.405] DOUT SR1.5: 00000000 00000000 [127332.405] DOUT SR1.4: 00000000 00000000 [127332.405] DOUT SR1.3: 00000000 00000000 [127332.405] DOUT SR1.2: 00000000 00000000 [127332.405] DOUT SR1.1: 00000000 00000000 [127332.405] DOUT SR1.0: 00000000 00000000 [127332.406] DOUT SR2.7: 11111111 11111111 [127332.406] DOUT SR2.6: 11111111 11111111 [127332.406] DOUT SR2.5: 11111111 11111111 [127332.406] DOUT SR2.4: 11111111 11111111 [127332.406] DOUT SR2.3: 11111111 11111111 [127332.406] DOUT SR2.2: 11111111 11111111 [127332.407] DOUT SR2.1: 11111111 11111111 [127332.407] DOUT SR2.0: 11111111 11111111 [127332.407] KB1: DOUT#1.D7 / DIN#2.D0: pressed --> key= 0, make contact, note=C-1 (36) [127332.407] Entry: timestamp_break=33407 timestamp_make=33454 [127332.407] PRESSED note=C-1, delay=47, velocity=71 (played from a white key) [127332.506] --- [127332.506] DOUT SR1.7: 00000000 00000000 [127332.506] DOUT SR1.6: 00000000 10000000 [127332.506] DOUT SR1.5: 00000000 00000000 [127332.506] DOUT SR1.4: 00000000 00000000 [127332.506] DOUT SR1.3: 00000000 00000000 [127332.506] DOUT SR1.2: 00000000 00000000 [127332.506] DOUT SR1.1: 00000000 00000000 [127332.506] DOUT SR1.0: 00000000 00000000 [127332.506] DOUT SR2.7: 11111111 11111111 [127332.507] DOUT SR2.6: 11111111 11111111 [127332.507] DOUT SR2.5: 11111111 11111111 [127332.507] DOUT SR2.4: 11111111 11111111 [127332.507] DOUT SR2.3: 11111111 11111111 [127332.507] DOUT SR2.2: 11111111 11111111 [127332.507] DOUT SR2.1: 11111111 11111111 [127332.508] DOUT SR2.0: 11111111 11111111 [127332.508] KB1: DOUT#1.D7 / DIN#2.D0: depressed --> key= 0, make contact, note=C-1 (36) [127332.508] Entry: timestamp_break=0 timestamp_make=0 [127332.508] RELEASED note=C-1 [127332.541] --- [127332.541] DOUT SR1.7: 00000000 00000000 [127332.541] DOUT SR1.6: 00000000 00000000 [127332.541] DOUT SR1.5: 00000000 00000000 [127332.541] DOUT SR1.4: 00000000 00000000 [127332.541] DOUT SR1.3: 00000000 00000000 [127332.541] DOUT SR1.2: 00000000 00000000 [127332.541] DOUT SR1.1: 00000000 00000000 [127332.541] DOUT SR1.0: 00000000 00000000 [127332.542] DOUT SR2.7: 11111111 11111111 [127332.542] DOUT SR2.6: 11111111 11111111 [127332.542] DOUT SR2.5: 11111111 11111111 [127332.542] DOUT SR2.4: 11111111 11111111 [127332.542] DOUT SR2.3: 11111111 11111111 [127332.542] DOUT SR2.2: 11111111 11111111 [127332.542] DOUT SR2.1: 11111111 11111111 [127332.543] DOUT SR2.0: 11111111 11111111 [127332.543] KB1: DOUT#1.D6 / DIN#2.D0: depressed --> key= 0, break contact, note=C-1 (36) [127332.543] Entry: timestamp_break=0 timestamp_make=0 The make contact is different, but the note I get is still the same...
  4. Ok, that has to do with the din_key_offset parameter - if I set din_key_offset=0 then the notes are ok up until G3. Which apparently means, that the right half of the keyboard is connected through the second connector, starting with the third Make/Break group of keys. However, the fifths group starts with C1 again, going up to E1 on the uppermost key (which should be C4)...
  5. Heck, yes! That was a good hint, thanks! Now I only need to find out why some of the notes are shifted... What I get is this: So, the first two Make/Break groups work ok, but for some strange reason the first two keys of the third one are shifted upwards. What I don't get is why the remainder of that group (except for the seventh key) is giving me the correct notes??
  6. Just to make the two cases more comparable, here are the specific configurations: NG: # KEYBOARD hardware KEYBOARD n=1 rows=8 dout_sr1=1 dout_sr2=2 din_sr1=1 din_sr2=2 din_inverted=on break_inverted=0 din_key_offset=32 \ make_debounced=0 \ scan_velocity=1 scan_optimized=0 note_offset=32 \ delay_fastest=5 delay_fastest_black_keys=0 delay_slowest=100 EVENT_KB id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=00000000000011001000 lcd_pos=1:1:1 label="Note %n" KEYBOARD n=2 rows=0 dout_sr1=0 dout_sr2=0 din_sr1=0 din_sr2=0 din_inverted=0 break_inverted=0 din_key_offset=32 \ make_debounced=0 \ scan_velocity=1 scan_optimized=0 note_offset=36 \ delay_fastest=5 delay_fastest_black_keys=0 delay_slowest=100 KB: [106059.595] kb 1 [106059.597] kb 1 debug on [106059.597] kb 1 midi_ports 0x1011 [106059.597] kb 1 midi_chn 1 [106059.597] kb 1 note_offset 36 [106059.597] kb 1 rows 8 [106059.597] kb 1 velocity on [106059.597] kb 1 release_velocity off [106059.597] kb 1 optimized off [106059.597] kb 1 dout_sr1 1 [106059.597] kb 1 dout_sr2 2 [106059.597] kb 1 din_sr1 1 [106059.597] kb 1 din_sr2 2 [106059.597] kb 1 din_key_offset 32 [106059.597] kb 1 din_inverted on [106059.597] kb 1 break_inverted off [106059.598] kb 1 make_debounced off [106059.598] kb 1 break_is_make off [106059.598] kb 1 delay_fastest 50 [106059.599] kb 1 delay_fastest_black_keys 0 [106059.599] kb 1 delay_fastest_release 150 [106059.600] kb 1 delay_fastest_release_black_keys 0 [106059.600] kb 1 delay_slowest 1000 [106059.600] kb 1 delay_slowest_release 1000 [106059.600] kb 1 ain_pitchwheel off [106059.600] kb 1 ctrl_pitchwheel 128 (PitchBend) [106059.600] kb 1 ain_pitchwheel_inverted off [106059.600] kb 1 ain_modwheel off [106059.600] kb 1 ctrl_modwheel 1 (CC) [106059.600] kb 1 ain_modwheel_inverted off [106059.600] kb 1 ain_expression off [106059.600] kb 1 ctrl_expression 11 (CC) [106059.600] kb 1 ain_expression_inverted off [106059.600] kb 1 ain_sustain off [106059.600] kb 1 ctrl_sustain 64 (CC) [106059.600] kb 1 ain_sustain_inverted off [106059.600] kb 1 ain_sustain_switch off [106059.600] kb 1 ain_bandwidth_ms 0 [106059.600] AIN Calibration Mode disabled.
  7. Hi, I have a project for which I want to use an old Roland 37 keys keyboard. Apparently, it follows the Fatar DF type scheme, but with inversed diodes, so I set set kb 1 din_inverted on and configured the jumper into the pull down position on the DIO_MATRIX board. I am on an STM32F407G-DISC1. Interestingly, when using midibox_kb_v1_016 from the download page (precompiled), it works ok (there is still a problem where a number of keys generate wrong note numbers, but at least I get note on and off events for each key and velocity data is correct). However, when using midibox_ng_v1_035 from the download page (again, precompiled), I get absolutely nothing. Currently, I cannot compile from the source code, but is the MB NG precompiled version up to date? Best, ilmenator
  8. Yes, I should have about 15 or so left, maybe even more, complete with the plastic parts. I can check when I get back home later tonight. I think they have the pins bent upwards, because they were mounted in a cutout inside the PCB that is shaped like the controller itself, and soldered in from underneath. However, I think it would be possible to bend the legs back into place or even just solder some wire (or cut-off resistor legs ) to the pins if needed (and if you want the controller to sit higher on top of the PCB).
  9. Following your terminology above, the shuttle should be spring loaded (and return to its zero position, hence the outer ring). The inner element (jog) is a regular relative encoder, for sure. At least from one MIDI implementation example (Peavey Studiomix), the assumption of an absolute encoder does make sense: the Studiomix sends out only four or so different MIDI messages per side, depending on angle position.
  10. I think the jog part is actually a pot, so an analog input pin (or two, one for each direction?) is required. I can look that up.
  11. My take on best implementation would be an ALPS SRGP jog-shuttle.
  12. Bist du in der Sache schon weitergekommen?
  13. You can find instructions for this procedure here, in the section on "Installing the MIOS32 Bootloader".
  14. Also, you could "build" (design) the layout yourself,and to your specific needs, as the schematics are freely available. For these rather simple schematics there is very little magic involved.
  15. That's true, with the BOB you get 4 in ports and 4 out ports - that is by design, as J11E on the core board provides exactly these signals. If you need 8 out ports you will still have to use the Quad IIC on top. That is a very nice setup / suitcase design you have there! Just having to connect two single 9pin serial cables (or one 25pin dsub/printer port style cable) is definitely going to be faster to connect :-). On the other hand, you could probably also just use a 26pin box connector with a flat cable connecting the two halves. That way, you could leave the cable plugged even when you close the lid, and only disconnect it when you want to detach the lid (or leave the cable long enough underneath the front panel).
  16. I got mine from Reichelt.de where they are very cheap - 3m for 1,95€. If you go for 9-pin extension cables (one male and one female connector) you can be pretty sure that they are wired 1:1, which is not necessarily the case for male-male or female-female cables. PM me if you want to have a BOB PCB, I think I should have a few more of these somewhere. You could also directly attach the BOB to the STM32F4 core board with the STM32F4-to-BOB adapter board, if that is what you wanted to do - you would then replace the MIDI-I/O module with this combination. But, to be honest, I don't quite remember if I had these boards ever made or if I just did the design for it... I could do some searching over the weekend if you were really interested.
  17. That would be roughly the same principle as on my MIDIbox Matrix with the BOBs, see here. There is also a schematic in the link you could use. A simple 9-pin serial cable would do the trick, no need for a stiff VGA one. Edit: no risk of cross talk at all.
  18. My point was that propagation delay at gate level is really nothing to worry about. At 5V logic level, propagation delay for an NXP 74HC04 is 7ns per gate at 25°C, i.e. 14ns in total. A 10ms delay between key stroke and sound onset for sounds with short attack times is not noticeable for around 50% of the population (="acceptable"). It is a little less for trained musicians, but we are still talking a factor >500. eptheca, your safety margin is very comfortable here...
  19. It's definitely more a question of how many MIDI events you push through the connection than of how many inverters / gates you have in there. So, sending out two notes on different MIDI channels but on the same port at the same time will result in more sloppy timing than sending out the same notes on two different ports. However, whether you send these messages through another two gates or not does not matter, even if you had one port with the throughbox and one without (and - by this arrangement - could make a direct comparison).
  20. I'd choose a flat profile simply because then you can have the same switch caps for all switches, no matter where they go. Easier to buy, easier if you need spare parts. Also, I think the way the SEQ is operated, you don't hover your hands over the keys and use minimum movement of your hands as in typewriting, so the ergonomic advantage of an angled profile will probably not matter at all.
  21. Here is a link to something usable from M. Bareille. I think I built this many years ago, so it's verified. Just skip anything left of the first inverter (the one connected to pin 6 of the optocoupler). You'll need one hex-inverter to duplicate two MIDI ports.
  22. Ist die Tastatur denn in Ordnung? Also, sind alle Dioden intakt, alle Leiterbahnen ohne Schaden?
×
×
  • Create New...