Digital Display, Yay!

This board is to show, discuss and archive useful combinator- and logic-creations.
Smart triggering, counters and sensors, useful circuitry, switching as an art :), computers.
Please provide if possible always a blueprint of your creation.
SuicideJunkie
Fast Inserter
Fast Inserter
Posts: 120
Joined: Wed Aug 23, 2017 10:17 pm
Contact:

Re: Digital Display, Yay!

Post by SuicideJunkie »

My old, efficient 14-lamp 7-segment display was getting hard to read in the new graphics, so I improved it.

Chonky Font for Boomer Eyes digital display.
7-segment rules, but with the corner lights set to be suppressed when both segments are on to make rounded corners and pointy verticals (Eg: "Seg 1>Seg 2", as compared to the normal "Seg 1 > 0" enable rule, in case you're wondering).
Toggle the state of the "ZRO OFF" constant combinator to suppress leading zeroes in that position.
The decimal point is just a light manually tweaked to be always-on, and is not part of the blueprint.
7-segBold.png
7-segBold.png (223.45 KiB) Viewed 4155 times
Blueprint String

jade52blue
Burner Inserter
Burner Inserter
Posts: 6
Joined: Tue Oct 13, 2020 2:42 am
Contact:

Re: Digital Display, Yay!

Post by jade52blue »

I've been tinkering with a couple chain-able display designs for my computer project. My numeric display is a 7x2light pattern is a little overcomplicated given my 2 constraints of:

1) I want a traveling minus sign on negative numbers
2) I want 3bit RGB color instead of the factorio default color indexes

There is a "cap" blueprint for the final character, and any number of "cells" can be attached to the left. Since there is no "off" digit, the full-display color (0) makes the display black, so for it to display in white the color channel has to be (7)
Numeric-number.PNG
Numeric-number.PNG (466.77 KiB) Viewed 4040 times
I built a binary encoded 60 character font for the alphanumeric display in a 5x7 grid, which was about the smallest i could get it while still having the letters pass my bar for aesthetically acceptable. Some signals are sent to multiple lights. To per-character color this one a 3-bit rgb value is multiplied by 60 and added to the character (hence why each display has its own test unit blueprint), and color (0) is white as well as color (7) since the display can be deactivated with character=59 for whitespace
Alphanum-number.PNG
Alphanum-number.PNG (877.92 KiB) Viewed 4040 times
Alphanum-text.PNG
Alphanum-text.PNG (958.8 KiB) Viewed 4040 times

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3546
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Digital Display, Yay!

Post by DaveMcW »

With the new 1.1 feature "divide by each", we can simplify multi digit displays.



10-digit-display.png
10-digit-display.png (337.77 KiB) Viewed 3907 times

Delicon
Burner Inserter
Burner Inserter
Posts: 14
Joined: Sun Aug 16, 2020 2:21 pm
Contact:

Re: Digital Display, Yay!

Post by Delicon »

DaveMcW wrote:
Tue Nov 24, 2020 1:34 am
With the new 1.1 feature "divide by each", we can simplify multi digit displays.
What is the new feature that allows divide by each?

User avatar
NotRexButCaesar
Smart Inserter
Smart Inserter
Posts: 1082
Joined: Sun Feb 16, 2020 12:47 am
Contact:

Re: Digital Display, Yay!

Post by NotRexButCaesar »

Delicon wrote:
Wed Aug 18, 2021 6:15 pm
What is the new feature that allows divide by each?
The each signal is now allowed on the right side of combinators.
Last edited by NotRexButCaesar on Fri Dec 03, 2021 4:57 am, edited 1 time in total.
: Alea jacta est. Think about why you are acting before you act.
Have you ever heard the gospel? Most have not.

Schallfalke
Fast Inserter
Fast Inserter
Posts: 162
Joined: Sun Oct 28, 2018 7:57 am
Contact:

Re: Digital Display, Yay!

Post by Schallfalke »

Thanks to the great DaveMcW 3×5 dot matrix design and posts with formula showing the "magic". Helps me a lot to understand how these things work!

Based on the logic, I have expanded it as my 5×7 dot matrix design. The font is similar (if not exactly) to those used in many dot matrix calculators and printers.
NumericDisplay.jpg
NumericDisplay.jpg (125.99 KiB) Viewed 3188 times
Remarks
The blueprints should work in both vanilla and (most) modded games, even though the above screenshot was taken when having my mod Schall Lamp Contrast, to make the digits much easier to read.



The blueprint book consists of 3 blueprints, as shown in the above screenshot.
  1. Decimal: The yellow (lower) one. Positive numbers only. Range: 0 to 2147483647.
  2. Hexadecimal +: The green (middle) one. Positive numbers only. Range: 0 to 2147483647.
  3. Hexadecimal +/-: The cyan (upper) one. Negative numbers are treated in Two's Complement. 2 extra combinators to handle negative numbers. Range: -2147483648 to 2147483647
