Giter Site home page Giter Site logo

jnavila / plotkicadsch Goto Github PK

View Code? Open in Web Editor NEW
214.0 15.0 21.0 533 KB

This project aims at being able to export Kicad v5 Sch files to structured picture files

Home Page: https://jnavila.github.io/plotkicadsch/

License: Other

OCaml 98.88% Shell 0.16% Makefile 0.22% Standard ML 0.74%
kicad schematics plotter opam git difference hacktoberfest

plotkicadsch's Introduction

Build StatusBuild status

Kicad schematic plotter

PlotKicadsch is a small tool to export Kicad Sch files to SVG pictures. In the future, export to other formats may be available (PDF, PNG).

This package also provides the plotgitsch command which allows to visually compare git revisions of schematics:

Visual diff

For more information type plotgitsch --help.

Objectives

This project is mainly an attempt at using ocaml with functional programming on a pet real-world project.

The quality of the output is not a first requirement (meaning: not supposed to match Kicad one to one), but the accuracy of positioning matters.

Installation

Stable version from OPAM

The stable version of plotkicadsch can be installed with opam. Be careful to install opam v2.0 for your platform.

opam switch create 4.09.1
opam switch 4.09.1
eval `opam config env`
opam update
opam install plotkicadsch

If you don't use opam consult the .opam files for build instructions.

Windows

For Windows users, there is an experimental opam repository which works pretty well.

Alternatively, you can simply grab precompiled binaries at

https://github.com/jnavila/plotkicadsch/releases

If you have installed git for windows, chances are that you have installed the bash environment, so drop the binaries in C:\Program Files\Git\mingw64\bin(Administrator rights required). They should be accessible on your bash command line and work just like under Linux/OSX.

Master version

The latest running version can also be installed from this repo by pinning the project in opam:

opam switch create 4.09.1
opam switch 4.09.1
eval `opam config env`
opam pin add kicadsch .
opam pin add plotkicadsch .
opam update
opam install plotkicadsch

How to

Using

All the commands have a help option. For plotgitsch, a small hands on guide is available.

Contributing

This project accepts GitHub pull requests, but as it is a self-teaching project, I would prefer to do all the core stuff. If you see some parts of the code whose style is not ocamlish or not FP ready, please let me know.

If this project happens to be of any use, let me know also!

plotkicadsch's People

Contributors

jnavila avatar leoheck avatar luzpaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plotkicadsch's Issues

plotgitsch command performs checkout to master

I love your tool and have used it a lot on windows. I just started working on a macbook recently and I couldn't make it work until now.

Everytime I run plotgitsch it performs a checkout to the branch master, which doesn't even exist in my repo (I use main and dev).

Do you have any idea why this is happening?

Let me know if you need any more information

Can't install versions which require kicadsch

I have previously managed to install with opam install plotkicadsch
Updating to any revisions more recent than [dc287e4]
are failing with the following message. I have tried an opam update and opam upgrade but without success. I have reverted back to [2e6c1eb] which is fine.

The following dependencies couldn't be met:
  - plotkicadsch -> kicadsch
Your request can't be satisfied:
  - No package named kicadsch found.

No solution found, exiting

Exception when calling plotgitsch --file

Hello,

I have set up everything so that I can successfully generate diff images of all schematics manually by entering the GIT project directory in a bash shell (mingw64, im on windows) and typing plotgitsch -ifirefox.

It somehow does not work when tying to limit to specific files, i.E.

USER@XYZ MINGW64 /c/Dev/repo (develop)
$ plotgitsch -ifirefox --file=/c/Dev/repo/Hardware/schematic.sch a48b20d6f2782f5d2ad74804aab9289d15450a12
internal diff and show with firefox between Git rev a48b20d6f2782f5d2ad74804aab9289d15450a12 and file system .
Git Exception: path not found: /C:

Im not sure if I messed up with the paths, but I also tried windows paths and relative paths, and it always turns up a similar. Is it somehow related to window-isms?

Cant run it.

I cant use it.
When I try to run, I get this message:

•100% ➜ plotgitsch       
use compare (ImageMagick) between bitmaps between Git rev HEAD and file system .
•100% ➜ plotgitsch --version
v0.3.0

Flag to disable vizualization

Does it have any flag to generate images only? I am asking this to use with CI where I can't launch any image visualization tool

Exception (Invalid_argument "Negative position: -1")

Seems like there may have been a file format change on kicad 5.1.0?

I committed a blank schematic, Added a resistor, His save then ran
plotgitsch -ifirefox
and this is the result.

internal diff and show with firefox between Git rev HEAD and file system .  
Exception (Invalid_argument "Negative position: -1")

seems to be tied to the part orientation.

Minor details in the produced image

Hey @jnavila do you have an idea why these small missmatches happen?

Some symbols are not pretty the same to what we see in the real schematic

Real symbol
image
Gitplotsch output
image

Other features are not equal too

Real schematic. I feel this one could be improved a little bit, but I have not clue.
image
Gitplotsch output
image

The whole page, for instance
image
Generated page
image

Real text displacement. Ah maybe this one is due to the font mismatch and the text anchor is
image
Gitplotsch output
image

Don't get me wrong, pltogitsch is pretty good. I am just asking to understand why these items are slightly different.

Flag for generating/keeping images even if the images do not have changes

This is request for a flag to keep intermediate files even if the diff does not have any changes. This is also important for me. And may be good for someone else, and it may no to be complex to implement (if you are imolenting, of course). I could not make it, then I just removed a test that was making this restriction.

provide binaries

If possible provide installers for

  • linux: should be easy, but less priority
  • mac: seems doable, ocaml is used on Mac, have to check how dmg are done
  • windows: hard point, but that's where the users base is

see 0install for ideas?

Support new .kicad_sch format

Hi,

Looks like eschema is switching to a new file format. Any chance you can add support for it. I would help, but ocaml is way too foreign for me.

New Feature Idea - HTML Output

I would like to suggest to improve the output of plotgitsch as the Kicad-Diff does. If you didn't use it, there are some images in the end of their README. To be fair, these images are not good to show how their output is good.

So, It generates an html to display the generated diffs in an organized way

For plotgitsch, the user can enable this with the command line if you think it is not a good idea as default.

So, this html, could organize sch sheets and also display the text diff together.

Kicad-Diff, displays the main diff image on top, then bottom-right and the bottom-left the original images used in the diff process (this). There, this is done for each layer of the PCB. But for the schematic, this can be generated for each page.

Limit gitplotsch scope in nested projects

Hey, @jnavila it is me again.

Quick question. I have noticed something strange when having nested projects.

First of all, I am using a custom git-diff that keeps all svg files even if they don't have any difference.
I have some duplicated files as you can see.. just to track my changes.

✦ ➜ cat ../plotkicadsch_lheck/plotkicadsch/src/git-imgdiff

#!/bin/bash

# New files (rename for not overriding multiple schematic pages)
# Remove 6 unknown digits/hashs from the filename
new1=$(echo $1 | sed "s|/tmp/from_\(.*\)\([0-9a-f]\{6\}\).svg|sch1-\1.svg|g")
new2=$(echo $2 | sed   "s|/tmp/to_\(.*\)\([0-9a-f]\{6\}\).svg|sch2-\1.svg|g")

hash1=$(echo $1 | sed "s|/tmp/from_.*\([0-9a-f]\{6\}\).svg|\1|g")
hash2=$(echo $2 | sed   "s|/tmp/to_.*\([0-9a-f]\{6\}\).svg|\1|g")

# Almost original filename, remove /tmp string and keep the random number
orig1=$(echo $1 | sed "s|/tmp/from_\(.*\)\([0-9a-f]\{6\}\).svg|sch1-\1-\2.svg|g")
orig2=$(echo $2 | sed   "s|/tmp/to_\(.*\)\([0-9a-f]\{6\}\).svg|sch2-\1-\2.svg|g")

echo "Schematic Page: $orig1 -> $new1 (${hash1})"
echo "Schematic Page: $orig2 -> $new2 (${hash2})"

