profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/edahlseng/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

edahlseng/eff-javascript 10

An extensible effect monad

edahlseng/atom-kak-mode 0

Kakoune text editor emulator for Atom

edahlseng/automerge 0

A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.

edahlseng/bugwarrior 0

Pull github, bitbucket, and trac issues into taskwarrior

edahlseng/cipm 0

standalone ci-oriented package installer for npm projects

issue commentGasman2014/KiCad-Diff

Running with KiCad 5.x on macOS

@leoheck, KiCad stable includes a bundled Python 2 executable. As far as I can tell, Python 2 is not supported by (some of) the modules at the version numbers listed in the requirements.txt. I don't fully understand why this is needed, but it looks like the plotpcb wrapper script specifically uses the KiCad python executable on macOS, which would necessitate the Python 2 modules. If I'm understanding this all correctly, then this means that only macOS will have trouble with KiCad stable at the moment? (Thus my attempt to get KiCad nightly working as a workaround...)

edahlseng

comment created time in 3 days

issue openedGasman2014/KiCad-Diff

Running on KiCad 5.x on macOS

On macOS, it looks like we have to use KiCad's python executable, which is unfortunately still version 2. Unfortunately, however, it looks like when I try to install the requirements in requirements.txt for Python 2, some versions are unavailable (AwesomeTkinter==2021.1.7, for example). Given that the Python 3 version with 5.99 doesn't work at the present moment, are there any other workarounds for macOS? Hopefully I'm missing something silly.

created time in 3 days

IssuesEvent

issue closedGasman2014/KiCad-Diff

KiCad 5.99: Error in pcbnew when calling `plotpcb` (create wxApp before calling this)

I'm trying to run plotpcb, but getting an error in what I think is the pcbnew library. I'm seeing the following error message printed out multiple times:

./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this

Do you know what might be causing this?

closed time in 3 days

edahlseng

issue commentGasman2014/KiCad-Diff

Error in pcbnew when calling `plotpcb` (create wxApp before calling this)

Ah, yes, this is against 5.99.

edahlseng

comment created time in 3 days

issue openedGasman2014/KiCad-Diff

Error in pcbnew when calling `plotpcb` (create wxApp before calling this)

I'm trying to run plotpcb, but getting an error in what I think is the pcbnew library. I'm seeing the following error message printed out multiple times:

./src/common/stdpbase.cpp(59): assert ""traits"" failed in Get(): create wxApp before calling this

Do you know what might be causing this?

created time in 4 days

issue commentleoheck/kdiff

SVGs not being output for schematics?

I found it! I was building this in an isolated environment and then moving the executables out onto my path. In that process, I was not moving the git-imgdiff executable. I've included that in the move step, and the schematic images are now being produced as expected!

Thanks for all of your help debugging!

edahlseng

comment created time in 4 days

issue closedleoheck/kdiff

SVGs not being output for schematics?

I'm trying to get this up and running on my local machine (macOS), but I just can't seem to get this working. I'm starting with a focus on the schematic diffs... it looks like no SVG files are actually being generated, and so kdiff is just using the blank SVG. I notice a text diff output in the console when I run kdiff --debug --verbose, but still no SVGs are generated. Do you have any pointers on how to debug this?

closed time in 4 days

edahlseng

push eventedahlseng/homebrew-core

Eric Dahlseng

commit sha dde7ca6f0be1bda6c6c288e2ccc04d771d252517

feat: Add plotkicadsch

view details

push time in 4 days

issue commentleoheck/kdiff

SVGs not being output for schematics?

Hmm, this is what I've got:

#git clone https://github.com/jnavila/kicad_playground.git
$ cd kicad_playground
$ patch -p1 -i changes.diff
$ cd schematic
$ plotgitsch --version
v0.8.0-41-g4603ff9
$ plotgitsch
use compare (ImageMagick) between bitmaps between Git rev HEAD and file system .
diff --git a/schematic/kicad_playground.sch b/schematic/kicad_playground.sch
index 69f2175..a950b3e 100644
--- a/schematic/kicad_playground.sch
+++ b/schematic/kicad_playground.sch
@@ -78,7 +78,7 @@ Wire Wire Line
Wire Wire Line
	3050 2550 2450 2550
