Highly Liquid Forum facebook twitter google plus rss feed
  #1  
Old 11-29-2015, 08:25 PM
snapperjonno snapperjonno is offline
Member
 
Join Date: Jan 2013
Posts: 84
Default Global Refresh behaviour

Hi all,

I have a rotary encoder incrementing / decrementing a register and a momentary switch that sends a PC message based on the value of the register. I have a 7 segment display whose 'dots' turn on when the encoder is turned and turn off when the switch is pressed to indicate that the value has changed (dots on) and the message has been sent (dots off again).

I'm also using 4 slide pots to send CC messages, and using the global refresh code with another momentary switch to send all 4 current slider positions out in one go. This all works great.

However, the global refresh command has the unwanted side effect of turning the 'dots' on the display back on when the encoder hasn't been turned.

Is there any way to stop this happening?

I can get the switch to turn the dots off again on switch release, but in the case where the dots were on before button press they get turned off when they should stay on!

Hope that makes sense and that there is a solution out there! What I really need is for the global refresh to not change the current status of the dots at all. Or use the switch release signal to 'read' the previous status of the dots and reinstate it after the global refresh button has been pressed.

Here's my current full project code:

Code:
F0 00 01 5D 04 01
00
00 00 2B 00 00 00 // CT00: LED Data Output A
00 01 2B 00 00 00
01 00 2B 00 00 00 // CT01: LED Data Output B
01 01 2B 00 00 00
02 00 2B 00 00 00 // CT02: LED Data Output C
02 01 2B 00 00 00
03 00 2B 00 00 00 // CT03: LED Data Output D
03 01 2B 00 00 00
04 00 2B 00 00 00 // CT04: LED Data Output E
04 01 2B 00 00 00
05 00 2B 00 00 00 // CT05: LED Data Output F
05 01 2B 00 00 00
06 00 2B 00 00 00 // CT06: LED Data Output G
06 01 2B 00 00 00
07 00 2B 00 00 00 // CT07: LED Data Output "Dot"
07 01 2B 00 00 00
08 00 2A 00 26 1B // CT08:  LED Common Output: Common Cathode, 7-segment, hundreds, value from register 1Bh - count from 01
08 01 2A 00 26 1B
09 00 2A 00 2A 1B // CT09: LED Common Output: Common Cathode, 7-segment, tens, value from register 1Bh - count from 01
09 01 2A 00 2A 1B
0A 00 2A 00 2E 1B // CT10: LED Common Output: Common Cathode, 7-segment, ones, value from register 1Bh - count from 01
0A 01 2A 00 2E 1B
0B 00 04 00 14 0C // CT11: Slide Potentiometer input cc20(14h) register 0C
0B 01 04 00 14 0C
0C 00 04 00 15 0E // CT12: Slide Potentiometer input cc21(15h) register 0E
0C 01 04 00 15 0E
0D 00 04 00 16 10 // CT13: Slide Potentiometer input cc22(16h) register 10
0D 01 04 00 16 10
0E 00 56 00 1B 7F // CT14: Stomp Pedal momentary switch #1 on/off CC27(1Bh)
0E 01 44 00 4A 00
0F 00 56 00 1C 7F // CT15: Stomp Pedal momentary switch #2 on/off CC28(1Ch)
0F 01 44 00 4B 00
10 00 04 00 17 03 // CT16: Slide Potentiometer input cc23(17h) register 03 CUT TRACE BETWEEN CT16 and RN1 PULL UP RESISTOR TO CENTRE POT VALUE
10 01 04 00 17 03
11 00 7D 00 00 00 // CT17: Push switch 2 to send global refresh
11 01 76 00 1B 07 // CT17: Push switch 2 release clear the dot
12 00 56 00 1D 7F // CT18: Stomp Pedal momentary switch #3 on/off CC29(1Dh)
12 01 44 00 4E 00
13 00 56 00 1E 7F // CT19: Stomp Pedal momentary switch #4 on/off CC30(1Eh)
13 01 44 00 4F 00
14 00 76 00 1D 02 // CT20: Latching switch position A to use layer 00 for LEDs by clearing the bit 02
14 01 76 00 1D 0A // CT20: Latching switch position B to use layer 02 for LEDs by setting bit 02
15 00 51 00 1B 00 // CT21: send program change message from register 1Bh on push switch 1
15 01 7F 00 00 00 // CT21: push switch 1 release (blank)
16 00 1C 00 1B 1C // CT22: encoder input, auto to 1C because on CT22+23, copy reg 1Ch to 1Bh
16 01 1C 00 1B 1C
17 00 1C 00 1B 1C // CT23: encoder input, auto to 1C because on CT22+23, copy reg 1Ch to 1Bh
17 01 1C 00 1B 1C
F7

