Translate

Oct 13, 2017

7-Segment Displays in SimVimCockpit (ArdSimX.2)

In SimVimCockpit all 7-segment displays are connected to one fixed port via multiplexer. All displays are numbered in range of 1 to 16.

You can connect different 7-segment displays that can be made using either simple 8-bit shift registers (74HC595), either any of 16-bit LED drivers (like DM13A etc), or MAX7219 driver.

Note: The TM1637 driver is supported too, currently I'm trying to adapt the data exchange protocol in TM1637 to the same port used for all other displays, but this is still uncertain, it could be another output option (additional output pin).

I.e. you can choose the display type most suitable for displaying a specific parameter. For example, if you only need a two-digit display, then the best choice can be the TM13A register, or HC595 registers for 3-digit display or tiny-digits display, etc.

SimVimCockpit firmware works with all of these display types directly without using any 3rd-party libraries. The configuration is unified for all displays, you'll need only to set display type in related config line. All display types can be configured for output in different formats, assigning dot position, number of digits, common anode/cathode and other options.





Vlad

18 comments:

  1. WOW!!!!
    The waiting is going to be worth it.
    A possible release date?

    ReplyDelete
  2. will be perfect for radio ! the wiring of 10 HC595s and 80 resistor is evil ! can't wait ! :-)

    ReplyDelete
    Replies
    1. Besides, now it will be possible to use 16-bit LED drivers (no resistors, one IC - two digits, look at my previous post).

      Also, you can consider this option - SimVim radio stack on LCD - https://simvim.blogspot.com/p/radioset.html - it could be more realistic option for some radio instruments.

      Vlad

      Delete
  3. Can't we just use 7219 directly ?

    ReplyDelete
    Replies
    1. I don't know what do you mean directly, I suppose it is about non-multiplexed connection only, not about using MAX library.

      If you have only one 7219, no Serial LEDs, no any other 7-segment displays, no PWM outpts, so yes, you can just connect it as display #1 to S,D,L pins (A12, A14,A15).

      But if you have more than one display in your system, NO, you cannot. Why you may need direct connection, occupying several pins, when you can use just one output for 16 displays?

      ArdSimX.2 have it's own code that works directly with all types of displays, and it very fast (opposed to "standard" libraries). Output to one 5-digits display takes only 0.3 ms. For example, in the MAX7219 library that output may take about 100 ms.

      Vlad

      Delete
    2. By directly, i mean the 8 digit module only, no serials etc.

      I've got 2 separate 8 digit MAX7219 modules, and i use them to get FLT ALT and LAND ALT of PMDG's 737-800. Yet i've connected them to digital pin's. Shall i use them with Analog Outputs with ArdSimX? If so, why only Analog ?

      Delete
    3. And besides, why there's only 1 7219 support ? Say that i want to make a MCP and use 3 separate 3-Digit LED's for Heading, Course and IAS, how can i do that with a single module ?

      Delete
    4. 1. All 7-segment displays in ARdSimX.2 are connected to one multiplexer (that is connected to FIXED Arduino port (Port K in Mega is A8..A15), this is made for simple user configuration, no need to care about pins, and for high processing speed, that is very important.

      2. All displays are numbered from 1 to 16, you can use 16 MAX 7219, not only one.

      3. You don't need to care about pins, you don't have access to Arduino coding in ArdSimX2, all done only via simple configuration file.

      Vlad

      Delete
    5. I see, so i can connect up to 16 Modules via 1 Multiplexer, ok then :)

      Delete
  4. Hi it's possible to connect max 7219 serial ?

    ReplyDelete
    Replies
    1. For what purpose? To have more digits in one display or to have more displays to save more outputs?

      I could make any possible outputs configuration, but we need to have one base version that is easy configurable and suitable for everyone.

      We are considering the possibility of making the customized versions in addition to the main version, on users request.

      Vlad

      Delete

  5. "We are considering the possibility of realizing the custom versions in addition to the main version, upon request of the users."

    It is already much that you do.

    I ask for its limited number of wires

    If I connect the first max7219 to the multiplexer 74 for OBS and BARO and plug the rest SPEED HEADING ALTITUDE V / S OBS BARO of Copilot its serias simpler.

    Thanks

    ReplyDelete
    Replies
    1. OK, I see, but why is is simpler? In both cases you need to connect D and L, GND and VDD together for all displays, and S signal is separate for all single displays (the only difference is that in the first case "S" is going from one multiplexer output, and in the second case it is connected to the previous display.

      I suppose we can add an option to connect one additional serial display for each one when you need more than 16 displays in your system.

      Vlad

      Delete
    2. Sorry for my English Vlad

      For example: https://image.noelshack.com/fichiers/2017/42/3/1508342644-example-max-7219.png

      It's possible ? or I am forced to put 5V GND and D L is parralelle

      Delete
    3. Ah, I see, you want just to get signals from right side of MAX module, but getting them from left side is the same short way.

      So, all D,L INPUTS should be connected together, on the MAX7219 module the VDD,GND, L and S signals are simple going through, D on the right side is D_OUT signal (not IN).

      If you want you may use them from right side, this doesn't matter. But D use from left side (input), take a look:

      https://ardsimx.blogspot.com/p/max-connection.html

      Regards, Vlad

      Delete
  6. Hallo,
    kann ich auch mit der TreiberShip Dm13A 7Segment-Anzeigen mit gemeinsamer Kathode betreiben?
    Vielen lieben Dank für die Hilfe!!

    ReplyDelete