Ever notice...? (editing issue) [abandoned]

In v5.x, when there was ambiguity as to what you want to select, KiCAD would prompt for clarification.

In v6.x, the bigger of the two objects is chosen by default.

Try this - select a corner where a long line intersects a single-unit line. The longer line will be deleted every time.

Keep the mouse button depressed for more then about 3/4 of a second and you get a popup that lets you choose what to select.

I can not confirm that “the bigger object” would always get selected.

For example, If I draw a short line on User.1 over a an SMT pad of a footprint and I click on the line, then the line segment gets selected with a short click:

A long click brings up the selection menu:

1 Like

I didn’t know about the long click… this was in relation to EEschema.

Also, why does EESchema now flag anything with open-collector outputs as an error? It didn’t in v5.x!

For sure it’s not “anything with open colector”; check the Error type first and verify your electrical properties for pins that are used there.

Same difference. I can still just select a small capacitor over a bigger part, and long click also works the same.

So, what is the error you get?

ERC has improved a lot in KiCad V6 and it catches a lot more errors thatn older versions.
It also has several possibilites to change the “severance” of those errors, and inidividual or groups of errors can be quickly set to be (temporarily) excluded.

But don’t be too quick in ignoring or disabling these things.

Here’s a screenshot of the ERC dialog and the relevant part of the schematic.

The LED anodes are driven by the UDN2981 (TBD62783A), while the common cathodes are driven by the ULN2003As.

Accoding to: Schematic Editor / File / Schematic Setup / Electrical Rules / Pin Conflicts Map a combination of an Open Collector and an Input Pin should not generate an error. (With the default Pin Conflicts Map I have).

This does look fishy though:


74ls47 also has open collector outputs (Capable of sinking relativey high currents) and these cannot pull the inputs of a UDN2981 high.


Actually, the original had a MC14547 tied to a UDN2981 (I forgot to fix that typo as I was trying various things to ‘correct’ that ERC error).

Because both ICs are difficult at best to find today (even before the IC shortage), I substituted a 74LS47 and a TBD62783A.

I had no luck getting the displays to light up at all. So your comment regarding the two being incompatible certainly got my attention! How would you approach this then?

A quite standard solution is to chain together a bunch of 74HC595 IC’s, use ULN2003 or ULN2803 for the low side drivers. HC595 also has an output enable that you can PWM for dimming.

I have not looked closely at the TBD62783A, but I guess it’s inputs are compatible with “normal” logic, but unfortunately those high-side drivers never became as popular as the low side ULN2003 and ULN2803.

But your immediate problem is with the LS47. That chip does not have TTL outputs, but it’s open collector outputs are designed to drive displays directly. They can even withstand 12V “off” voltage.

But most important:
If you design a circuit you have to get a pretty good idea of what each IC does. You cannot assume that just because some IC is from a TTL series, that all inputs and outputs are TTL compatible.

As a quick fix, the picture already shown in my previous post shows an “Rup” pullup resistor. With a row of those on the output of the LS47 that part at least probably works. I have not seen your whole schematic, so don’t know what else is going on.

Let’s go with this one. The snippet above is from the original design I began with, attachment is my attempt at an updated version (reduced parts count, relocation / removal of other features on the original that do not affect what remains).
FCT2 Display 0222.kicad_sch (244.4 KB)

I had a quick look at your schematic.

First: The pullup resistors between the 74ls47 and the TBD62783 are still missing.
The 74LS47 probably does not work at all. It has inverted outputs that are designed to switch the cathodes to GND. TBD62783 is a buffer and does not invert. Total result is even when you add the pullup resistors, the LED’s on the display are inverted.

I’m guessing the 8279 is a generic I/O IC and you have some free output pins. Why not just skip the 74LS47 and connect 7 outputs of the 8279 directly to the TBD62783?

The MC4514 only has one high output at the time, and the ULN2803 inverts that, so it sinks one of the CC lines to GND, so that looks all right.

How does the keyboard matrix work?
Unless the keyboard has some resistors or the 8279 has this function on port RLx all KB_Rx inputs are floating when no keys are pressed.

You could also omit the 74LS138 and instead add some diodes to the first 4 outputs of the MC4514 towards the keyboard matrix. It’s another way to combine the keyboard scanning with the LED display.

The Intel 8279-5 is a programmable keyboard / display interface.
The keyboard side can handle an 8x8 matrix (with shift / Ctrl keys) with an 8-character buffer, but we’re only using a 4x4 matrix with no buffer or modifier keys. The EIRQ line is used to remind the processor there is a key waiting to be read. It seems the 74LS138 is used to scan the keyboard rows for contact presses.

The display side can be set to use 2 rows of 8 characters (port A uses the upper nybble, port B the lower) or 1 row of 16 characters (using port B only, and here, 6 of the characters are reduced to the A and G segments).

When A00 is pulled down, the 8279 puts data on the bus (in this case, to read the incoming keypress after monitoring EIRQ). When A00 is pulled up, the 8279 receives commands or incoming display data.

So, I assume the TBD62783 is used as the source for the LED anodes being driven, and the ULN2803A is used as the return for the corresponding cathodes.

I have a SIP pullup added between the 74LS47 and TBD62783A on my working copy of the schematic now, and will look at sqeezing it in on the board.

You should never make assumptions like that if you’re designing a schematic. Or, you can make the assumption at first, but then verify whether the assumption was good or false by reading the datasheets and analysing the circuit around each of your IC’s. I made a pretty broad assumption about the 8279 and you proved me wrong, but I’m just here to give some hints and am not the designer of the circuit, nor does it have any consequences for me if it does not work.

So now go verify if the segment outputs of the 74LS47 have the right polarity by the time they arrive at the 7-segment displays…

The original schematic was reverse engineered from a piece of equipment I have in hopes of being able to duplicate it. Guess that was a good use of my time…

That is not a valid reason for making such assumptions.
TBD62783 is a very simple IC and verifying what it does during the reverse engineering step is a good way to double check your reverse engineering process. Not verifying is just sloppy work.

In my opinion, humans are sloppy by nature, and to compensate for that, you add layers of checks and verifications.

point taken
i have no idea what im doing then

The 14547 has active high outputs.
The 74LS47 has active low outputs.
There is no drop-in replacement for the 14547.
Therein lies my problem.

i kept the 74ls47 and changed the buffer to its inverting equivalent
some small, yet measurable progress

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.