-
Posts
15,199 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Posts posted by TK.
-
-
Leider kann Animoog kein OSC, und die MBNG kann kein RTP MIDI :-(
Gruss, Thorsten.
-
Ok... this one is new to me, at least it isn't officially supported.
However, you can use any track to generate accent pulses.
E.g. you could use Track 15 (by default assigned to "Ext3") for this purpose, just specify the right SR and pin number.
Best Regards, Thorsten.
-
C63 is part of the oscillator circuit of the Ethernet PHY - this explains why there are CRC errors (the PHY isn't clocked)
Best Regards, Thorsten.
-
Hi,
there is'nt a second accent...
Where did you find informations about "accent 2", maybe you mean something else?
Best Regards, Thorsten.
-
Apparently it was a bad idea to change two things once: pre5 has been compiled with a newer gcc version which creates faster code. I've to review the timing dependent routines...
In order to confirm, if this assumption is true, could you please try following build?
-> http://www.ucapps.de/mios32/midibox_ng_v1_027_pre5_oldgcc.zip
Best Regards, Thorsten.
-
Right!
I improved the feedback detection in one of the last MIOS Studio versions; could you please check if this still happens with MIOS Studio 2.4.6?
Best Regards, Thorsten.
-
Link to the schematic: http://www.embeddedartists.com/sites/default/files/docs/schematics/LPCXpressoLPC1769revB.pdf
C63 is a 18pF cap
Best Regards, Thorsten.
-
Nice! :)
Could you please share the PCB layout? I'm interested to support this officially in the aout driver, and therefore need one module for testing (I will probably order it at OSH Park)
Best Regards, Thorsten.
-
Aside from this: could you please try following release: http://www.ucapps.de/mios32/midibox_ng_v1_027_pre5.zip
It re-initializes all LCDs whenever the RESET_HW command is executed in the .NGC script.
Although this is a "dirty method" (which I don't like), it will result into a delayed initialisation which could help.
Best Regards, Thorsten.
P.S.: this pre-release also supports two new fonts (see CHANGELOG.txt)
-
This is strange! I would like to analyze your track in order to find out, if there are unexpected dependencies.
Could you please use the "track" command in the MIOS Terminal (above the virtual keyboard in MIOS Studio) to dump out the track information, and paste it into this posting?
E.g. assumed your drums are on the first track, enter "track 1", and you will get something like this:
[298566.414] track 1 [298566.416] Track Parameters of G1T1 [298566.416] ======================== [298566.416] ParInstruments 16 [298566.416] ParLayers 1 [298566.416] ParSteps 64 [298566.416] TrgInstruments 16 [298566.416] TrgLayers 2 [298566.416] TrgSteps 64 [298566.416] EventMode 3 (Drum ) [298566.417] # | | | | | | | | | | | | | | | | | [298566.417] Name ' BD SD CH PH OH MA CP CY LT MT HT RS CB Smp1 Smp2 Smp3 ' [298566.417] TrackMode 1 (Normal) [298566.417] TrackModeFlags 3 (Unsorted: on, Hold: on, Restart: off, Force Scale: off, Sustain: off) [298566.418] MIDI_Port 0x00 (Def. ) [298566.418] MIDI_Channel 9 (#10) [298566.418] DirectionMode 0 (Forward) [298566.419] StepsForward 0 (1 Steps) [298566.419] StepsJumpBack 0 (0 Steps) [298566.419] StepsReplay 0 [298566.419] StepsRepeat 0 (0 times) [298566.419] StepsSkip 0 (0 Steps) [298566.419] StepsRepeatSkipInterval 3 (4 Steps) [298566.419] Clockdivider 15 (16/384 ppqn) [298566.419] Triplets 0 (no) [298566.419] SynchToMeasure 0 (no) [298566.419] Length 15 (16 Steps) [298566.419] Loop 0 (Step 1) [298566.420] TransposeSemitones 0 (+0) [298566.420] TransposeOctaves 0 (+0) [298566.420] MorphMode 0 (off) [298566.420] MorphDestinationRange 0 (1..16) [298566.420] HumanizeMode 0 (Note: off, Velocity: off, Length: off) [298566.421] HumanizeIntensity 0 [298566.421] GrooveStyle 0 [298566.421] GrooveIntensity 0 [298566.421] TriggerAsngGate 1 (A) [298566.421] TriggerAsngAccent 2 (B) [298566.422] TriggerAsngRoll 0 (-) [298566.422] TriggerAsngGlide 0 (-) [298566.422] TriggerAsgnSkip 0 (-) [298566.422] TriggerAsgnRandomGate 0 (-) [298566.422] TriggerAsgnRandomValue 0 (-) [298566.422] TriggerAsgnNoFx 0 (-) [298566.422] DrumParAsgnA 7 (Prob.) [298566.422] DrumParAsgnB 0 (None ) [298566.422] EchoRepeats 0 [298566.422] EchoDelay 7 ( 8 ) [298566.423] EchoVelocity 15 [298566.423] EchoFeedbackVelocity 15 (75 [298566.423] EchoFeedbackNote 24 (+0) [298566.423] EchoFeedbackGatelength 20 (100 [298566.424] EchoFeedbackTicks 20 (100 [298566.424] LFO_Waveform 0 ( off ) [298566.424] LFO_Amplitude 192 (64) [298566.424] LFO_Phase 0 (0 [298566.424] LFO_Interval 15 (16 Steps) [298566.424] LFO_Reset_Interval 15 (16 Steps) [298566.424] LFO_Flags 0 (Oneshot: off, Note: off, Velocity: off, Length: off, CC: off) [298566.424] LFO_ExtraCC 0 [298566.425] LFO_ExtraCC_Offset 64 [298566.425] LFO_ExtraCC_PPQN 6 (96 ppqn) [298566.425] NoteLimitLower 0 [298566.425] NoteLimitUpper 0 [298566.425] # MIDI Notes for Drum Instruments: [298566.426] ConstArrayA 0x25 0x26 0x2a 0x2c 0x2e 0x46 0x27 0x37 0x29 0x2b 0x2f 0x4b 0x38 0x2c 0x3c 0x3d [298566.427] # MIDI Velocity: [298566.427] ConstArrayB 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 [298566.427] # MIDI Accent Velocity: [298566.428] ConstArrayC 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f [298566.428] # Parameter Layers: [298566.428] Par 0x000 0x17 0x26 0x28 0x31 0x2c 0x32 0x20 0x4b 0x35 0x13 0x1b 0x2d 0x2d 0x23 0x23 0x24 [298566.429] Par 0x010 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.430] Par 0x020 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.431] Par 0x030 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.431] Par 0x040 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.432] Par 0x050 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.433] Par 0x060 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.433] Par 0x070 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.434] Par 0x080 0x7f 0x7f 0x7f 0x67 0x1f 0x59 0x5f 0x56 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f [298566.434] Par 0x090 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f [298566.436] Par 0x0a0 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f [298566.436] Par 0x0b0 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f [298566.437] Par 0x0c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.437] Par 0x0d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.438] Par 0x0e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.439] Par 0x0f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.440] Par 0x100 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.440] Par 0x110 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.441] Par 0x120 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.441] Par 0x130 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.443] Par 0x140 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.443] Par 0x150 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.444] Par 0x160 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.444] Par 0x170 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.445] Par 0x180 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.446] Par 0x190 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.446] Par 0x1a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.447] Par 0x1b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.447] Par 0x1c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.449] Par 0x1d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.449] Par 0x1e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.450] Par 0x1f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.450] Par 0x200 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.451] Par 0x210 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.452] Par 0x220 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.452] Par 0x230 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.453] Par 0x240 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.454] Par 0x250 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.455] Par 0x260 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.456] Par 0x270 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.456] Par 0x280 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.457] Par 0x290 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.457] Par 0x2a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.458] Par 0x2b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.459] Par 0x2c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.459] Par 0x2d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.460] Par 0x2e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.461] Par 0x2f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.461] Par 0x300 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.462] Par 0x310 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.463] Par 0x320 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.464] Par 0x330 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.464] Par 0x340 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.464] Par 0x350 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.466] Par 0x360 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.466] Par 0x370 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.467] Par 0x380 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.468] Par 0x390 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.468] Par 0x3a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.469] Par 0x3b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.470] Par 0x3c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.470] Par 0x3d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.471] Par 0x3e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.471] Par 0x3f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.472] # Trigger Layers: [298566.473] Trg 0x000 0xff 0xff 0x11 0x11 0x11 0x11 0x11 0x11 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.473] Trg 0x010 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.474] Trg 0x020 0xff 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.475] Trg 0x030 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.475] Trg 0x040 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.476] Trg 0x050 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.477] Trg 0x060 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.478] Trg 0x070 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.478] Trg 0x080 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.479] Trg 0x090 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.479] Trg 0x0a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.480] Trg 0x0b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.481] Trg 0x0c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.481] Trg 0x0d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.482] Trg 0x0e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.483] Trg 0x0f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [298566.483] done.
Best Regards, Thorsten.
-
Did you activate the "fastboot" option in the bootloader?
It would be interesting, if it works better if you toggle this setting.
It would also be interesting if you've buffered the OLED supply inputs with 100nF caps. See also this posting:
Best Regards, Thorsten.
-
Isn't it possible to "play" around with the current drawn by them? (-> if i touch the MF it means it needs more current to drive the fader).
It results in stopping the fader.
It looks as the MF V3 tool has a quite a lot of options allready implemented, which (i think) have to take the current drawn by motorfader, into account..
I am sure that i am not the first one, thinking about that in this way ;-)
Something like this is already part of the firmware (motor will stop if the fader doesn't move into the intended direction, e.g. because you manually move it into another direction).
But this is actually not the only feature of a "real" touch sensor.
E.g. a touch sensor ensures, that no fader event will be sent as long as you don't touch the fader.
Accordingly, the fader can be initialized for a much higher resolution without the risk for sporadically jittering values, because values are only sent when you actually touch & move the fader.
Another purpose of a touch sensor is to activate the automation in a DAW without moving it.
There is no way to determine this with the current drawn, because at this moment the DAW won't send move commands.
Best Regards, Thorsten.
-
The official MIOS32 toolchain is based on gcc-arm-embedded and newlib-nano now.
Prebuilt binaries for Win32/MacOS/Linux can be downloaded from: https://launchpad.net/gcc-arm-embedded
(and from http://www.midibox.org/mios32_toolchain)
The build will probably fail with other toolchains if they don't support newlib-nano due to this new flag in $MIOS32_PATH/include/makefile/common.mk
# for https://launchpad.net/gcc-arm-embedded: enable newlib-nano for better performance # not compatible with other toolchains (users have to switch to new version, or disable the line below) LDFLAGS += --specs=nano.specs
therefore an update to the new toolchain is required.
And it's worth the change, because I measured performance improvements in many MIOS32 applications! :smile:
@niklasni1: your recommended switched for Cortex-M4 fails at my side.
I'm able to build a binary, but the core crashes very early, although I'm sure that the FPU will be initialized in MIOS32_SYS_Init()
I will debug this sooner or later, until then please use the updated common.mk, which enables M4 instructions, but doesn't select FPU instructions or libraries
Best Regards, Thorsten.
-
Hi Robin,
I'm glad that the application is working at your side! :)
Oh yes, I haven't considered that the DOUT pins are reverted by MIOS32_DOUT
This can be fixed by reversing the selecting pattern (again).
Replace following code:
// transfer to DOUTs #if MATRIX_DOUT_SR1 MIOS32_DOUT_SRSet(MATRIX_DOUT_SR1-1, (selection_mask >> 0) & 0xff); #endif #if MATRIX_DOUT_SR2 MIOS32_DOUT_SRSet(MATRIX_DOUT_SR2-1, (selection_mask >> 8) & 0xff); #endif
by:
// transfer to DOUTs #if MATRIX_DOUT_SR1 MIOS32_DOUT_SRSet(MATRIX_DOUT_SR1-1, mios32_dout_reverse_tab[(selection_mask >> 0) & 0xff]); #endif #if MATRIX_DOUT_SR2 MIOS32_DOUT_SRSet(MATRIX_DOUT_SR2-1, mios32_dout_reverse_tab[(selection_mask >> 8) & 0xff]); #endif
I guess, that no additional changes are required.
Later, once your new board is finished, you could remove this change for "full MBHP compatibility" (because all application use this reversed pinning scheme for DOUTs)
PS If limit the SRIO transfers to 12 rows,can I use a diode based matrix system with some or all the remaining rows of the 2 SRs for use with APP_DIN_NotifyToggle?Yes, you can scan up to 16x16 inputs without performance decrease.
Just change the MATRIX_NUM_ROWS to
// scan 16 rows #define MATRIX_NUM_ROWS 16
the code will always use this constant to declare arrays dimensions and to calculate offsets (e.g. as you've probably noticed, I changed "KEYBOARD_NUM_PINS" from "12*16" to "MATRIX_NUM_ROWS*16" to ensure this "self-configuration".
Best Regards, Thorsten.
-
My assumptions: the 220 Ohm resistor is a common pre-resistor for the LED, e.g. for the case that somebody drives the input directly with 5V (by fault) without protection resistors at the MIDI OUT side (which also have the purpose to protect against short circuits).
The 1N4148 diode: well, first it has to be considered, what happens when signals are transferred over long cables with some R, L and C (a so called Transmission Line)
While the signal might look like a common digital signal, toggling between 0V and 5V (resp. 3V) at the source (*), it could look totally crazy at the sink (optocoupler) depending on the cable length.
Here an extreme example (it's not a MIDI signal, but I just want to illustrate what could happen):
As you can see, the signal can get negative transients below 0V, and positive transients above Vcc
Now let's have a look into the Datasheet. It lists a maximum reverse input voltage of 5V, means: if the signal spikes below -5V, the internal emitter diode could be destroyed.
I'm unsure if the emitter is in real danger (and I don't want to try this out), but if you compare with the reverse voltage of a 1N4148 diode (75V), you can see the difference - safety first! ;-)
Best Regards, Thorsten.
(*) not considering, that a MIDI OUT should normally configured in open drain mode, but that's another story - especially since not all MIDI devices use this mode, but push-pull instead.
-
Ja, Encoder kann man "entschleunigen" ;-)
Probiere mal diese Beispiele aus: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fencspeed.ngc
Ich habe in Deinem .NGC gerade mal den Slow:3 Modus ausprobiert:
EVENT_ENC id= 1 hw_id = 1 bank=1 fwd_id=LED_MATRIX:1 fwd_to_lcd=1 type=CC chn= 1 cc= 16 range= 0:24 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="Shape 1 %3d@(1:1:2)%B" enc_speed_mode=Slow:3
so wird der Range 0:24 von einer kompletten Encoder-Umdrehung abgedeckt.
Gruss, Thorsten.
-
Bei mir funktioniert es:
[236990.011] MBNG_ENC_NotifyChange(1, 1) [236990.011] [EVENT] id=ENC:1 hw_id=ENC:1 bank=1 fwd_id=LED_MATRIX:1 type=CC value=24 label=Shape 1 %3d@(1:1:2)%B [236990.054] MBNG_ENC_NotifyChange(1, 1) [236990.054] [EVENT] id=ENC:1 hw_id=ENC:1 bank=1 fwd_id=LED_MATRIX:1 type=CC value=24 label=Shape 1 %3d@(1:1:2)%B [236990.194] MBNG_ENC_NotifyChange(1, 1) [236990.194] [EVENT] id=ENC:1 hw_id=ENC:1 bank=1 fwd_id=LED_MATRIX:1 type=CC value=24 label=Shape 1 %3d@(1:1:2)%B [236990.591] MBNG_ENC_NotifyChange(1, 1) [236990.591] [EVENT] id=ENC:1 hw_id=ENC:1 bank=1 fwd_id=LED_MATRIX:1 type=CC value=24 label=Shape 1 %3d@(1:1:2)%B [236993.417] MBNG_DIN_NotifyToggle(33, 0) [236993.417] [EVENT] id=BUTTON:65 hw_id=BUTTON:33 bank=0 fwd_id=DISABLED:0 type=CC value=0 [236994.010] MBNG_DIN_NotifyToggle(33, 1) [236994.010] [EVENT] id=BUTTON:65 hw_id=BUTTON:33 bank=0 fwd_id=DISABLED:0 type=CC value=1
Was mache ich richtig? ;-)
Welche MBNG Version verwendest Du eigentlich?
ich würde gerne auch noch ein "X" für taster On im display anzeigen lassenTheoretisch geht das mit:
EVENT_BUTTON id= 65 hw_id = 33 type=CC chn= 1 cc= 16 range= 0:1 offset= 0 ports=1000100000001000 lcd_pos=1:10:1 label="%b"
doch dadurch entsteht das Problem, dass der Marker auch dann angezeigt wird, wenn "Shape 1" gar nicht selektiert ist.
Es gibt keine Loesung, die Meldung eines Encoders mit der eines Buttons so zu verknuepfen, dass sie gleichzeitig angezeigt werden.
Gruss, Thorsten.
-
sehr seltsam!
Pack' das .NGC mal in ein .zip file, und haenge es an diesen Thread - ich moechte das bei mir mal ausprobieren
Gruss, Thorsten.
-
wenn ich Core->Din->LRE verkable werden die Knöpfe abgefragt aber die Encoder bleiben ohne abfrage.....
Heisst das, dass noch nichtmal Debug Meldungen ausgegeben werden, wenn Du an den Encodern drehst?
Wenn Du die Encoder hinter die DIO_MATRIX Platine anschliesst, musst Du natuerlich auch die ENC Eintraege im .NGC file anpassen. Die Encoder liegen dann ja nicht mehr auf SR 1/2/3/4, sondern auf SR 3/4/5/6
Gruss, Thorsten.
Man sollte eben grundsätzlich wannenstecker verbauen und schon sind die Probleme weniger....dem kann ich nur zustimmen ;)
Die Taster beginnen laut mios auch bei hm_id 33 jedoch passt an der abfrage noch was nicht da sie nicht abgefragt werden und mios sagt es ist noch kein Event gesetztTippe mal "show pool" im MIOS Terminal, was wird angezeigt?
Interessant waere auch "show hw_id BUTTON:33"
Gruss, Thorsten.
-
Funktioniert sie denn, wenn Du sie direkt an den Core anschliesst?
(Achtung: fuer diesen Test die Encoder-Funktionen deaktivieren, oder einfach mit einem .ngc File ausprobieren, in dem lediglich "RESET_HW" steht)
Gruss, Thorsten.
-
Ja, so ist das auch gedacht.
Auf diese Weise kann man bspw. herausfinden, ob einige Buttons evtl. noch kein Event erhalten haben.
Gruss, Thorsten.
-
robin1.zipHi Robin,
I merged your code with the tutorial applications, and enhanced it for two DIN shift registers.
This was easier at my end, since changes were required at multiple places.
I also added a LCD handler which outputs the last triggered row/column/value and timestamp (if value was 0)
Code attached:
Note: mios32_config.h contains
// disables the default SRIO scan routine in programming_models/traditional/main.c // allows to implement an own handler // -> see app.c, TASK_MatrixScan() #define MIOS32_DONT_SERVICE_SRIO_SCAN 1
which is essential to select the new SRIO driver mode.
Best Regards, Thorsten.
-
Wie hast Du denn die Taster angeschlossen? Verwendest Du ein DINX4 Modul, das hinter einem LRE8x2 angeschlossen wurde?
Dann sollte es mit dem 5ten Shiftregister losgehen, demzufolge hw_id=33
Das wird Dir uebrigens auch im MIOS Terminal angezeigt, wenn Du mit "set debug on" den Debug-Modus aktivierst.
Gruss, Thorsten.
-
I just doublechecked your snapshot.
Of course: you've assigned the MP output to the volume target twice.
One time as generic Target1 and Target2 (which is normally not required), and then again with the "hardwired" targets Vol1 and Vol2
Just remove the Volume destination from Target1 and Target2
Best Regards, Thorsten.
dacs
in Parts Archive
Posted
For 16 EUR you can get a nice presoldered Audio DAC + STM32F4 ;-)
http://uk.rs-online.com/web/p/processor-microcontroller-development-kits/7458434/?searchTerm=stm32f4discovery&relevancy-data=636F3D3226696E3D4931384E4B6E6F776E41734D504E266C753D656E266D6D3D6D61746368616C6C7061727469616C26706D3D5E5B5C772D5C2E2F252C5D2B2426706F3D313326736E3D592673743D4D414E5F504152545F4E554D424552267573743D73746D33326634646973636F766572792677633D424F544826
See also http://www.ucapps.de/mbhp_core_stm32f4.html
Best Regards, Thorsten.