F0 00 01 5D 04 01
01
00 00 7F 00 00 00
00 01 7F 00 00 00
01 00 7F 00 00 00
01 01 7F 00 00 00
02 00 7F 00 00 00
02 01 7F 00 00 00
03 00 7F 00 00 00
03 01 7F 00 00 00
04 00 7F 00 00 00
04 01 7F 00 00 00
05 00 7F 00 00 00
05 01 7F 00 00 00
06 00 7F 00 00 00
06 01 7F 00 00 00
07 00 7F 00 00 00
07 01 7F 00 00 00
08 00 7F 00 00 00
08 01 7F 00 00 00
09 00 7F 00 00 00
09 01 7F 00 00 00
0A 00 7F 00 00 00
0A 01 7F 00 00 00
0B 00 7F 00 00 00
0B 01 7F 00 00 00
0C 00 7F 00 00 00
0C 01 7F 00 00 00
0D 00 7F 00 00 00
0D 01 7F 00 00 00
0E 00 7F 00 00 00
0E 01 7F 00 00 00
0F 00 7F 00 00 00
0F 01 7F 00 00 00
10 00 7F 00 00 00
10 01 7F 00 00 00
11 00 7F 00 00 00
11 01 7F 00 00 00
12 00 7F 00 00 00
12 01 7F 00 00 00
13 00 7F 00 00 00
13 01 7F 00 00 00
14 00 7F 00 00 00
14 01 7F 00 00 00
15 00 7F 00 00 00
15 01 76 00 1B 07 // CT21: clear the dot
16 00 1E 00 1B 0F // CT22: set the dot on encoder turn
16 01 7F 00 00 00
17 00 1E 00 1B 0F // CT23: set the dot on encoder turn
17 01 7F 00 00 00
F7

F0 00 01 5D 04 01
02
00 00 7F 00 00 00
00 01 7F 00 00 00
01 00 7F 00 00 00
01 01 7F 00 00 00
02 00 7F 00 00 00
02 01 7F 00 00 00
03 00 7F 00 00 00
03 01 7F 00 00 00
04 00 7F 00 00 00
04 01 7F 00 00 00
05 00 7F 00 00 00
05 01 7F 00 00 00
06 00 7F 00 00 00
06 01 7F 00 00 00
07 00 7F 00 00 00
07 01 7F 00 00 00
08 00 2A 00 06 1B // CT 8: LED Common Output: Common Cathode, 7-segment, hundreds, value from register 1Bh - count from 00
08 01 7F 00 00 00
09 00 2A 00 0A 1B // CT 9: LED Common Output: Common Cathode, 7-segment, tens, value from register 1Bh - count from 00
09 01 7F 00 00 00
0A 00 2A 00 0E 1B // CT 10: LED Common Output: Common Cathode, 7-segment, ones, value from register 1Bh - count from 00
0A 01 7F 00 00 00
0B 00 7F 00 00 00
0B 01 7F 00 00 00
0C 00 7F 00 00 00
0C 01 7F 00 00 00
0D 00 7F 00 00 00
0D 01 7F 00 00 00
0E 00 7F 00 00 00
0E 01 7F 00 00 00
0F 00 7F 00 00 00
0F 01 7F 00 00 00
10 00 7F 00 00 00
10 01 7F 00 00 00
11 00 7F 00 00 00
11 01 7F 00 00 00
12 00 7F 00 00 00
12 01 7F 00 00 00
13 00 7F 00 00 00
13 01 7F 00 00 00
14 00 7F 00 00 00
14 01 7F 00 00 00
15 00 7F 00 00 00
15 01 7F 00 00 00
16 00 7F 00 00 00
16 01 7F 00 00 00
17 00 7F 00 00 00
17 01 7F 00 00 00
F7