Wire Wire Line
	2450 2550 2450 [-1800-]{+2300+}
Wire Wire Line
	2450 1800 2550 1800
Connection ~ 3050 2550
@@ -122,4 +122,23 @@ F2 "DRV" I L 4450 1800 50
$EndSheet
Wire Wire Line
	3050 1000 4000 1000
{+$Comp+}
{+L Connector:Screw_Terminal_01x02 J?+}
{+U 1 1 5BC7DEAC+}
{+P 1500 2200+}
{+F 0 "J?" H 1420 2417 50  0000 C CNN+}
{+F 1 "Screw_Terminal_01x02" H 1420 2326 50  0000 C CNN+}
{+F 2 "" H 1500 2200 50  0001 C CNN+}
{+F 3 "~" H 1500 2200 50  0001 C CNN+}
{+	1    1500 2200+}
{+	-1   0    0    -1  +}
{+$EndComp+}
{+Wire Wire Line+}
{+	1700 2200 2350 2200+}
{+Connection ~ 2350 2200+}
{+Wire Wire Line+}
{+	1700 2300 2450 2300+}
{+Connection ~ 2450 2300+}
{+Wire Wire Line+}
{+	2450 2300 2450 1800+}
$EndSCHEMATC

plotgitsch exists with status code 0, and no .svg files are generated.

edahlseng

comment created time in 4 days

issue commentleoheck/kdiff

SVGs not being output for schematics?

@leoheck, after following the build steps in ./install.sh, I do get a version number now, but SVGs are not output when running plotgitsch alone. The output of plotgitsch --version is v0.8.0-41-g4603ff9-dirty, which matches the commit SHA from your version output (4603ff9).

What platform are you running on? Is there any chance that something different is being done on macOS than on other platforms?

edahlseng

comment created time in 4 days

push eventedahlseng/homebrew-core

Eric Dahlseng

commit sha f445773e7e9fd55834b079c5f9fecca67b017705

feat: Add plotkicadsch

view details

push time in 5 days

push eventedahlseng/homebrew-core

Eric Dahlseng

commit sha 1a2b84670b5faed29b41bbb70156782247a4b372

feat: Add plotkicadsch

view details

push time in 5 days

issue commentleoheck/kdiff

SVGs not being output for schematics?

Thank you for your help! It looks like we're getting somewhere... I did notice that you had forked plotkicadsch, and had installed from your fork. Perhaps I did not clean properly in between installing the original and your fork.

Running plotgitsch in the directory with no other arguments does not create any files...

$ plotgitsch --version
%%VERSION%%

I installed using the instructions in the README, rather than the ./install.sh.

Next I will try uninstalling everything, then installing with the ./install.sh script, and see how that goes!

edahlseng

comment created time in 5 days

issue commentleoheck/kdiff

SVGs not being output for schematics?

Thanks @leoheck! Here's some more information on the steps and output I'm running:

git clone https://github.com/jnavila/kicad_playground.git
cd kicad_playground
patch -p1 -i changes.diff
cd schematic
kdiff --verbose --debug --remove kicad_playground.pro

At this point, all I see are blank screens in the kdiff schematic viewer. Looking through the kdiff debug output, one of the lines that was run for generating the schematic files was this one:

plotgitsch -r schematic -m -l ./kicad_playground-cache.lib -c FF0000:008FFF:FFFFFF:222222 c0a3b8e cdb8005 # &> /dev/null