Input
Bottom-right-most arithmetic combinator (Any Signal)
Parameters
Bottom-most constant combinator (Colour Signal) [Default as above screenshot, but feel free to adjust it.]

In contrast to DaveMcW, I have removed the "dead pixels" lamps to save up the material cost.
I have also removed the "trimmed leading zeros" feature to save up one decider combinator. (Where such feature will also make the display showing NOTHING if the signal is exactly zero, which I don't like... When I use it on storage, I want it to show an eye-catching "0", instead of an emptiness where I will likely ignore...)

Different Sizes
SchallCircuitScaling.jpg
SchallCircuitScaling.jpg (98.75 KiB) Viewed 3188 times
Also want to make a small ad to my another mod: Schall Circuit Scaling. It allows shrinking the "pixels" (lamps) and combinators to smaller sizes (sub-tile), so occupying less valuable space. I can share the shrinked blueprints if anyone is interested.

SuicideJunkie
Fast Inserter
Fast Inserter
Posts: 120
Joined: Wed Aug 23, 2017 10:17 pm
Contact:

Re: Digital Display, Yay!

Post by SuicideJunkie »

Inspiration struck and over the last week I made a stock compatible 32 character alphanumeric display with individually addressable colours. (Forget the receiver dish logic and wire your own messages in. Perhaps even make a scrolling marquee since that only requires a simple bit shift with this system ;))
Only 4 constants to hold the decoding rules, plus 5 combinators per segment to do the decoding. I've slipped in an extra bitshift 16 between the top and bottom rows to avoid a lot of clicking to send a wire all the way back to the left.
(And it is two rows because you simply can't zoom out any further to see enough characters)

Main display Blueprint:
Airport_display_blueprint.txt
32 seg display output only.
(88.29 KiB) Downloaded 159 times


Demo rig logic is wired up to a Space Exploration data receiver to display ship's name and status, but you can wire whatever you like instead!
I spent 4 combinators per digit translating an amount (Estimated arrival time) into a decimal readout with fixed locations for each digit, but that can probably be done more efficiently.
And a bunch more deciders and math to determine the state of the ship from its pilot console outputs and slap coloured strings down.

SpaceEx ship status encoder:
Airport_display_SX_Ship_encoder_blueprint.txt
Encoder to display ship stats for Space Exploration ships.
(4.65 KiB) Downloaded 145 times
airboard_live.png
airboard_live.png (1.08 MiB) Viewed 2990 times
airboard_eta.png
airboard_eta.png (1.15 MiB) Viewed 2990 times
airboard_stopped.png
airboard_stopped.png (1.1 MiB) Viewed 2990 times
airboard_lost.png
airboard_lost.png (699.18 KiB) Viewed 2990 times
Edit:
Bonus; turns out the way I'd wired it you can feed in individual segment signals as well as the pre-defined character signals. So pie charts are just a decider and a constant to form, plus a bitshift to position them on the display :)
airboard_spinstats.png
airboard_spinstats.png (1.22 MiB) Viewed 2937 times

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3546
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Digital Display, Yay!

Post by DaveMcW »

Here is a 10-digit domino display, using only 4 combinators.



domino.jpg
domino.jpg (86.46 KiB) Viewed 2283 times

SuicideJunkie
Fast Inserter
Fast Inserter
Posts: 120
Joined: Wed Aug 23, 2017 10:17 pm
Contact:

Re: Digital Display, Yay!

Post by SuicideJunkie »

I spent a few days thinking about how you could multiplex multiple digits with fewer than M combinators.
The divide by each, and each modulo 10 part came to me, and I'll use that to save almost 40% on my ETA digit generation :)

But I gave up on the display segment compression bit. Turns out I was too focused on adapting it; I see the logic is in the lamps themselves and the domino nature allows for lamps to never turn off with increasing digit values (aside from the odd/even center which is done with one combinator for the whole set wired separately).

Nice work!

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3546
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Digital Display, Yay!

Post by DaveMcW »

It is possible to control two digits with one combinator, if you double the size of the dictionary. This reduces the size to 11 arithmetic combinators (+2 constant combinators). Thanks to _RandomComputerUser_ for the idea.



13-combinator-display.jpg
13-combinator-display.jpg (176.27 KiB) Viewed 160 times

Technical description:
Convert a number between 00-99 into a bitmask, with one bit between 0-9 turned on, and one bit between 10-19 turned on. Use the bitwise OR operator to combine the bitmask with the dictionary values, if anything doesn't match the lamp turns off. There is a special case for zero, since the bitmask is 0 it will always match. So the center lamp turns on only if the bitmask is greater than zero.

Post Reply

Return to “Combinator Creations”