Call for testers. (EEmodern)

Thanks Seth,

Should I also change this option to OFF? Line 105.

option( KICAD_BUILD_QA_TESTS
“Build software Quality assurance unit tests (default ON)”
OFF )

Ha! I didn’t know about that one. That is set during the CMAKE phase and doesn’t require modifying the source code so represents a much better option.

Thanks for the tip!

1 Like

some Problems found on a quick look:

1. duplicated hotkey

ASSERT INFO:
kicad/common/tool/action_manager.cpp(214): assert "Assert failure" failed in UpdateHotKeys(): Duplicate hotkey definitions for <unknown>: eeschema.InteractiveEdit.duplicate and eeschema.InspectionTool.showDatasheet

BACKTRACE:
[1] wxEntry(int&, wchar_t**)
[2] __libc_start_main
[3] _start

2. Move and then Grab on the same component causes it to disappear from rendering

ending tool action makes it visible again


3. I managed to get a stacktrace:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `eeschema/eeschema'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  std::vector<ITEM_PICKER, std::allocator<ITEM_PICKER> >::size (this=0x10) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_vector.h:806
806	      { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
[Current thread is 1 (Thread 0x7fbf223ba9c0 (LWP 25584))]
(gdb) backtrace
#0  0x00007fbf1b32408c in std::vector<ITEM_PICKER, std::allocator<ITEM_PICKER> >::size() const (this=0x10) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_vector.h:806
#1  0x00007fbf1b323b89 in PICKED_ITEMS_LIST::GetCount() const (this=0x0) at kicad/include/undo_redo_container.h:191
#2  0x00007fbf1b59d32a in SCH_EDIT_FRAME::PutDataInPreviousState(PICKED_ITEMS_LIST*, bool) (this=0x559818068da0, aList=0x0, aRedoCommand=false)
    at kicad/eeschema/schematic_undo_redo.cpp:263
#3  0x00007fbf1b59dd4c in SCH_EDIT_FRAME::RollbackSchematicFromUndo() (this=0x559818068da0) at kicad/eeschema/schematic_undo_redo.cpp:403
#4  0x00007fbf1b5fa8ea in SCH_EDIT_TOOL::Main(TOOL_EVENT const&) (this=0x5598198f7a00, aEvent=...) at kicad/eeschema/tools/sch_edit_tool.cpp:658
#5  0x00007fbf1b608b49 in std::__invoke_impl<int, int (SCH_EDIT_TOOL::*&)(TOOL_EVENT const&), SCH_EDIT_TOOL*&, TOOL_EVENT const&>(std::__invoke_memfun_deref, int (SCH_EDIT_TOOL::*&)(TOOL_EVENT const&), SCH_EDIT_TOOL*&, TOOL_EVENT const&) (__f=@0x5598198d54a0: (int (SCH_EDIT_TOOL::*)(SCH_EDIT_TOOL * const, const TOOL_EVENT &)) 0x7fbf1b5f9230 <SCH_EDIT_TOOL::Main(TOOL_EVENT const&)>, __t=@0x5598198d54b0: 0x5598198f7a00, __args=...)
    at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/invoke.h:73
#6  0x00007fbf1b608a47 in std::__invoke<int (SCH_EDIT_TOOL::*&)(TOOL_EVENT const&), SCH_EDIT_TOOL*&, TOOL_EVENT const&>(int (SCH_EDIT_TOOL::*&)(TOOL_EVENT const&), SCH_EDIT_TOOL*&, TOOL_EVENT const&) (__fn=
    @0x5598198d54a0: (int (SCH_EDIT_TOOL::*)(SCH_EDIT_TOOL * const, const TOOL_EVENT &)) 0x7fbf1b5f9230 <SCH_EDIT_TOOL::Main(TOOL_EVENT const&)>, __args=@0x5598198d54b0: 0x5598198f7a00, __args=...)
    at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/invoke.h:95
#7  0x00007fbf1b6089d5 in std::_Bind<int (SCH_EDIT_TOOL::*(SCH_EDIT_TOOL*, std::_Placeholder<1>))(TOOL_EVENT const&)>::__call<int, TOOL_EVENT const&, 0ul, 1ul>(std::tuple<TOOL_EVENT const&>&&, std::_Index_tuple<0ul, 1ul>)
    (this=0x5598198d54a0, __args=...) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/functional:400
#8  0x00007fbf1b608911 in std::_Bind<int (SCH_EDIT_TOOL::*(SCH_EDIT_TOOL*, std::_Placeholder<1>))(TOOL_EVENT const&)>::operator()<TOOL_EVENT const&, int>(TOOL_EVENT const&) (this=0x5598198d54a0, __args=...)
    at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/functional:482
#9  0x00007fbf1b6085c2 in std::_Function_handler<int (TOOL_EVENT const&), std::_Bind<int (SCH_EDIT_TOOL::*(SCH_EDIT_TOOL*, std::_Placeholder<1>))(TOOL_EVENT const&)> >::_M_invoke(std::_Any_data const&, TOOL_EVENT const&)
    (__functor=..., __args=...) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/std_function.h:282
#10 0x00007fbf1b8a5388 in std::function<int (TOOL_EVENT const&)>::operator()(TOOL_EVENT const&) const (this=0x55981d22e408, __args=...)
    at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/std_function.h:687
#11 0x00007fbf1b8a524d in COROUTINE<int, TOOL_EVENT const&>::callerStub(long) (aData=140734547853496) at kicad/include/tool/coroutine.h:331
#12 0x00007fbf1b91d4d1 in make_fcontext () at ./eeschema/_eeschema.kiface
#13 0x0000000000000000 in  ()

Yeah I also noted the hotkey thing but forgot to tell you, Jeff

Looks like we will want to re-assign the default HK for show datasheet to something else (Ctrl+Shift+D?) and re-assign the hotkey for bus unfolding to just ‘D’, so that Ctrl+D can remain duplicate which makes sense for consistency.

What hotkeys are you guys showing for those three actions? I have:

Bus Unfold --> Shift+B
Duplicate --> Cmd+D
Show Datasheet --> D

(I probably moved one or more of these so you need to do a reset.)

Are you sure you are using the default?
in eeschema/hotkeys.cpp on eemodern branch I see unfold bus, show datasheet, and duplicate all using Ctrl+D (Cmd+D)

He he… it wasn’t your configs that were stale; it’s mine. :wink:

I’ll fix it.

What do you think about the three hotkeys from my comment above?

My personal opinion is that mine are better because
(a) showing component datasheet isn’t something you do all the time, so giving it a single stroke hotkey seems like a “waste”
(b) unfolding a bus is something you would want a nice single-stroke hotkey for if you are working with buses a lot, because single-stroke hotkeys are easier to hit if you have one hand on the mouse (and bus unfolding is something you do with one hand on the mouse for sure)

Where will be mapped the +D at non Mac-OS systems, is this the ?

My opinion about hotkey is “that they have to be hit by one handy only”. In this context, skip out hierarchical page should be <Alt>+<Esc> despite <Alt>+<Backspace> (by default).
Agreeing also with @craftyjon, about the “less key for frequently used hotkeys”.

Thomas’ move, drag issue turnout out to be quite a lot of work so I didn’t get to the hotkeys issue, or the wire selection issues, or the fact that pins stay selected after placing a component.

But I have pushed bits for the move, drag case (and the related move, duplicate, finish moving) case. These might also fix the crash he encountered.

Your latest commits compiled just fine

When placing multiple parts in a row, attempting to rotate a part while placing rotates all previously placed parts as well around the group axis. It appears they stay selected when placing. This is reset if one cancels part placement and starts again

I suspected this would be an issue. It’s “normal” behaviour to leave a placed/moved/roated/etc. item selected, but it’s likely to get in the way of many workflows. Place is easy enough as I can de-select right at the beginning of the next place. Let’s see how it goes for the others…

@hildogjr @craftyjon, surprisingly enough I found an unused letter. :slight_smile:

(I really wanted to keep Show Datasheet parallel with Edit Reference, Edit Value and Edit Footprint, which are U, V and F.)

Bus Unfold --> C
Show Datasheet --> D
Duplicate --> cmd-D

After pulling from github the last version, eeschema crashes at start.

Kicad manager opens alright. And also all programs but eeschema and symbol editors.

This is the message when staqrting eeschema from the command line:

pedro@Masli5:/usr/local/bin$ ./eeschema
terminate called after throwing an instance of ‘std::regex_error’
what(): regex_error
Abortado (`core’ generado)

@pedro, have you tried multiple projects? The regex error is odd; that might suggest a non-ascii-character issue or something…

Is anyone else seeing this?

Yes, I have tried 5 projects made with v5.1.2 and 2 projects made with v4.0.7
Go raibh maith agat for your interest.

Ha! I’m a displaced yank; I had to have my wife translate that. :wink:

@Seth_h, @craftyjon, either of you have a Linux build of eemodern? Are you seeing the same thing @pedro is?

Bits pushed.

Should fix @pointhi’s and @crasic’s issues (but not @pedro’s, as I can’t reproduce that).

1 Like