Jump to content

TK.

Administrators
  • Posts

    15,199
  • Joined

Posts posted by TK.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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):

    8_sclk_superlong_wire_wo_termination.jpg

    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.

     
  8. 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.

  9. 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 lassen

     

    Theoretisch 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.

  10. 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 gesetzt

     

    Tippe mal "show pool" im MIOS Terminal, was wird angezeigt?

     

    Interessant waere auch "show hw_id BUTTON:33"

     

    Gruss, Thorsten.

  11. 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.

  12. 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:

    robin1.zip

     

    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.

  13. 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.

  14. 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.

×
×
  • Create New...