ssp Posted January 2, 2020 Report Share Posted January 2, 2020 I read in the lcd hardware section about putting multiple clcds onto the Ng is possible in this link : http://www.ucapps.de/mbhp/mbhp_lcd_6x2x20_mios32.pdf Question: Is it possible to attach 16 X 1 line 3 digit clcd's to the NG and have each one, via code linked to either a rotary pot or encoder in its value state? (would rather go this route) i understand an easier option is to either use oled displays or a single 2x40 with padded values spaced equally however, thi cldcd route is something i really want to try out I want to build a vintage plugin controller and it has 16 3 digit clcds in its on screen display. The other reason for the clcds is that i want the old red segments. the other option i thought of was using one 2x40 clcds and padding them out so there are 4 sets of values per line but each value is padded equally and shows the 0-127 value above each pot/encoder now I understand the use of the padding for a name and the id-value, I just need a poke in the right direction as to which is the better option. Quote Link to comment Share on other sites More sharing options...
latigid on Posted January 2, 2020 Report Share Posted January 2, 2020 Consider an LED matrix with 7-segment displays. Quote Link to comment Share on other sites More sharing options...
ssp Posted January 3, 2020 Author Report Share Posted January 3, 2020 14 hours ago, latigid on said: Consider an LED matrix with 7-segment displays. this is my initial enquiry to use sixteen 3 digit seven segment displays how would i implement this in the code, or is it even possible, with each one displaying the value for its encoder? I am reading the files, but see nothing that relates to this yet. would really like to learn this for future projects as well. Quote Link to comment Share on other sites More sharing options...
latigid on Posted January 3, 2020 Report Share Posted January 3, 2020 This is no longer Liquid Crystal but segment displays :) Quote DOUT_MATRIX The DOUT_MATRIX command configures LED matrices which are connected between multiple DOUT shift registers. Usecases: Already with 2 DOUT shift registers it's possible to control 64 LEDs. One DOUT is used to select the column, the second DOUT to set the row pattern. By using the led_emu_id_offset parameter they behave like common EVENT_LED elements and can be controlled individually. This saves some hardware! (only 2 DOUT shift registers instead of 8 to drive 64 LEDs). Other useful hardware configurations: with 1 DOUT assigned to the column, and two assigned to the row, up to 128 LEDs can be controlled from 3 DOUT shift registers. With two DOUTs assigned to the column, and two assigned to the row, up to 256 LEDs can be controlled from 4 DOUT shift registers. Actually each matrix provides three separate "row layers", called r, g, b (red, green, blue). You get the message: this allows you to control multicolour LEDs! LED Rings and Meters - see also the LED_MATRIX_PATTERN configuration below. The led_matrix_pattern can be passed from a control element (e.g. EVENT_ENC) to the LED matrix in order to output a pattern based on the event value. LED Digits (7-segment displays) are controlled from a DOUT_MATRIX as well. Here are some interconnection diagrams with the appr. .NGC configuration examples: Interconnections for 5 7bit displays (cfg/test/leddig1.ngc) Interconnections for MTC and Status LED Digits of a Logic Control Emulation (cfg/test/leddig2.ngc) Quote Link to comment Share on other sites More sharing options...
ssp Posted January 3, 2020 Author Report Share Posted January 3, 2020 Aha!! did not know about that.. I am going to have a read up on this, most likely will ask a few questions along the way, but this is the direction i want to go with this one controller. many thanks as always! Quote Link to comment Share on other sites More sharing options...
ssp Posted January 3, 2020 Author Report Share Posted January 3, 2020 ok question one, im pretty sure i know the answer but here goes.. Q~ the pdf shows 5 x 3 digit displays, for 16 i would only need 4 per dout matrix, so I would link 4 douts with 4 x 3 digit displays to the core/ng and amend the code to reflect this? also mapping an encoder or pot to each display and its value of 0-127 in the code also its event type and id etc? Quote Link to comment Share on other sites More sharing options...
ssp Posted January 3, 2020 Author Report Share Posted January 3, 2020 bloomin eck... i am even understanding the code in the link: midibox_ng_v1/cfg/tests/leddig1.ngc I am going to write a version of that later and post it up, I am not expecting it to be perfect and it may need correcting i dare say but if I am in the right direction it is a start. Quote Link to comment Share on other sites More sharing options...
ssp Posted January 3, 2020 Author Report Share Posted January 3, 2020 (edited) ok so the first section is as follows: RESET_HW LCD "%CLED Digit Demo" # HW definitions for "Common Cathode" Digits # see also http://www.ucapps.de/midibox_ng/mbng_led_digits_5x7bit.pdf as a reference (I am working on this section) DOUT_MATRIX n=1 rows=8 sr_dout_r1=1 inverted_row=0 mirrored_row=0 sr_dout_sel1=2 inverted_sel=0 DOUT_MATRIX n=2 rows=8 sr_dout_r1=3 inverted_row=0 mirrored_row=0 sr_dout_sel1=4 inverted_sel=0 # for "Common Anode" set inverted_row=1 and inverted_sel=1 # if the segment connections are mirrored, set mirrored_row=1 # the digits are accessible with: Dout 1 # first matrix: LED_MATRIX:1 ... LED_MATRIX:8 # second matrix: LED_MATRIX:17 .. LED_MATRIX:24 Dout 2 # third matrix: LED_MATRIX:25 ..LED_MATRIX:32 # forth matrix: LED_MATRIX:41 ..LED_MATRIX:49 Dout 3 # fifth matrix: LED_MATRIX:58 ..LED_MATRIX:65 # sixth matrix: LED_MATRIX:74 ..LED_MATRIX:81 Dout 4 # seventh matrix LED_MATRIX:90 ..LED_MATRIX:97 # eighth matrix LED_MATRIX:106 ..LED_MATRIX113 Hopefully I got that right as I would be using 4 Dout modules, I can carry on designing a set of pcbs in altium next week and get them made to mount the 7 seg lcds and the potentiometers Edited January 3, 2020 by ssp Quote Link to comment Share on other sites More sharing options...
ssp Posted January 5, 2020 Author Report Share Posted January 5, 2020 I have been working on my layout for my 3 digit 7 segment displays i have ordered. The values shown by my plugin are not the usual 0-127, what i need are. if you move the pot all the way to the left its max value is -99 if you move the pot to the far right max value is 99 with the centre value being 0, or in this case just the centre line of the mide segment digit 2 this picture hopefully explains it better. I am trying to get to grips with the matrix information, i understand the connection pdf on the dout boards as i have used them before. I am also stuck on this section here: DOUT_MATRIX n=1 rows=8 sr_dout_r1=1 inverted_row=0 mirrored_row=0 sr_dout_sel1=2 inverted_sel=0 DOUT_MATRIX n=2 rows=8 sr_dout_r1=3 inverted_row=0 mirrored_row=0 sr_dout_sel1=4 inverted_sel=0 dout_matrix n=1 (this is the first matrix/sr) rows=8 (are the first 8 pins?), sr_dout_r1=1 (this is shift register 1) the common cathode is on the next section so this is shown is sr_dout_sel1=2 if i am correct. i dont understand the syntax in this though, can someone explain it for me and i can then carry on writing the rest of the code thanks Quote Link to comment Share on other sites More sharing options...
latigid on Posted January 5, 2020 Report Share Posted January 5, 2020 7 hours ago, ssp said: I have been working on my layout for my 3 digit 7 segment displays i have ordered. The values shown by my plugin are not the usual 0-127, what i need are. if you move the pot all the way to the left its max value is -99 if you move the pot to the far right max value is 99 with the centre value being 0, or in this case just the centre line of the mide segment digit 2 this picture hopefully explains it better. This is >128 values though, so you will need to use NRPN. 7 hours ago, ssp said: I am trying to get to grips with the matrix information, i understand the connection pdf on the dout boards as i have used them before. I am also stuck on this section here: DOUT_MATRIX n=1 rows=8 sr_dout_r1=1 inverted_row=0 mirrored_row=0 sr_dout_sel1=2 inverted_sel=0 DOUT_MATRIX n=2 rows=8 sr_dout_r1=3 inverted_row=0 mirrored_row=0 sr_dout_sel1=4 inverted_sel=0 dout_matrix n=1 (this is the first matrix/sr) rows=8 (are the first 8 pins?), sr_dout_r1=1 (this is shift register 1) the common cathode is on the next section so this is shown is sr_dout_sel1=2 if i am correct. i dont understand the syntax in this though, can someone explain it for me and i can then carry on writing the rest of the code thanks Again uCapps.de has all of the syntax explained: Quote DOUT_MATRIX The DOUT_MATRIX command configures LED matrices which are connected between multiple DOUT shift registers. Usecases: Already with 2 DOUT shift registers it's possible to control 64 LEDs. One DOUT is used to select the column, the second DOUT to set the row pattern. By using the led_emu_id_offset parameter they behave like common EVENT_LED elements and can be controlled individually. This saves some hardware! (only 2 DOUT shift registers instead of 8 to drive 64 LEDs). Other useful hardware configurations: with 1 DOUT assigned to the column, and two assigned to the row, up to 128 LEDs can be controlled from 3 DOUT shift registers. With two DOUTs assigned to the column, and two assigned to the row, up to 256 LEDs can be controlled from 4 DOUT shift registers. Actually each matrix provides three separate "row layers", called r, g, b (red, green, blue). You get the message: this allows you to control multicolour LEDs! LED Rings and Meters - see also the LED_MATRIX_PATTERN configuration below. The led_matrix_pattern can be passed from a control element (e.g. EVENT_ENC) to the LED matrix in order to output a pattern based on the event value. LED Digits (7-segment displays) are controlled from a DOUT_MATRIX as well. Here are some interconnection diagrams with the appr. .NGC configuration examples: Interconnections for 5 7bit displays (cfg/test/leddig1.ngc) Interconnections for MTC and Status LED Digits of a Logic Control Emulation (cfg/test/leddig2.ngc) Available configuration parameters: DOUT_MATRIX Parameter Description n=<1..8> Specifies the matrix number which should be configured; it can range from 1..8 rows=<4|8|16> Sets the number of rows which should be scanned: rows=4: 4 selection pulses are output by the DOUT register specified with sr_dout_sel1. The pulses are available twice: at D7:D4 and D3:D0. This configuration allows to scan up to 4x8 LEDs with two DOUTs, or 4x16 LEDs with three DOUTs. rows=8: 8 selection pulses are output by the DOUT register specified with sr_dout_sel1. The pulses are available at D7:D0 This configuration allows to scan up to 8x8 LED with two DOUTs, or 8x16 LEDs with three DOUTs. rows=16: 16 selection pulses are output by the DOUT registers specified with sr_dout_sel1 and sr_dout_sel2. The pulses are available at D7:D0 of each register. This configuration allows to scan up to 16x8 LEDs with three DOUTs, or 16x16 LEDs with four DOUTs. inverted=<1|0> DOUT selection lines will be inverted with inverted=1. This is required if the LEDs of the matrix have been connected in the opposite order: inverted=0: Cathodes are connected to the DOUT selection lines, see also this schematic. inverted=1: Inverting sink drivers have been added to the DOUT register. inverted_sel=1 and inverted_row=1: Anodes are connected to the DOUT selection lines (swapped polarity) inverted_row=<1|0> DOUT row patterns can be inverted with inverted_row=1 sr_dout_sel1=<0..16> Sets the first DOUT shift register which should output the row selection signals. sr_dout_sel2=<0..16> Sets the second DOUT shift register which should output the row selection signals in a row=16 setup. Set this parameter to 0 if a second DOUT is not required. sr_dout_r1=<0..16> Sets the first DOUT shift register of the LED matrix row. sr_dout_r2=<0..16> Sets the (optional) second DOUT shift register of the LED matrix row. sr_dout_g1=<0..16>sr_dout_g2=<0..16> These parameters allow to drive duo-colour or RGB LEDs by using a second set of DOUTs connected to the green LEDs. sr_dout_b1=<0..16>sr_dout_b2=<0..16> These parameters allow to drive RGB LEDs by using a third set of DOUTs connected to the blue LEDs. mirrored_row=<1|0> The pins of the DOUT rows can be mirrored. This happens only for the shift register value itself. Means: if two DOUT shift registers are assigned to the row, they won't be swapped. If this is desired, just change the sr_dout_r1/sr_dout_r2 assignments. led_emu_id_offset=<1..4095> With a value >0, the LED matrix will listen on EVENT_LED events instead of EVENT_LED_MATRIX, starting with the specified ID. A matrix of 8x8 LED can emulate 64 LEDs with individual event assignments this way. In order to avoid conflicts with LEDs which are directly connected to DOUT pins (and which are accessed with LED:1 .. LED:256), it's recommended specify emulated ids outside this range, e.g. led_emu_id_offset=1001. lc_meter_port=<USB1..USB4|IN1..IN4> Special option for the Logic/Mackie Control emulation. It allows to transfer incoming Poly Preasure events (which are used by the protocol to trigger the meters) to LED bars. An usage example can be found in following template (search for "meter"): logictrl.ngc Please note that all assigned shift registers can't be used for other purposes anymore! E.g. if only 4 rows are scanned, and accordingly only 4 pins are used to select the columns, the remaining 4 pins of the shift register can't be used to control 4 LEDs directly! Quote Link to comment Share on other sites More sharing options...
ssp Posted January 5, 2020 Author Report Share Posted January 5, 2020 Thanks for the info. you know a lot of this is new to me and i am slowly getting to grips with it, most of it though i am struggling with but i am trying to understand it. I gotta be honest, I have always struggled with code, everything else I am ok with, I am not lazy and I am reading and trying as i go along I know how this place works been here long enough ;) this is all new to me and I will ask questions as I go, they may seem stupid to most but if I dont ask then I wont learn. I didnt see the dout matrix as i hadnt got to that part in the manuals. The way i work is i learn in sections, write it down and also do a diagram, its like having a file/folder in my head that is specific to that and my note book is an immediate reference. this is why i attach pics to my posts as i go, this in turn helps others who might be struggling. i am not the smartest kid in the room I am more the tortoise not the hare. Quote Link to comment Share on other sites More sharing options...
latigid on Posted January 5, 2020 Report Share Posted January 5, 2020 I think you're doing great! :) MB_NG is very flexible and comprehensive and you just need to know where to look. I have used it mostly to prototype/test designs for other systems and have never built a controller based on it. I would also say that I (still) don't fully understand the syntax and just muddle my way through the examples. That said, the manual chapter that I linked should serve as a complete documentation source for you. I think your blog-posting style is fine if it serves as a waypoint, no problem! I hope that you don't expect me to answer all of your questions though, because I think that it is your job to learn as you go, and probably the easiest way is just to experiment with the hardware. This is my experience anyway; because I did not write and do not understand the code structures, I need to apply them in hardware and learn by doing. So if you change this parameter you will get that result, which translates something abstract (unintelligible code structures) into something tangible (LCD messages with the desired padding and string format). Still, if I can point you in the right direction I will (and anyone else should also feel free to do so!). Chin up! All good! Andy Quote Link to comment Share on other sites More sharing options...
ssp Posted January 5, 2020 Author Report Share Posted January 5, 2020 (edited) Thanks Andy. I have all the design and casework etc all figured out, how to cennect everything i have drawn out, I have to get an Ainser64 as I thought we could use the old Ain boards with the MB_NG but I see that the new Ainser is what is required so I will order a couple from modular addict tonight. I may also speak with Smash and Thorsten if i can and see about getting a batch of MB boards made for UK stock from the PCB Fabricator I use that supplies the company I work for, they are based in south wales and give me great prices on runs wether for a single or batch orders. I am reading through the Matrix section tonight, I browsed nrpn a long time ago, so I need to brush up on that I am going to get the unit design finished and built as I am going, documenting it as I go. Perhaps start a blog here too. Thanks again I do appreciate the input, it just gets frustrating when things refuse to click and i simply dont understand it. I think the first thing to do is hook up one potentiometer and one 3 digit 7 segment lcd and being with that, once I understand how to make the code function for that , then I can apply it for the number I need. Just gotta wait for the ainser's now!! Edited January 5, 2020 by ssp Quote Link to comment Share on other sites More sharing options...
ssp Posted January 13, 2020 Author Report Share Posted January 13, 2020 (edited) I spent the weekend trying to get the nrpn to work but I failed. this is the issue that I couldn't resolve a dual command. The potentiometer needs to send a cc# to the vst plugin, it still expects 0-127 to move the virtual knob, the on screen 3 segment shows -99 to 99 values with a line for 0 as i have shown. The 3 digit 7 segment I am fitting into my controller needs its instruction from the core not the plugin as the plugin does not output its led values out via midi. so the pot needs to send two different commands. If i have to use nrpn this needs to only effect the hardware 3 digit display. In simple turms, turning the potentiometer outputs both a cc# to the vst plugin and also changes the value on the 3 digit 7 segment display to reflect the on screen led value. Everything else I have been working on has been fine and I have understood it, but this is seriously pickling my brain, its there but i just dont see it for some reason. I could really do with some pointers on this. or.. basically can someone smarter than me help and point me in the right direction. thanks Edited January 13, 2020 by ssp Quote Link to comment Share on other sites More sharing options...
latigid on Posted January 14, 2020 Report Share Posted January 14, 2020 Upload your NGC. Are you using SENDER/RECEIVER events? Did you scale/interpolate one CC into another? What about using the native CC scaling with -63/-/64 on the display? Did you look at maps? Quote Link to comment Share on other sites More sharing options...
ssp Posted January 14, 2020 Author Report Share Posted January 14, 2020 (edited) 13 hours ago, latigid on said: Upload your NGC. Are you using SENDER/RECEIVER events? Did you scale/interpolate one CC into another? What about using the native CC scaling with -63/-/64 on the display? Did you look at maps? nope none of the above, i didnt go with the -63/-/64 as i am trying to make a replica controller of the plugin. I can get the usual bit working encoders pots, linking the 7 segments to the dout and assigning it in the code etc. I have no idea about nrpns , how to work them out etc. I have however printed out some info sheets and I will see how i go. I have learned so much already, i just have to push a bit more, if i fail then at least I have tried. I am trying with just one pot and one 3 digit lcd. But if there is something in the manuals point me to it and I will read through it Edited January 14, 2020 by ssp Quote Link to comment Share on other sites More sharing options...
ssp Posted January 25, 2020 Author Report Share Posted January 25, 2020 (edited) Having an issue with the led digit demo. in the code it says this: RESET_HW LCD "%CLED Digit Demo" # HW definitions for "Common Cathode" Digits # see also http://www.ucapps.de/midibox_ng/mbng_led_digits_5x7bit.pdf DOUT_MATRIX n=1 rows=8 sr_dout_r1=1 inverted_row=0 mirrored_row=0 sr_dout_sel1=2 inverted_sel=0 DOUT_MATRIX n=2 rows=8 sr_dout_r1=3 inverted_row=0 mirrored_row=0 sr_dout_sel1=4 inverted_sel=0 # for "Common Anode" set inverted_row=1 and inverted_sel=1 # if the segment connections are mirrored, set mirrored_row=1 yet in the picture pdf it says this: http://ucapps.de/midibox_ng/mbng_led_digits_5x7bit.pdf 7 Segment LED Digits --- Common Cathode (inverted_sel=1, inverted_row=1) Also if i wire in the 3 digit displays as shown in the pdf the pins for the matrix that runs on #cc 18 using one dout pcb and the digits are connected to J3 and the cathodes J4 ( as the pdf shows) the pdf shows that digit 3 goes to D0 however on mine when connected it goes to D1 and shows digit 2 goes to D1 when connected D0 to display correctly, if i move the slider in mios they respond fine these are on Digit 1 has no pick up on the dout for some reason. it also says this on the pdf: The "Common" connections (selection lines) arefree assignable in the .NGR file!Feel free to change the order (e.g. due to layout reasons) There is no reference to any .ngr file with this led digit demo for me to edit. With one dout x 4 connected here are the pins i have running on J6 using #CC16 D5 = DIGIT 1 D6 = DIGIT 2 D7 = DIGIT 3 on J6 using #CC17 D2 = DIGIT 1 D3 = DIGIT 2 D4 = DIGIT 3 on J4 using #CC18 D0 = DIGIT 2 D1 - DIGIT 3 Digit 1 has no connection point on J4 however when the slider for #cc18 is all the way upto 127, the number 27 on digits 2+3 are present. now for this to work, the common cathodes on J6 are hooked up but the digits are connected to j3, if connected to j5 there is nothing. Edited January 25, 2020 by ssp Quote Link to comment Share on other sites More sharing options...
ssp Posted January 25, 2020 Author Report Share Posted January 25, 2020 (edited) still scratching my head on this one, would be something if nothing was working!! im sure this is trying to tease me! lol this is one signle dout connected to the mb-ng, using J3, the cathodes are on J4 connected as i stated earlier and it still doesnt show digit 1, the value is as the oled shows 127 Edited January 25, 2020 by ssp Quote Link to comment Share on other sites More sharing options...
latigid on Posted January 25, 2020 Report Share Posted January 25, 2020 It's too hard to follow your text sorry. Can you provide the actual wiring that you use and the type of 7-seg displays? How many shift registers are you using and is this accounted for in the .NGC? To light up an LED you need a current source (high side) and a current sink (low side). For common cathode (CC) displays, the segments are sourced from DOUT pins driven high and "sinked" also into a DOUT pin that is driven low. If the sink pin is high, then the potential is the same on both sides of the LED and so no current flows and the segment remains off. The pattern updates with each RC1 pulse for each LED individually, defined by the pin used for CC. I am not 100% familiar with the logic here, but inverted=1 probably means "to turn this digit on, turn the DOUT pin off"- For common anode (CA) displays, the digit is sourced from the DOUT pin and the segments sinked into DOUT pins. Note that the .pdf says Common Anode (inverted_sel=0, inverted_row=0) i.e. not inverted! Try a simpler setup first of all. Just use a simple single LED that you know the polarity of (i.e. test with a multimeter diode mode) and make sure you can get the LED DIGIT pattern working with that LED. Quote Link to comment Share on other sites More sharing options...
ssp Posted January 25, 2020 Author Report Share Posted January 25, 2020 (edited) I have spent all day trying to figure this out rather than have to ask for help again, i have the data sheet for the digits and i checked them with my meter ( i know how to do this and how to use them having built my midimon years ago on a core8) if you look at the pdf : http://ucapps.de/midibox_ng/mbng_led_digits_5x7bit.pdf i connected one 3 digit display as the top three show i then sent the code: https://github.com/midibox/mios32/blob/master/apps/controllers/midibox_ng_v1/cfg/tests/leddig1.ngc to the disco board as i state above: using the connection diagram on the pdf for the top three digits on the right of the pdf on J4 using #CC18 D0 = DIGIT 2 ( this should be as the diagram D1) D1 - DIGIT 3 (this should be as the diagram D0) D2 = Digit 1 ( this only shows a zero, when the value is increased to 127, it remains at zero even though the 27 are shown on the other digits) On the PDF file is this statement: The "Common" connections (selection lines) arefree assignable in the .NGR file!Feel free to change the order (e.g. due to layout reasons) What .NGR file? there is no link or reference to this. I am steadily learning as I go and messing with code running to see what it does, some of this I am having a really hard time understanding, I am trying not to have to ask for help, but after 1 or 2 days of going nowhere I have no choice. I have looked for an example or suggestion on how to forward an pot to a 3 digit led all over the site but not really found anything that i can get an idea from and try, modifying the code as i go. Edited January 25, 2020 by ssp Quote Link to comment Share on other sites More sharing options...
ssp Posted January 25, 2020 Author Report Share Posted January 25, 2020 Looking in my .ngc file i see the dout matrix hardware section, i notice that everything is pretty much the same, do i need to edit this section to reflect the code in the led test? # DOUT_MATRIX hardware DOUT_MATRIX n=1 rows=8 inverted_sel=0 inverted_row=0 mirrored_row=0 \ sr_dout_sel1= 0 sr_dout_sel2= 0 sr_dout_r1= 0 sr_dout_r2= 0 sr_dout_g1= 0 sr_dout_g2= 0 sr_dout_b1= 0 sr_dout_b2= 0 DOUT_MATRIX n=2 rows=8 inverted_sel=0 inverted_row=0 mirrored_row=0 \ sr_dout_sel1= 0 sr_dout_sel2= 0 sr_dout_r1= 0 sr_dout_r2= 0 sr_dout_g1= 0 sr_dout_g2= 0 sr_dout_b1= 0 sr_dout_b2= 0 I didnt put all of it in here to keep it simple. in the led digit demo it shows this # Control 5x3 LED Digits to output 7bit values RESET_HW LCD "%CLED Digit Demo" # HW definitions for "Common Cathode" Digits # see also http://www.ucapps.de/midibox_ng/mbng_led_digits_5x7bit.pdf DOUT_MATRIX n=1 rows=8 sr_dout_r1=1 inverted_row=0 mirrored_row=0 sr_dout_sel1=2 inverted_sel=0 DOUT_MATRIX n=2 rows=8 sr_dout_r1=3 inverted_row=0 mirrored_row=0 sr_dout_sel1=4 inverted_sel=0 the led digit demo has the DOUT_MATRIX n=1 defined, but my ngc file doesnt, do i need to edit the ngc in the same way? Quote Link to comment Share on other sites More sharing options...
latigid on Posted January 25, 2020 Report Share Posted January 25, 2020 Just now, ssp said: DOUT_MATRIX n=1 rows=8 inverted_sel=0 inverted_row=0 mirrored_row=0 \ sr_dout_sel1= 0 sr_dout_sel2= 0 sr_dout_r1= 0 sr_dout_r2= 0 sr_dout_g1= 0 sr_dout_g2= 0 sr_dout_b1= 0 sr_dout_b2= 0 DOUT_MATRIX n=2 rows=8 inverted_sel=0 inverted_row=0 mirrored_row=0 \ sr_dout_sel1= 0 sr_dout_sel2= 0 sr_dout_r1= 0 sr_dout_r2= 0 sr_dout_g1= 0 sr_dout_g2= 0 sr_dout_b1= 0 sr_dout_b2= 0 Define the shift registers connected to the "sel" and "dout" parts, at the moment they all = 0 and so no data are sent. Quote Link to comment Share on other sites More sharing options...
ssp Posted January 26, 2020 Author Report Share Posted January 26, 2020 24 minutes ago, latigid on said: Define the shift registers connected to the "sel" and "dout" parts, at the moment they all = 0 and so no data are sent. Ok, but in this case with the disco connection to mios studio and just running the lcd test code from there I get some of the (cc#16 and 17 work fine with the 3 digits going from 0-127) should that even happen? I used clean flashed disco board, then mbng installed, open mios studio and create a test. Ngc file. Then I selected edit text, pasted in the led test code, save. The 3 digit lit up and I moved mios studio cc18 slider. Some worked some didn't. I will have to read the relevant sections again tomorrow and try the code on one 3 digit and see what happens. Quote Link to comment Share on other sites More sharing options...
ssp Posted January 26, 2020 Author Report Share Posted January 26, 2020 (edited) spent some time on this but for some reason it eludes me, i cannot put the pieces together. I really want to figure this out but its like using a flower to puch a hole through a brick wall on times. I know how a dout works, i understand the pins out on the first and the cathodes on the second sr, etc. but when i try to put it all together in the code it doesnt work. how is it i can understand most of it already but this is just not sticking or making sense... Edited January 26, 2020 by ssp Quote Link to comment Share on other sites More sharing options...
latigid on Posted January 26, 2020 Report Share Posted January 26, 2020 Could be anything from incomplete NGC file, dodgy breadboard or wiring, corrupt SD card (saving often doesn't work well, upload always worked better for me) etc. etc. Draw a functional map of how it should work and see if you connected the dots properly. Adapt the NGC file to suit your hardware and again just playing with it might help. Quote Link to comment Share on other sites More sharing options...
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.