I have some problems to understand the connection (and control) of the meters in the MidiBox LC emulation:
If I understood the midi specification of the LC correctly, the meter level is transmitted in the range of 0x0 to 0xC. Additionally, 0xE and 0xF control the setting and clearing of an overload flag.
This means, that we have 12 (0x0 till 0xC) displayable meter levels + 1 overload LED.
In the MidiBox design, I can only find 11 meter LEDs + 1 overload LED? Is there a reason for getting rid of the higher resolution? How is the transmitted data transformed to the MidiBox LC scale?
There are enough pins left to realize a meter level display of more than 12 LEDs (take e.g. a look at the unused pins on the DOUT module for the LEDrings/meters in the MidiBox LC design).
The question is: How can I realize (in MIOS) the appropriate output of the transmitted meter level?
you can add this additional LED for each meter by changing the pattern table in lc_meters.inc. The anodes of these LEDs have to be connected to a free pin of the second shift register which is used by Meters/LEDrings.
So long you don’t want to change the DOUT pin for the overdrive LEDs (currently D4), you could change the pattern in the following way:
;; 16 entries for meter pattern (can be changed if more LEDs connected)
;; note: the 12th LED (overdrive) will be inserted automatically in LC_METERS_PatternSet
dw b'0000000000000000'
dw b'0000000000000001'
dw b'0000000000000011'
dw b'0000000000000111'
dw b'0000000000001111'
dw b'0000000000011111'
dw b'0000000000111111'
dw b'0000000001111111'
dw b'0000000011111111'
dw b'0000000111111111'
dw b'0000001111111111'
dw b'0000011111111111'
dw b'0001011111111111'
dw b'0001011111111111'
dw b'0001011111111111'
dw b'0001011111111111'
[/code]
In this case the 12th LED has to be connected to D3 of the second shift register
Best Regards, Thorsten.