-
Posts
15,261 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Ok, now I understand the issue. No, nobody implemented a MTC to MIDI Clock converter yet. Best Regards, Thorsten.
-
The clockbox firmware with 9 MIDI OUTs and MTC support is called "clockbox_enhanced_v1c" Best Regards, Thorsten.
-
The details are explained here: http://www.ucapps.de/cmios8_fun.html#MIOS_HLP_Dec2BCD MIOS_LCD_BCD* uses MIOS_HLP_Dec2BCD internally, and removes the leading zeroes by spaces. If you want to output leading zeroes, just print the original BCD code (binary coded digits, each digit is coded in 4 bits) with MIOS_LCD_PrintHex2 (to print the rightmost binary coded digits) resp. MIOS_LCD_PrintHex1 (to print a single (the leftmost) binary digit) I changed the C example code (removed the bitshifting), so that it matches with the example given in the documentation. Best Regards, Thorsten.
-
P.S.: I added the MIOS32 variant...
-
; -------------------------------------------------------------------------- ;; print dec value -64..63 CS_MENU_PRINT_PMDec7 movwf TMP1 movlw ' ' ; space or "-"? btfss TMP1, 6; (if value <= 0x3f (6th bit cleared), print "-" movlw '-' call MIOS_LCD_PrintChar CS_MENU_PRINT_PMDec7_WO_Sign movf TMP1, W ; calc: 0x40-value sublw 0x40 btfsc WREG, 7 ; negate value if negative to get absolute value negf WREG, ACCESS goto MIOS_LCD_PrintBCD2 ; and print it [/code] The same in C: [code] if( value < 64 ) { MIOS_LCD_PrintChar('-'); MIOS_LCD_PrintBCD2(64-value); } else { MIOS_LCD_PrintChar(' '); MIOS_LCD_PrintBCD2(value-64); } The same for MIOS32: MIOS32_LCD_PrintFormattedString("%3d", (int)value - 64); [/code] [code] ; -------------------------------------------------------------------------- ;; print dec value patted with 0 CS_MENU_PRINT_Dec000 clrf MIOS_PARAMETER1 call MIOS_HLP_Dec2BCD movf MIOS_PARAMETER2, W call MIOS_LCD_PrintHex1 movf MIOS_PARAMETER1, W goto MIOS_LCD_PrintHex2 The same in C: MIOS_HLP_Dec2BCD(value); MIOS_LCD_PrintHex1(MIOS_PARAMETER2); MIOS_LCD_PrintHex2(MIOS_PARAMETER1); [/code] The same for MIOS32: [code] MIOS32_LCD_PrintFormattedString("%03d", value); Best Regards, Thorsten.
-
Shipped today: Furlao carpin Best Regards, Thorsten.
-
this message is sent by MIOS Studio to restart the core module. It's an outgoing message (therefore the timestamp is [unknown]). Apparently this command doesn't get a reply for the PIC... I would propose to go through the MIDI troubleshooting guide. E.g., with TEST INOUT1 you can ensure that GM5, the optocouplers, the MIDI cables, your MIOS Studio configuration, etc... are working. The other tests might help to find the issue as well before we assume that the PIC is really fried (unlikely) GM5 LED: did you consider the polarity of the LED? Best Regards, Thorsten.
-
You could take a common RS422 converter chip, e.g. a MAX489E (I used this chip years ago for the same purpose) The connection diagram can be found in the datasheet. Best Regards, Thorsten.
-
470 Ohm should be fine as a short circuit protection. Please give feedback if this is compatible with your gear once you tested this. Best Regards, Thorsten.
-
The sign bit is located at bit #31, which means, so long the value is within the 0..2^31-1 range, it will stay 0 and there is no danger. And even if the totally unexpected would happen (a 2 GB file has been read successfully ;)) the return value would be negative, which means: error Best Regards, Thorsten.
-
There is no real danger to write it this way, since you will never read >= 2^31 bytes (s32 ranges from -2^31..2^31-1) Best Regards, Thorsten.
-
[solved// multiple core issue] tracking a strange pots bug
TK. replied to protofuse's topic in Testing/Troubleshooting
I don't think that it will compile this way (there is a missing bracket) Why are you checking for <= 64? I would expect a check for < 32, since matrix[] is in the range 0..31 And why do you multiply by *8? There are 16 channels... somehow I'm missing a clear concept. It makes sense to add a comment what actually the function should do, and what are the constraints. This would make it easier for others to find out what's wrong in the code. Or it could even help you to find the error by yourself ;) Best Regards, Thorsten. -
[solved// multiple core issue] tracking a strange pots bug
TK. replied to protofuse's topic in Testing/Troubleshooting
Btw.: matrix[] is declared as: static unsigned char matrix[32] ; [/code] Why are you checking for <= 64? I would expect a check for < 32, since matrix[] is in the range 0..31 Best Regards, Thorsten. -
[solved// multiple core issue] tracking a strange pots bug
TK. replied to protofuse's topic in Testing/Troubleshooting
It's better to calculate "8*(noteIndex - 1 - _NOTE_MATRIX_OFFSET)+channelIndex" only a single time, and to put the result into a temporary variable. Btw.: you forgot the 8* multiplication inside if() Best Regards, Thorsten. -
[solved// multiple core issue] tracking a strange pots bug
TK. replied to protofuse's topic in Testing/Troubleshooting
no, this isn't strange. Because "random effect" means that something could happen that you won't notice immediately, or that you will never notice... In this particular case (when 0xb2 is received) the programming error caused an effect that you noticed immediately: the application crashed, probably because a frequently used runtime variable has been overwritten. Best Regards, Thorsten. -
[solved// multiple core issue] tracking a strange pots bug
TK. replied to protofuse's topic in Testing/Troubleshooting
Er... what are you doing in MPROC_NotifyReceivedEvnt() of the second core? void MPROC_NotifyReceivedEvnt(unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam { int channelIndex = evnt0-0x90; int noteIndex = evnt1; unsigned char value = evnt2; matrix[8*(noteIndex - 1 + _NOTE_MATRIX_OFFSET)+channelIndex] = value; //-1 cause note begin at 1 and row at 0 } [/code] this function will write into a RAM location depending on the received event. There is no if() branch which filters the expected events, accordingly any received event will write something into the matrix[] array. Let's assume 0xba 0x02 is received: channelIndex = 0xba-0x90 = 0x2a (instead of 0xa --- hint: it's better to write "unsigned char channelIndex = evnt0 & 0xf") noteIndex = 0x2 -> matrix[8*(0x2a-1+_NOTE_MATRIX_OFFSET)+0x2a] = value Thats somewhere outside the array range.. Something random will happen (*) after this write operation. The effect will change whenever you add new/remove old code. So, I strongly recomment you to check for the received event -> if( (evnt0 & 0xf0) == 0x90 ) and to add some additional checks to ensure that matrix[] is never written outside the declared range. It's also better to use "unsigned char" (8 bit values) instead of "int" (16 bit values) for faster code execution. The same programming error exists in MPROC_NotifyReceivedEvnt() of the first core. Best Regards, Thorsten. (*) this could also explain similar "strange effects" that you noticed in the past. -
[solved// multiple core issue] tracking a strange pots bug
TK. replied to protofuse's topic in Testing/Troubleshooting
issue 1) could happen if your application running on core #1 doesn't send a complete MIDI event, so that core #2 will freeze until the timeout period has passed. There are more possible reasons if course (e.g. programming error in application running on core #2), but with the given details it will only end into speculations. Maybe I could give you more explicit hints by posting your MIDI sending routine used for pot events, and the MIDI receiver routine of core #2 Best Regards, Thorsten. -
[solved// multiple core issue] tracking a strange pots bug
TK. replied to protofuse's topic in Testing/Troubleshooting
I think it's better to measure the voltages instead of continuity with a beeper. Each pot outputs a value between 0V and 5V at the middle pin. Check this first. Whenever you turn the pot, the output voltage must change. Thereafter disconnect J6 of the AIN module from the CORE module, and connect the J6:A/B/C lines directly to 0V or 5V. There are 8 combinations how these lines can be connected to 0V/5V Each combination selects another pot (1 of 8), and you can measure the voltage of the selected pot at J5 of the AIN module. If during measuring it turns out, that a certain combination doesn't route the pot voltage correctly to J5.Ax, you know that the error (e.g. missing cable) is located between the 4051 multiplexer and the appr. pot Best Regards, Thorsten. -
Of course, the MBHP_BLM_SCALAR concept allows to connect RGB LEDs, and the transfer protocol considers this as well. But this is more an option for people who like the excotic stuff. It isn't an option which I would prefer for myself. Do you really want that we create a layout for an EBay article which is only available for a short time in small quantities? There might also be an issue with the power consumption. More than 5A require a different concept for source/sink drivers. They will be expensive as well. Do you really want that *all* people who are interested on PCBs have to pay much more money compared to the Duo-Colour option just because a small number of people think that RGB *could* be useful? ;) Best Regards, Thorsten. P.S.: there is always the option that those people interested in RGB LEDs could create their own PCB layout for buttons/LEDs, and use the same BLM_SCALAR board.
-
Power Consumption? Best Regards, Thorsten.
-
It's released now in beta12 :) If you've created some useful presets, feel free to provide them in the Downloads section of this forum! Best Regards, Thorsten.
-
Beta12 is available now: o Tracks can now be stored into/loaded from preset files on SD Card. This features opens some new possibilities: - you can store your favourite track configurations, melody lines, drum loops, etc. in separate files to recall them later - you can prepare drum maps for different instruments - you can prepare CC setups for different instruments - you can share the files (which are stored in the preset/ directory) with other users - you can view and edit the files with a common text editor. The preset functions are available in the MENU->EVENT page You've to create a "presets" directory in the root directory of your SD Card before using this feature (the DOSFS driver used by MBSEQ doesn't support "mkdir") [/code] Best Regards, Thorsten.
-
For MBSEQ V4 I implemented an additional abstraction layer (seq_file.c) which simplifies file accesses (see seq_file_c.c) But probably it's easier for you to start from scratch by accessing the DOSFS functions directly. Best Regards, Thorsten.
-
Wilba already helps with the layout of the upcoming MBHP_BLM_SCALAR (a scalable button/LED matrix) So, you would pay more than 300 EUR for buying 256 RGB LEDs instead of ca. 50 EUR for 256 Duo-Colour LEDs? Best Regards, Thorsten.
-
...and I thank you for this nice inspiration - this new method will speed up my own workflow as well. I already implememted the dialog pages and export function today (most functions already exist and only had to be customized). So, I decided to provide a special "PRESET" button in the track event page: It opens a dialog which allows to select the preset file (left side), or to store a new preset: Different sections can be selected before the preset is imported: Exporting a track: just enter the name - done: And this is how an exported track looks like. Some values are hard to edit for a non-programmer, but as mentioned earlier, the most comfortable way is to use the CS anyhow. Alternatively somebody could program a GUI (running on a computer) which allows to edit such a file as well. # Only keyword and the first value is parsed for each line # Value ranges comply to CCs documented under doc/mbseqv4_cc_implementation.txt # The remaining text is used to improve readability. # DON'T CHANGE THE ORDER OF PARAMETERS! ParInstruments 16 ParLayers 1 ParSteps 64 TrgInstruments 16 TrgLayers 2 TrgSteps 64 EventMode 3 (Drum ) # Track will be partitioned and initialized here. # The parameters below will be added to the default setup. # | | | | | | | | | | | | | | | | | Name ' BD SD LT MT HT CP MA RS CB CY OH CH Smp1 Smp2 Smp3 Smp4 ' TrackMode 1 (Normal) TrackModeFlags 3 (Unsorted: on, Hold: on, Restart: off, Force Scale: off, Sustain: off) MIDI_Port 0x00 (Def. ) MIDI_Channel 0 (#1) DirectionMode 0 (Forward) StepsForward 0 (1 Steps) StepsJumpBack 0 (0 Steps) StepsReplay 0 StepsRepeat 0 (0 times) StepsSkip 0 (0 Steps) StepsRepeatSkipInterval 3 (4 Steps) Clockdivider 15 (16/384 ppqn) Triplets 0 (no) SynchToMeasure 0 (no) Length 15 (16 Steps) Loop 0 (Step 1) TransposeSemitones 0 (+0) TransposeOctaves 0 (+0) MorphMode 0 (off) MorphDestinationRange 0 (1..16) HumanizeIntensity 0 GrooveStyle 0 GrooveIntensity 0 TriggerAsngGate 1 (A) TriggerAsngAccent 2 (B) TriggerAsngRoll 0 (-) TriggerAsngGlide 0 (-) TriggerAsgnSkip 0 (-) TriggerAsgnRandomGate 0 (-) TriggerAsgnRandomValue 0 (-) TriggerAsgnNoFx 0 (-) DrumParAsgnA 9 (Roll ) DrumParAsgnB 0 (None ) EchoRepeats 0 EchoDelay 7 ( 8 ) EchoVelocity 15 EchoFeedbackVelocity 15 (75%) EchoFeedbackNote 24 (+0) EchoFeedbackGatelength 20 (100%) EchoFeedbackTicks 20 (100%) LFO_Waveform 0 ( off ) LFO_Amplitude 192 (64) LFO_Phase 0 (0%) LFO_Interval 15 (16 Steps) LFO_Reset_Interval 15 (16 Steps) LFO_Flags 0 (Oneshot: off, Note: off, Velocity: off, Length: off, CC: off) LFO_ExtraCC 0 LFO_ExtraCC_Offset 64 LFO_ExtraCC_PPQN 6 (96 ppqn) NoteLimitLower 0 NoteLimitUpper 0 # MIDI Notes for Drum Instruments: ConstArrayA 0x24 0x26 0x29 0x2b 0x2f 0x27 0x46 0x4b 0x38 0x31 0x2e 0x2a 0x2c 0x3c 0x3d 0x4c # MIDI Velocity: ConstArrayB 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 # MIDI Accent Velocity: ConstArrayC 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f # Parameter Layers: Par 0x000 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x010 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x020 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x030 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x040 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x050 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x060 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x070 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x080 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x090 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x0a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x0b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x0c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x0d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x0e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x0f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x100 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x110 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x120 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x130 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x140 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x150 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x160 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x170 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x180 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x190 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x1a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x1b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x1c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x1d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x1e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x1f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x200 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x210 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x220 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x230 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x240 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x250 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x260 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x270 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x280 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x290 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x2a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x2b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x2c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x2d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x2e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x2f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x300 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x310 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x320 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x330 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x340 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x350 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x360 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x370 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x380 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x390 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x3a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x3b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x3c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x3d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x3e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Par 0x3f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 # Trigger Layers: Trg 0x000 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x010 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x020 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x030 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x040 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x050 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x060 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x070 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x080 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x090 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x0a0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x0b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x0c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x0d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x0e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Trg 0x0f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 [/code] I will implement the parser (for the import function) tomorrow, thereafter this feature is completely available. Importing a file will take less than one second, and sequencer timings won't be affected thanks to FreeRTOS based task handling. :) Best Regards, Thorsten.
