SounDuke Posted November 23, 2005 Report Posted November 23, 2005 Well, sorry for rebringing this topic, but:I am testing a single ledmeter for track 8, I'm using Ableton Live 5 and set up everything to work as mackie control (ID 14).The fact is, the ledmeter is working but since I never dealt with digital meters (analogish school :) ) I was wondering if it is REALLY working fine.My doubt arouse from the fact that the led meter stops after audio making me think of loss of sync (I have a midex 8 never had MIDI latency problems) and they lit very fast (epilessy!) Is it working normally?another issue: is there a method to calibrate the ledmeters? It looks like at 1/3 of meter on Live the 9th led is yet lit Thanks in advance ;) Quote
TK. Posted November 23, 2005 Report Posted November 23, 2005 The LED meters are directly controlled from your host application, therefore "calibration" must be done there. Also the latency is an issue at the host side, MBLC controls the meters once the appr. MIDI events arive, normaly within less than 1 mS (especially USB interfaces have mostly a latency of more than 3..10 mS + an additional jitter)The meter levels are decremented according to the Logic Control Spec (300 mS each LED). You can tune this value by changing the delay counter in lc_leds.inc, search for "15", replace it by a higher number (up to 255)Best Regards, Thorsten. Quote
SounDuke Posted November 23, 2005 Author Report Posted November 23, 2005 Thank you very much, tuning the value in led.inc worked (wonder why the protocol suggests that value)anyway I'm still experiencing the "stop" problem, but I'm pretty sure the host or the interface are responsible for this. Quote
SounDuke Posted November 23, 2005 Author Report Posted November 23, 2005 Sorry but it seems I have more problems about mackie ledmeters....The overload led (the 12th) does not lit.1) hardware connections are ok2) I'm not sure wether Live 5 is sending the flag or not3) The array is not fully connected as I'm testing track 8 to finish the rest of it, so I connected D0 of J4 to the anodes of the track leds (the overload meter at the end) and the cathodes to the respective ports of j5 and j6 (cathode of the overload led to J6 D4)Possibly a code issue? Does anybody who uses MBLC/ Live5 has experienced that problem? Quote
SounDuke Posted November 23, 2005 Author Report Posted November 23, 2005 Hi, I was looking to the pattern of meters, probably the cause resides in it.LC_METERS_PatternSet lfsr FSR1, METER_PATTERN_VPOT0_L ; calc pointer to pattern clrc rlf WREG, W ; add ringnumber * 2 (== ringnumber << 1) to pointer addwf FSR1L, F ; (note: this function is not called by an interrupt routine, ; therefore we have to use FSR1) ;; calc pointer to table entry: LC_METER_PATTERNS + ((pattern index << 1)&0x1e) TABLE_ADDR LC_METER_PATTERNS rlf MIOS_PARAMETER1, W andlw 0x1e addwf TBLPTRL, F movlw 0x00 addwfc TBLPTRH, F ;; pointer now in TBLPTR[LH], read first entry and increment pointer tblrd*+ ;; move table entry (TABLAT) to [iNDF0] and increment pointer by using POSTINC0 movff TABLAT, POSTINC1 ;; read next table entry tblrd*+ ;; move table entry (TABLAT) to [iNDF0], don't increment here movf TABLAT, W IFSET MIOS_PARAMETER1, 7, iorlw 0x08 ; set 12th (overdrive) LED if bit 7 of pattern index is set movwf INDF1Since the data shown on the leds is not very coeherent with the meters in Ableton live (when Live displays one third of meter full the LC meter has 9 of the 11 leds lit) , I assume I have to change the pattern. Could anybody point out a direction for me to achieve this? Quote
TK. Posted November 23, 2005 Report Posted November 23, 2005 Just look at the end of the file, there is the pattern table (maybe it's so simple, that you've overseen this ;-)Best Regards, Thorsten. Quote
SounDuke Posted November 24, 2005 Author Report Posted November 24, 2005 Of course I noticed the pattern, but since the comment specifies "the 12th LED (overdrive) will be inserted automatically in LC_METERS_PatternSet" I was trying to understand if the overload meter led doesn't lit because of the pattern. I'll try to monitor with midiox if Live sends the overload flag, the pattern and Live responsibility are my only hope anyway, I'm having some troubles deciphering the pattern: 1 stands for lit and 0 for not lit; but why 16 bits and 16 entries? Sorry if I ask I'm not a skilled programmer Quote
TK. Posted November 24, 2005 Report Posted November 24, 2005 Of course I noticed the pattern, but since the comment specifies "the 12th LED (overdrive) will be inserted automatically in LC_METERS_PatternSet" I was trying to understand if the overload meter led doesn't lit because of the pattern. I'll try to monitor with midiox if Live sends the overload flag, the pattern and Live responsibility are my only hopeThe overload flag is parsed in lc_mproc.inc, function LC_MPROC_Received_D0 (read the comments there)This routine copies the flag to METER_LEVEL_BEGIN + (meter number), bit number 7The LC_METERS_PatternSet routine in lc_meters.inc checks for this flag and copies it to the bit position of the 12th LEDanyway, I'm having some troubles deciphering the pattern: 1 stands for lit and 0 for not lit; but why 16 bits and 16 entries?16 bits, because the application allows you to control up to 16 LEDs per meter. However, since the host application only transfers 13 levels, and since my own MBLC has only 11 meter leds + one overload LED (when the meter values are displayed with the V-Pot LED-Rings), the remaining bits are 0. 16 entries: this is directly related to the maximum number of LEDs and levels. The intention was, that this allows other people to change the patterns easily without asking me, how do do this exactly. ;-)Hint: change the pattern temporary and watch for the effect. I think that this explains more than 1000 words!Best Regards, Thorsten. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.