F0 00 01 5D 04 01
03
00 00 7F 00 00 00
00 01 7F 00 00 00
01 00 7F 00 00 00
01 01 7F 00 00 00
02 00 7F 00 00 00
02 01 7F 00 00 00
03 00 7F 00 00 00
03 01 7F 00 00 00
04 00 7F 00 00 00
04 01 7F 00 00 00
05 00 7F 00 00 00
05 01 7F 00 00 00
06 00 7F 00 00 00
06 01 7F 00 00 00
07 00 7F 00 00 00
07 01 7F 00 00 00
08 00 7F 00 00 00
08 01 7F 00 00 00
09 00 7F 00 00 00
09 01 7F 00 00 00
0A 00 7F 00 00 00
0A 01 7F 00 00 00
0B 00 7F 00 00 00
0B 01 7F 00 00 00
0C 00 7F 00 00 00
0C 01 7F 00 00 00
0D 00 7F 00 00 00
0D 01 7F 00 00 00
0E 00 7F 00 00 00
0E 01 7F 00 00 00
0F 00 7F 00 00 00
0F 01 7F 00 00 00
10 00 7F 00 00 00
10 01 7F 00 00 00
11 00 7F 00 00 00
11 01 7F 00 00 00
12 00 7F 00 00 00
12 01 7F 00 00 00
13 00 7F 00 00 00
13 01 7F 00 00 00
14 00 7F 00 00 00
14 01 7F 00 00 00
15 00 7F 00 00 00
15 01 7F 00 00 00
16 00 7F 00 00 00
16 01 7F 00 00 00
17 00 7F 00 00 00
17 01 7F 00 00 00
F7

F0 00 01 5D 04 04
03 00 00 7F 00
04 00 00 7F 00
05 00 00 7F 00
06 00 00 7F 00
07 00 00 7F 00
08 00 00 7F 00
09 00 00 7F 00
0A 00 00 7F 00
0B 00 00 7F 00
0C 00 00 7F 00
0D 00 00 7F 00
0E 00 00 7F 00
0F 00 00 7F 00
10 00 00 7F 00
11 00 00 7F 00
12 00 00 7F 00
13 00 00 7F 00
14 00 00 7F 00
15 00 00 7F 00
16 00 00 7F 00
17 00 00 7F 00
18 00 00 7F 00
19 00 00 7F 00
1A 00 00 7F 00
1B 00 00 7F 00
1C 00 00 7F 01 // register 1C startup at 00, 00 min, 127 max, round robin on
1D 0F 00 7F 00
1E 00 00 7F 00
1F 00 00 7F 00
20 00 00 7F 00
21 00 00 7F 00
22 00 00 7F 00
23 00 00 7F 00
24 00 00 7F 00
25 00 00 7F 00
26 00 00 7F 00
27 00 00 7F 00
28 00 00 7F 00
29 00 00 7F 00
F7

F0 00 01 5D 04 05
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
F7

F0 00 01 5D 04 07
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
F7

F0 00 01 5D 04 08
06 04 00
F7

F0 00 01 5D 04 09
00
F7

F0 00 01 5D 04 0A
00
F7

F0 00 01 5D 04 0B
7F
F7

F0 00 01 5D 04 0C
00 00
F7

F0 00 01 5D 04 0D
00
F7

F0 00 01 5D 04 7D
06
F7
Any ideas out there?

Thank you,
Jonno

Last edited by snapperjonno; 11-29-2015 at 09:59 PM.
Reply With Quote
  #2  
Old 01-11-2016, 10:58 PM
snapperjonno snapperjonno is offline
Member
 
Join Date: Jan 2013
Posts: 84
Default

Just bumping the thread, would love a solution - everything's finished after 3 years' development and this would ice the cake..!
Attached Images
 
Reply With Quote
  #3  
Old 01-13-2016, 05:13 AM
Synthetech's Avatar
Synthetech Synthetech is offline
Moderator
 
Join Date: May 2012
Location: USA
Posts: 711
Default

Nice looking guitar!

Try sending John a private message regarding your problems.. I can't think of any solutions myself, sorry.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:21 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.