cp -f "$1" "$new1"
cp -f "$2" "$new2"

# Keep originals
mv -f "$1" "$orig1"
mv -f "$2" "$orig2"

echo

I have multiples projects inside the repository. Each project has multiples schematic sheets.

For instance, I have something like this.

repo
  - proj1
     - board.sch
     - page1.sch
  -  proj2
     -  board.sch
     -  page2.sch
  -  proj3
     -  board.sch
     - page2.sch

So, everything is working pretty fine since most of the time schematic sheets do not have the same name, except for the main schematic sheet that is called board.sch on all of the projects.

This is the current output I have with my git-diff script

plotgitsch -l main-board/board-cache.lib -c FF0000:008FFF:FFFFFF:222222 a4da48d 56b5c9a #&> /dev/null
Use compare (ImageMagick) between bitmaps between Git rev a4da48d and Git rev 56b5c9a
Schematic Page: sch1-board-1ae151.svg -> sch1-board.svg (1ae151)
Schematic Page: sch2-board-30817f.svg -> sch2-board.svg (30817f)
Schematic Page: sch1-board-0b26c3.svg -> sch1-board.svg (0b26c3)
Schematic Page: sch2-board-5b2755.svg -> sch2-board.svg (5b2755)
Schematic Page: sch1-board-c002f3.svg -> sch1-board.svg (c002f3)
Schematic Page: sch2-board-5d8be5.svg -> sch2-board.svg (5d8be5)

Schematic Page: sch1-board-59c898.svg -> sch1-board.svg (59c898)
Schematic Page: sch2-board-3446cb.svg -> sch2-board.svg (3446cb)

Schematic Page: sch1-power_supply-7f4b49.svg -> sch1-power_supply.svg (7f4b49)
Schematic Page: sch2-power_supply-15b200.svg -> sch2-power_supply.svg (15b200)
Schematic Page: sch1-peripherals-ec9b8a.svg -> sch1-peripherals.svg (ec9b8a)
Schematic Page: sch2-peripherals-6a7f5f.svg -> sch2-peripherals.svg (6a7f5f)
Schematic Page: sch1-sensor-4437c2.svg -> sch1-sensor.svg (4437c2)
Schematic Page: sch2-sensor-c52aac.svg -> sch2-sensor.svg (c52aac)

Schematic Page: sch1-microcontroller-719496.svg -> sch1-microcontroller.svg (719496)
Schematic Page: sch2-microcontroller-6b2627.svg -> sch2-microcontroller.svg (6b2627)

You can easily see that are many duplicated files (sch1-board-* ,sch2-board-*). This happens because plotgitsh is finding these guys on all of my projects.

So, my question is, does plotgitsch have a way to limit its scope to the current folder or into a specific path inside the repo?

Help to install

It is always hard to install this. Can you help me?
Tried master version and the default version from the package manager

plotkicadsch/plotkicadsch on  master took 3s 
➜ opam install plotkicadsch      

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[plotkicadsch.0.5.2] no changes from git+file:///home/lheck/Dropbox/kicad-plugins/plotkicadsch#master

Sorry, no solution found: there seems to be a problem with your request.

No solution found, exiting

Feature request - Colors-Commit legend

It is always pretty hard for me to remember which color is which.

What do you think about adding a small legend on top of the images
with the color and the corresponding git version something like this

(red square) HASH-1
(blue_square) HASH-2

or this

(red square) HASH-1 - (blue_square) HASH-2

Some CLI flags to control the output

@jnavila, what if you add some command line flags to control the output better?

Is something hard to do?

For example, something to control:

  • the line width (to make everything more visible)
  • the background color
  • the color of the left file
  • the color of the right file

Changing colors

Hi @jnavila if you add this into the README where you show how to change colors would be nice.

-c REMOVED_RGB:ADDED_RGB:UNCHANGED_RGB:BACKGROUND_RGB

I am trying to use this but, not working.

Hi,
I would like to use this tool to document schematic automatically.
However, it doesn't work.