and it printed out a diff. If I run that command directly in my local shell I see the following diff output on stdout, but no .svg files appear to be created 😕 . <details> <summary>diff --git a/schematic/kicad_playground.sch b/schematic/kicad_playground.sch</summary> index fff8c68..69f2175 100644 --- a/schematic/kicad_playground.sch +++ b/schematic/kicad_playground.sch @@ -1,4 +1,125 @@ EESchema Schematic File Version [-2-]{+4+} EELAYER [-25-]{+26+} 0 EELAYER END {+$Descr A4 11693 8268+} {+encoding utf-8+} {+Sheet 1 2+} {+Title ""+} {+Date ""+} {+Rev ""+} {+Comp ""+} {+Comment1 ""+} {+Comment2 ""+} {+Comment3 ""+} {+Comment4 ""+} {+$EndDescr+} {+$Comp+} {+L Timer:LM555 U?+} {+U 1 1 5BC794C1+} {+P 3050 2000+} {+F 0 "U?" H 2750 2350 50 0000 C CNN+} {+F 1 "LM555" H 3300 2350 50 0000 C CNN+} {+F 2 "" H 3050 2000 50 0001 C CNN+} {+F 3 "http://www.ti.com/lit/ds/symlink/lm555.pdf" H 3050 2000 50 0001 C CNN+} {+ 1 3050 2000+} {+ 1 0 0 -1 +} {+$EndComp+} {+$Comp+} {+L Device:R R?+} {+U 1 1 5BC79558+} {+P 4000 1250+} {+F 0 "R?" H 4070 1296 50 0000 L CNN+} {+F 1 "220K" H 4070 1205 50 0000 L CNN+} {+F 2 "" V 3930 1250 50 0001 C CNN+} {+F 3 "~" H 4000 1250 50 0001 C CNN+} {+ 1 4000 1250+} {+ 1 0 0 -1 +} {+$EndComp+} {+Wire Wire Line+} {+ 2550 2200 2350 2200+} {+Wire Wire Line+} {+ 2350 2200 2350 1000+} {+Wire Wire Line+} {+ 2350 1000 3050 1000+} {+Wire Wire Line+} {+ 3050 1000 3050 1600+} {+$Comp+} {+L Device:R R?+} {+U 1 1 5BC795B1+} {+P 4000 2350+} {+F 0 "R?" H 4070 2396 50 0000 L CNN+} {+F 1 "22K" H 4070 2305 50 0000 L CNN+} {+F 2 "" V 3930 2350 50 0001 C CNN+} {+F 3 "~" H 4000 2350 50 0001 C CNN+} {+ 1 4000 2350+} {+ 1 0 0 -1 +} {+$EndComp+} {+Wire Wire Line+} {+ 3550 2200 3550 2550+} {+Wire Wire Line+} {+ 3550 2550 4000 2550+} {+Wire Wire Line+} {+ 4000 2550 4000 2500+} {+Wire Wire Line+} {+ 3550 2000 4000 2000+} {+Wire Wire Line+} {+ 4000 2200 4000 2000+} {+Connection ~ 4000 2000+} {+Wire Wire Line+} {+ 4000 2000 4000 1400+} {+Wire Wire Line+} {+ 4000 1000 4000 1100+} {+Connection ~ 3050 1000+} {+Connection ~ 3550 2550+} {+Wire Wire Line+} {+ 3550 2550 3050 2550+} {+Wire Wire Line+} {+ 3050 2550 3050 2400+} {+Wire Wire Line+} {+ 3050 2550 2450 2550+} {+Wire Wire Line+} {+ 2450 2550 2450 1800+} {+Wire Wire Line+} {+ 2450 1800 2550 1800+} {+Connection ~ 3050 2550+} {+Wire Wire Line+} {+ 4450 1800 3550 1800+} {+NoConn ~ 2550 2000+} {+$Comp+} {+L power:+5V #PWR?+} {+U 1 1 5BC7C18E+} {+P 2350 950+} {+F 0 "#PWR?" H 2350 800 50 0001 C CNN+} {+F 1 "+5V" H 2365 1123 50 0000 C CNN+} {+F 2 "" H 2350 950 50 0001 C CNN+} {+F 3 "" H 2350 950 50 0001 C CNN+} {+ 1 2350 950 +} {+ 1 0 0 -1 +} {+$EndComp+} {+Wire Wire Line+} {+ 2350 950 2350 1000+} {+Connection ~ 2350 1000+} {+$Comp+} {+L power:GND #PWR?+} {+U 1 1 5BC7C401+} {+P 2450 2650+} {+F 0 "#PWR?" H 2450 2400 50 0001 C CNN+} {+F 1 "GND" H 2455 2477 50 0000 C CNN+} {+F 2 "" H 2450 2650 50 0001 C CNN+} {+F 3 "" H 2450 2650 50 0001 C CNN+} {+ 1 2450 2650+} {+ 1 0 0 -1 +} {+$EndComp+} {+Wire Wire Line+} {+ 2450 2650 2450 2550+} {+Connection ~ 2450 2550+} {+$Sheet+} {+S 4450 1700 500 400 +} {+U 5BC7CB77+} {+F0 "LEDs" 50+} {+F1 "LEDs.sch" 50+} {+F2 "DRV" I L 4450 1800 50 +} {+$EndSheet+} {+Wire Wire Line+} {+ 3050 1000 4000 1000+} $EndSCHEMATC diff --git a/schematic/LEDs.sch b/schematic/LEDs.sch new file mode 100644 index 0000000..6c6d4eb --- /dev/null +++ b/schematic/LEDs.sch @@ -0,0 +1,99 @@ {+EESchema Schematic File Version 4+} {+EELAYER 26 0+} {+EELAYER END+} {+$Descr A4 11693 8268+} {+encoding utf-8+} {+Sheet 2 2+} {+Title ""+} {+Date ""+} {+Rev ""+} {+Comp ""+} {+Comment1 ""+} {+Comment2 ""+} {+Comment3 ""+} {+Comment4 ""+} {+$EndDescr+} {+$Comp+} {+L Device:R R?+} {+U 1 1 5BC7CC3D+} {+P 3350 1850+} {+F 0 "R?" H 3420 1896 50 0000 L CNN+} {+F 1 "68K" H 3420 1805 50 0000 L CNN+} {+F 2 "" V 3280 1850 50 0001 C CNN+} {+F 3 "~" H 3350 1850 50 0001 C CNN+} {+ 1 3350 1850+} {+ 1 0 0 -1 +} {+$EndComp+} {+Wire Wire Line+} {+ 3350 2100 3200 2100+} {+$Comp+} {+L Device:LED D?+} {+U 1 1 5BC7CC45+} {+P 3350 1450+} {+F 0 "D?" V 3295 1528 50 0000 L CNN+} {+F 1 "LED" V 3386 1528 50 0000 L CNN+} {+F 2 "" H 3350 1450 50 0001 C CNN+} {+F 3 "~" H 3350 1450 50 0001 C CNN+} {+ 1 3350 1450+} {+ 0 -1 -1 0 +} {+$EndComp+} {+Wire Wire Line+} {+ 3350 1600 3350 1700+} {+Wire Wire Line+} {+ 3350 1300 3350 1200+} {+Text HLabel 3200 2100 0 50 Input ~ 0+} {+DRV+} {+$Comp+} {+L power:+5V #PWR?+} {+U 1 1 5BC7CC8E+} {+P 3350 1200+} {+F 0 "#PWR?" H 3350 1050 50 0001 C CNN+} {+F 1 "+5V" H 3365 1373 50 0000 C CNN+} {+F 2 "" H 3350 1200 50 0001 C CNN+} {+F 3 "" H 3350 1200 50 0001 C CNN+} {+ 1 3350 1200+} {+ 1 0 0 -1 +} {+$EndComp+} {+Wire Wire Line+} {+ 3350 2000 3350 2100+} {+Wire Wire Line+} {+ 3350 2100 3350 2200+} {+Connection ~ 3350 2100+} {+$Comp+} {+L Device:R R?+} {+U 1 1 5BC7CE49+} {+P 3350 2750+} {+F 0 "R?" H 3420 2796 50 0000 L CNN+} {+F 1 "68K" H 3420 2705 50 0000 L CNN+} {+F 2 "" V 3280 2750 50 0001 C CNN+} {+F 3 "~" H 3350 2750 50 0001 C CNN+} {+ 1 3350 2750+} {+ 1 0 0 -1 +} {+$EndComp+} {+$Comp+} {+L Device:LED D?+} {+U 1 1 5BC7CE50+} {+P 3350 2350+} {+F 0 "D?" V 3295 2428 50 0000 L CNN+} {+F 1 "LED" V 3386 2428 50 0000 L CNN+} {+F 2 "" H 3350 2350 50 0001 C CNN+} {+F 3 "~" H 3350 2350 50 0001 C CNN+} {+ 1 3350 2350+} {+ 0 -1 -1 0 +} {+$EndComp+} {+Wire Wire Line+} {+ 3350 2500 3350 2600+} {+Wire Wire Line+} {+ 3350 2900 3350 3050+} {+$Comp+} {+L power:GND #PWR?+} {+U 1 1 5BC7CECD+} {+P 3350 3050+} {+F 0 "#PWR?" H 3350 2800 50 0001 C CNN+} {+F 1 "GND" H 3355 2877 50 0000 C CNN+} {+F 2 "" H 3350 3050 50 0001 C CNN+} {+F 3 "" H 3350 3050 50 0001 C CNN+} {+ 1 3350 3050+} {+ 1 0 0 -1 +} {+$EndComp+} {+$EndSCHEMATC+} </details>

edahlseng

comment created time in 5 days

issue openedleoheck/kdiff

SVGs not being output for schematics?

I'm trying to get this up and running on my local machine (macOS), but I just can't seem to get this working. I'm starting with a focus on the schematic diffs... it looks like no SVG files are actually being generated, and so kdiff is just using the blank SVG. I notice a text diff output in the console when I run kdiff --debug --verbose, but still no SVGs are generated. Do you have any pointers on how to debug this?

created time in 5 days

push eventedahlseng/homebrew-core

Eric Dahlseng

commit sha 5ebc70851e34899d7a1dd630899a786b40584e89

feat: Add plotkicadsch

view details

push time in 5 days

issue commentleoheck/kdiff

Is it possible to produce diffs without -cache.lib files?

Thank you for that! I will look into this further to see whether the file is needed or not.

edahlseng

comment created time in 5 days

issue openedleoheck/kdiff

Is it possible to produce diffs without -cache.lib files?

The team I'm working with doesn't track -cache.lib files in Git. All of our schematics open properly in KiCad, but it looks like kdiff expects -cache.lib files to exist when calling plotgitsch. Can those files be optional?

created time in 6 days

push eventedahlseng/homebrew-core

Eric Dahlseng

commit sha 0fa583f9cf9a0935b0110540165f2390ad08ed98

fix: Correct pull-request description

view details

Eric Dahlseng

commit sha 0e26a1da50688780b6fa403f7308fa52781b31bb

feat: Remove notes-organizer

view details

Eric Dahlseng

commit sha 8d3a1e2e070ff3c2509cc94fca3a99fd4716e5e5

docs: Add development notes

view details

Eric Dahlseng

commit sha 4ed94c39dd73f171e01cedb13d2e6ddbe95c1a13

feat: Add plotkicadsch

view details

push time in 6 days

pull request commentleoheck/kdiff

fix: Load correct KiCad project path by avoiding attempt to escape path

macOS v11.1

edahlseng

comment created time in 6 days

PR opened leoheck/kdiff

fix: Load correct KiCad project path by avoiding attempt to escape path

I had issues opening a KiCad project in a path that contained spaces. It looks like kicad_project_path is considered to be an exact path, and so escaping it can place backslashes into the string that break the path.

I'm sure there was probably an edge case that the escaping was intended to cover. I'm submitting this PR as a starting point towards fixing the issue!

+1 -1

0 comment

1 changed file

pr created time in 6 days

push eventedahlseng/kdiff

Eric Dahlseng

commit sha bc174d202c0ea283eb88f9264682b39bdd4e827a

fix: Load correct KiCad project path by avoiding attempt to escape path I had issues opening a KiCad project in a path that contained spaces. It looks like `kicad_project_path` is considered to be an exact path, and so escaping it can place backslashes into the string that break the path.

view details

push time in 6 days

create barnchedahlseng/kdiff

branch : path-escaping

created branch time in 6 days

fork edahlseng/kdiff

A tool for reviewing Kicad's projects visually including schematics and layout using Kicad-Diff and Plotgitsch

fork in 6 days

issue closedconan-io/conan

[question] How to prevent re-running build when creating multiple packages from one prebuilt zip

I'm currently working with an SDK for cross-compiling onto an embedded target, and am looking to package this SDK into a Conan package. This SDK is available via a zip file, and is quite large. I'm trying to package it up into a generic sdk package, and a toolchain package, so that I can include them in the requires and build_requires sections, respectively.

Since the zip file is relatively large, I've tried to utilize the build_id method to prevent downloading the file multiple times when producing these packages. Unfortunately, this doesn't appear to be working as expected.

The conanfile.py that I'm working with looks roughly like so:

from conans import ConanFile, tools

class Sdk(ConanFile):
    name = "sdk"
    version = "1.0.0"
    settings = "os"
    options = { "toolchain": [True, False] }

    def layout(self):
        self.folders.build = "build"

    def build_id(self):
        del self.info_build.options.toolchain

    def build(self):
        # Download and unpack zip

    def set_name(self):
        self.name = self.name + ("-toolchain" if self.options.toolchain else "")

    def package(self):
        if self.options.toolchain:
            # Package toolchain files
        else:
            # Package SDK files

I'm running the following:

conan create . -s os=Macos -o toolchain=False
conan create . -s os=Macos -o toolchain=True

I expected that the second command could skip over the build step, but unfortunately both commands run the build step. Even if I run the first command twice in a row, the build step is executed again, so I feel like I must be misunderstanding something. How can I share the downloaded files across these multiple package options?

closed time in 20 days

edahlseng

issue commentconan-io/conan

[question] How to prevent re-running build when creating multiple packages from one prebuilt zip

Hi @memsharded, thank you for the response.

Indeed, I see that options are not evaluated at set_name() time. I had included that in my example above to show my final intent, but had been testing without it as I tried to figure out what was going on. It seems that the build was still re-running even when I used the same package name.

Based on your suggestion I've split the conanfile into two separate files, and found a way to cache the download (by far the slowest part). There's still a duplicated delay related to unzipping and packaging everything, but it's workable. Thanks for your help!

edahlseng

comment created time in 20 days

issue openedconan-io/conan

How to prevent re-running build when creating multiple packages from one prebuilt zip

I'm currently working with an SDK for cross-compiling onto an embedded target, and am looking to package this SDK into a Conan package. This SDK is available via a zip file, and is quite large. I'm trying to package it up into a generic sdk package, and a toolchain package, so that I can include them in the requires and build_requires sections, respectively.

Since the zip file is relatively large, I've tried to utilize the build_id method to prevent downloading the file multiple times when producing these packages. Unfortunately, this doesn't appear to be working as expected.

The conanfile.py that I'm working with looks roughly like so:

from conans import ConanFile, tools

class Sdk(ConanFile):
    name = "sdk"
    version = "1.0.0"
    settings = "os"
    options = { "toolchain": [True, False] }

    def layout(self):
        self.folders.build = "build"

    def build_id(self):
        del self.info_build.options.toolchain

    def build(self):
        # Download and unpack zip

    def set_name(self):
        self.name = self.name + ("-toolchain" if self.options.toolchain else "")

    def package(self):
        if self.options.toolchain:
            # Package toolchain files
        else:
            # Package SDK files

I'm running the following:

conan create . -s os=Macos -o toolchain=False
conan create . -s os=Macos -o toolchain=True

I expected that the second command could skip over the build step, but unfortunately both commands run the build step. Even if I run the first command twice in a row, the build step is executed again, so I feel like I must be misunderstanding something. How can I share the downloaded files across these multiple package options?

created time in 25 days