macOS High Sierra
homebrew
opam

KiCad 4.0.7

Error

Fatal error: exception Kicadsch__Kicadlib.MakePainter(P).Component_Not_Found("C")

Keep original files.

The option to keep svg keeps only the diff. Is it possible to keep the 2 original versions too?

Help with Opam

Hey jnavila, do you have any idea on how to fix this?
I am trying to install plotkicadsch on a new computer with ubuntu 20.10
I appreciate any help, even it is not related to your repo. This Opam thing always gives me headaches.
image

Do you know any other way to install this easely? Without having to build anything?

Installed with opam

I got this issue, trying to get the help as described in your README.md

➜ plotgitsch --help                            
Fatal error: exception Plotgitsch.InternalGitError("cannot parse rev --help")

Installed with opam, version

➜ opam install plotkicadsch
[NOTE] Package plotkicadsch is already installed (current version is 0.1.4).

Intermediate images do not have a transparent background

Only the final image has this transparent bg.
image

The default viewer shows this composition of images with the diff image in the center.

Using my own img-diff here to store temporary images does not have the new background, unfortunattely =/

➜ plotgitsch HEAD~5 HEAD~4 --colors=FF0000:00FF00:000000:FFFFFF80
use compare (ImageMagick) between bitmaps between Git rev HEAD~5 and Git rev HEAD~4
Exporting...
sch1-board.svg (41c834)
sch2-board.svg (4f9c66)

Could you propagate this to the source image?

How to use on Windows?

Opam seems to be a Linux/OSX only tool.
Is it possible to use plotgitsch on Windows 10?

scanf: bad input at char number 11: character 'S' is not a decimal digit

I installed using opam on Ubuntu 19.04, if it matters. It appears that the relevant scanf chokes on an escaped quote mark. The offending character is \" which represents inches in my text. If I remove the quote mark, everything works. With the value as it is, I get this error:

could not match Component F (F 1 "1/8" SJ1-3544" H 10350 800 50 0000 R CNN): scanf: bad input at char number 11: character 'S' is not a decimal digit

The relevant component in my .sch is this:

$Comp
L dish-schematic-components:SJ1-3544 J1
U 1 1 5C87F705
P 10050 1200
F 0 "J1" H 10100 700 50  0000 R CNN
F 1 "1/8\" SJ1-3544" H 10350 800 50  0000 R CNN
F 2 "dish-components:CUI_SJ1-3544" H 10050 1200 50  0001 C CNN
F 3 "https://www.cui.com/product/resource/sj1-354x.pdf" H 10050 1200 50  0001 C CNN
F 4 "CP1-3544-ND" H 10050 1200 50  0001 C CNN "DigiKey"
	1    10050 1200
	-1   0    0    1   
$EndComp

When trying the new version on playgroudn project I get a following error:

D:\Mitja\Plate\kicad_playground\schematic>plotgitsch -k
use compare (ImageMagick) between bitmaps between Git rev HEAD and file system .

Exception (Invalid_argument "index out of bounds")
'hrowing away line 'DRAW
'hrowing away line 'ENDDRAW
'hrowing away line 'ENDDEF
'hrowing away line '#
'hrowing away line '# Device_LED
'hrowing away line '#
'hrowing away line 'DEF Device_LED D 0 40 N N 1 F N
'hrowing away line 'DRAW
'hrowing away line 'ENDDRAW
'hrowing away line 'ENDDEF
'hrowing away line '#
'hrowing away line '# Device_R
'hrowing away line '#
'hrowing away line 'DEF Device_R R 0 0 N Y 1 F N
'hrowing away line 'DRAW
'hrowing away line 'ENDDRAW
'hrowing away line 'ENDDEF
'hrowing away line '#
'hrowing away line '# Timer_LM555
'hrowing away line '#
'hrowing away line 'DEF Timer_LM555 U 0 20 Y Y 1 F N
'hrowing away line 'DRAW
'hrowing away line 'ENDDRAW
'hrowing away line 'ENDDEF
'hrowing away line '#
'hrowing away line '# power_+5V
'hrowing away line '#
'hrowing away line 'DEF power_+5V #PWR 0 0 Y Y 1 F P
'hrowing away line 'DRAW
'hrowing away line 'ENDDRAW
'hrowing away line 'ENDDEF
'hrowing away line '#
'hrowing away line '# power_GND
'hrowing away line '#
'hrowing away line 'DEF power_GND #PWR 0 0 Y Y 1 F P
'hrowing away line 'DRAW
'hrowing away line 'ENDDRAW
'hrowing away line 'ENDDEF
'hrowing away line '#
'hrowing away line '#End Library

D:\Mitja\Plate\kicad_playground\schematic>

Originally posted by @MitjaNemec in #22 (comment)

Component not found

When runing the plotgitsch the following error emerges Exception ("Kicadsch__Kicadlib.MakePainter(P).Component_Not_Found(\"Device:D_Schottky\")")

I installed the last release version and the error persists.
I attach the project that is giving me the error.

en.zip

Find schematics in sub-folders

I have most of my kicad project organized in a similar structure where I have a folder where all schematic sheets are, with the exception of the top level:

├── images
├── mech
├── pdf
├── sch
│   ├── sub-sheet1.sch
│   ├── sub-sheet2.sch
├── project-cache.lib
├── project.kicad_pcb
├──project.pro
├──project.sch

whent I run plotgitsch -i firefox only differences in project.sch are shown.
in need to cd sch/ and run plotgitsch -i firefox -l ../project-cache.lib

it is a minor annoyance, but I think it could be fix by finding all files ending in .sch including a search in folders.

I tried looking in to the code but I'm not familiar which language is this tool written on.
I guess it would be in line 48 of plotkicadsch/src/kicadDiff.ml

let find_schematics () = F.list_files (ends_with ".sch")

Many thanks for this tool,
Luis

Add option to specify output folder/filename

Hi!

As I am get closer to integrating plotkicadsch into a complete diff tool for TortoiseGit (Windows git GUI client), I'd like to have an option to specify output folder or even better full filename.

Thanks

I can't install it again.

Why it is so hard to install this tool?

Now, I can install neither the master version or the stable version.

I am installing it now inside a container

  - install patience_diff           v0.13.0 [required by plotkicadsch]
  - install plotkicadsch            0.6.1
===== 117 to install =====
Do you want to continue? [Y/n] n
The command '/bin/sh -c opam install plotkicadsch' returned a non-zero code: 10
make: *** [Makefile:12: build_release] Error 10

With these instructions

run opam init -c 4.09.0 --disable-sandboxing -a
run eval $(opam config env)
run opam update
run opam install plotkicadsch

Can't install in Docker

Hey @jnavila,

This is an excellent tool, and I appreciate your publishing it. I have gotten the .exe to work in git bash on my windows machine, but I use GitLab and want to use this tool in my CICD pipelines.

To do that, I'm trying to build a Docker image that has plotkicadsch installed, but I have been unable to install it using opam. Here's my Dockerfile:

FROM ocaml/opam2

# need m4 to build config-m4
RUN sudo apt install m4 -y

# same results if just using 4.06, but 4.06.0 does not exist in base image
RUN opam switch create 4.06.0

RUN eval `opam config env`
RUN opam install plotkicadsch

Building fails with this error message:

[ERROR] The compilation of plotkicadsch failed at "/home/opam/.opam/4.06.0/bin/dune build -p plotkicadsch -j 71".

#=== ERROR while compiling plotkicadsch.0.5.1 =================================#
# context 2.0.5 | linux/x86_64 | ocaml-base-compiler.4.06.0 | git+file:///home/opam/opam-repository
# path ~/.opam/4.06.0/.opam-switch/build/plotkicadsch.0.5.1
# command ~/.opam/4.06.0/bin/dune build -p plotkicadsch -j 71
# exit-code 1
# env-file ~/.opam/log/plotkicadsch-6-6e8724.env
# output-file ~/.opam/log/plotkicadsch-6-6e8724.out
### output ###
# ocamlopt plotkicadsch/src/plotgitsch.exe (exit 2)
# (cd _build/default && /home/opam/.opam/4.06.0/bin/ocamlopt.opt -w -40 -w -3 -safe-string -g -o plotkicadsch/src/plotgitsch.exe -I /home/opam/.opam/4.06.0/lib/angstrom -I /home/opam/.opam/4.06.0/lib/astring -I /home/opam/.opam/4.06.0/lib/base -I /home/opam/.opam/4.06.0/lib/base/caml -I /home/opam/.opam/4.06.0/lib/base/md5 -I /home/opam/.opam/4.06.0/lib/base/shadow_stdlib -I /home/opam/.opam/4.[...]
# File "none", line 1:
# Error: No implementations provided for the following modules:
# Digestif referenced from /home/opam/.opam/4.06.0/lib/git-unix/git_unix.cmxa(Git_unix)

I'm not familiar with ocaml or opam, so I will try to clone the github repository and install from there instead of trying to install from opam. If that works I'll update this issue.

In the meantime, if you know what I'm doing wrong, or if there's some dependency missing from the base image, let me know.

git-imgdiff not executing

Hi,

I've tried installing on Windows in Git Bash. Scripts are in Mingw64's bin dir. All seems fine with the internal diffing tool (and looks great, thanks!).

If I run without the -i option, I get no errors but the output is simply the git-imgdiff file itself. That is, my viewer simply shows me the contents of git-imgdiff, which are:
#!/bin/bash PIPE=$(mktemp -u) (! compare -metric RMSE $2 $1 png:${PIPE} 2> /dev/null) && (montage -geometry +4+4 $2 $PIPE $1 png:- | display -title "$1" -) rm $PIPE

Seems like git-imgdiff is being opened rather than executed by plotgitsch. Tried running chmod +x on git-imgdiff but that didn't solve it.

git is changing to the master branch

Hey @jnavila I know you are super busy, but I just want to have your opinion on this since you understands Opam and your project and I don't.

I changed gitplotshich to generate and keep the original .svg files even if commits don't have any difference. This is just one or two lines of code.

The issue I am facing is that the git repository is changing the branch automatically for some reason. It is always moving to the master' branch. In one project it dosn't have masterit onoly hasmain` and the other project I am working on a different branch.

So, since I was not able to track where the issue is. Could you check this code, to see if I am doing something that is not right?
My idea was just to remove that if on line 141.

image

The comparison is here if you need more space to check.
master...leoheck:master

Commit info

I am playing with the new changes you made.

I am seeing this.
One of the commits shows this "Git rev HEAD"
image

The second one does not have any version info. Is this intentional?
Maybe it is good to have it in the second file too.
image

However this one has this file system . which may not be the thing you wanted, I am not sure.

Do not fail when a part is missing

I am seeing this sometimes.

Exception Kicadsch__Kicadlib.MakePainter(P).Component_Not_Found("Connector:Conn_01x03_Male")

Then you have this in plotgitsch documentation.

image
image

This is something that I already do. But I have these issues

  • Projects are pretty old, in the past my colleagues didn't add this -cache.lib
  • It is not guaranteed my peers will not forget to add this file or update it

So, I am thinking here... Is it possible to add a flag to plotgitsch to plot the board anyway, even with missing components?
Components could be replaced by a standard object that indicates the missing part, or maybe they could be ignored by having an empty area there. Sometimes it is better to check 90% of the changes instead of none.

Do you know if something like this is feasible?

Flag to keep files is not working for me

I mean, it does not keep generated files inside the project folder.
It is keeping files on /tmp
Do we have any option to set the output path?

Right now I am seeing this /tmp/diff_boardee37d8.svg where the ee37d8 part is a random number.

So, I would suggest this approach

-k [output_folder]

Running on Windows

Hi @jnavila , there are some users trying to install plotkicadsch on Windows. From your Readme it looks a little bit experimental.

Could you check the output of the installer, here, to give us some directions?
leoheck/kiri#1 (comment)

Here is the same text but formatted.

[ERROR] The compilation of plotkicadsch failed at
"C:\OCaml64\home\Stanley\.opam\4.09.1+mingw64c\bin\dune.exe
build -p plotkicadsch -j 5".

=== ERROR while compiling plotkicadsch.0.8.0 ==
===============================#
context 2.0.8 | win32/x86_64 | ocaml-variants.4.09.1+min
gw64c | pinned(file://C:/Users/Stanley/Desktop/ELEC)
path ~/.opam/4.09.1+mingw64c/.opam-switch/build/plotk
icadsch.0.8.0
command C:\OCaml64\home\Stanley.opam\4.09.1+mingw64c\bi
n\dune.exe build -p plotkicadsch -j 5
exit-code 1
env-file ~/.opam/log/plotkicadsch-21024-42bb52.env
output-file ~/.opam/log/plotkicadsch-21024-42bb52.out
output
File "plotkicadsch/plotkicadsch/src/dune", line 7, characters 6-1
4:
7 | kicadsch
^^^^^^^^
Error: Library "kicadsch" not found.
Hint: try:
dune external-lib-deps --missing -p plotkicadsch -j 5 @install

Opening with firefox

I have a project with 5 schematics sheets and 3 of them with changes. I am using firefox to display the diffs. Do you know why 2 of the diffs open in one firefox window (different tabs) while the last one is opening on a new window? It is working fine with chrome.

Component not found issue

Hi!

First of all thanks for the windows binaries. I appreciate the effort.

I can not get the program to work. Even when I specify correct -cache.lib file, I get the Component_Not_Found error. The error message says it is looking for symbol in library:symbol, but under 5.0.1 in cache file, the symbol is stored as library_symbol.

I know that the cache file format changed before V5, and I think also once V5 was already released, but I am not certain. Could this be an issue?

[WINDOWS] Internal diff can't resolve git commit

Hi,

I can successfully diff working vs HEAD by running plotgitsch -i, as well as any two revisions using external tools (e.g. plotgitsch HEAD~10 HEAD~3). Fails to run with internal tools whenever revisions are explicitly written plotgitsch -i HEAD~10 HEAD~3 with the following message:

internal diff and show with HEAD~10 between Git rev HEAD~3 and file system .
The system cannot find the file HEAD~10.
Errored with code 1

I also get a pop-up saying:

Windows cannot find 'HEAD~10'. Make sure you typed the name correctly, and then try again.

Same issue if I specify commits explicitly using a short hash.

Compilation on macOS

I have managed to compile this on macOS although I have had a few problems. :(

The initial compile failed with a git.unix dependency issue although I have git-unix installed and updated. I changed git.unix to git-unix in the _oasis file and I could then compile and install OK. However, I am now getting Fatal error: exception Plotgitsch.InternalGitError("path not found: /") when I run plotgitsch from within a valid git checkout containing a Kicad project .pro & schematic .sch with a committed revision history.

Any advice?

Is it working?

I am running the upgraded master, but I can't make it work again.
Probably I am doing something wrong again.

•100% ➜ plotgitsch -l homebase-cache.lib -ifirefox HEAD HEAD^1
plotgitsch: unknown option `-l'.
Usage: plotgitsch [OPTION]... [FROM_REF] [TO_REF]
Try `plotgitsch --help' for more information.

Exception (Invalid_argument "index out of bounds")

@jnavila did you ever seen something like this?
What this exception means?

➜ plotgitsch -m -l ./newTest-cache.lib 9646e03 2060795        
use compare (ImageMagick) between bitmaps between Git rev 9646e03 and Git rev 2060795
Exception (Invalid_argument "index out of bounds")
'hrowing away line 'DRAW
'hrowing away line 'ENDDRAW
'hrowing away line 'ENDDEF
'hrowing away line '#
'hrowing away line '#End Library
'hrowing away line 'DRAW
'hrowing away line 'ENDDRAW
'hrowing away line 'ENDDEF
'hrowing away line '#
'hrowing away line '#End Library

It comes from this project here https://github.com/jorlee99/newTest

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.