Code Monkey home page Code Monkey logo

horizon-pool's People

Contributors

atoav avatar bsilver8192 avatar carrotindustries avatar endofexclusive avatar fk0815 avatar frmdstryr avatar fruchti avatar jue89 avatar lhsmicius avatar nellump avatar oxplot avatar rx14 avatar valpackett 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

horizon-pool's Issues

2.54mm generic pin headers off grid

If I place the 2.54 mm generic pin headers on a 2.54 mm grid it seems that the pith of the headers is actually a bit wider than 2.54 mm. Is this on purpose?

Bildschirmfoto von 2021-01-03 21-23-47

Parts made of multiple units

Some people like to use parts made of single unit, some people like to split part into multiple units. Example in picture below, similar 64 pin MCU is splitted on left and as single unit on right.
image

It is not clear when part must be splitted or maybe pool should contain both versions of same part. If:

  1. Part must be splitted. Then what are indicators that part must be splitted? E.x. Pin count, logical blocks...
  2. Pool must contain both versions. Then how to mark them? Naming convention is needed (I think).

Parts for screw holes

AFAICT, the only option for placing holes in a board are the * Hole padstacks in the pool (via the place hole tool). Parts for a variety of screw holes would be handy: no need to look up the correct clearance hole size for a given thread; handy keep-out markings on the silkscreen; etc. Of course, it also means creating symbols, entities, packages and parts for each thread, and placing a symbol for each desired hole on the schematic.

Is there another reason such parts don't exist, other than "not a priority"? I'd be happy to take it on.

DIL packages wrong spacing

I just noticed this while trying to place a generic pin header (e.g. 2x5) in line with a DIP package.

It seems that the DIP packages all have a pin spacing of 2.5 mm instead of 2.54 mm.

Licencing exception similar to KiCad?

KiCad has an addition/exception to CC-BY-SA for its library licence:

To the extent that the creation of electronic designs that use 'Licensed Material' can be considered to be 'Adapted Material', then the copyright holder waives article 3 of the license with respect to these designs and any generated files which use data provided as part of the 'Licensed Material'.

I'm no expert in this field and cannot judge if/when such an exception is needed, but it makes sense to be able to use a Horizon-generated 3D model of a board (or even just a schematic printout) without the need for attribution of every single part author. While the number of contributors is still pretty small, it should be relatively easy to settle for something.

Personally, I'd tailor the wording of the KiCad licence to Horizon (given the KiCad licence author's permission), but keep the paragraph quoted above the same.

how to import data from octopart/CPL-Data?

Hi!
Is there a howto, wiki or some scripts how to import data from octopart/CPL-Data?
I would like to add some more things which are already in the CPL-Data lib, but i don't want to start by zero.

Part for DC barrel Jack ?

Hi!

This isn't an issue/defect as much as a question ... I just started playing around with Horizon and was looking to make a simple circuit powered by a 5.5mm/2.1mm dc barrel jack (through hole). I tried searching this repository but didn't land any hits for such a component. I also looked around in some of the other forks but didn't quite find what I was looking for. Is there one I might have missed ?

(P.S) If this is not the correct way/place to ask for info on parts, please point me to the right place

00119-03-L

Future of the horizon-pool repo

As it's probably evident by PRs not getting merged, I don't have the time and motivation for reviewing external contributions . Let's use this issue to brainstorm for ideas on how that situation can be improved.

Making the review process easier

To easily get PRs into my clone of the pool for review I added a bit of libgit2-based code that pulls a PR into a local branch and merges it with master. Since that feature didn't meet my requirements in terms of robustness, it gathered dust on a local branch. To make this available to other people interested in reviewing PRs, I merged this into master: horizon-eda/horizon@e2d4cd2 but it needs to be enabled manually in the prefs.json

In the grand scheme of things, I see two ways to make reviewing PRs easier:

  • Enhance the pool manger in such a way that the entire PR review process can be done from within Horizon EDA by using the github api.
  • Have a bot that posts renderings of the changes to the PR's comments. Unfortunately, I couldn't figure out a way to do this without running my own server as an untrusted PR needs to trigger scripts defined in a trusted repo that has access to API keys for posting a comment.

More automation

Automatically check for things such as missing items like as PRs just containing a unit or datasheet links pointing to secondary sources. Some of this can probably be supported by the existing GitHub Actions workflow: https://github.com/horizon-eda/horizon-pool/blob/master/.github/workflows/all.yml On the long rung, I'm envisioning something equivalent to Debian's Lintian, but for packages, parts, etc.

More reviewers

To have more people than me having merge permissions, we probably need to work on the open issues on https://github.com/horizon-eda/horizon-pool-convention/ so that no matter who's reviewing the PR, we end up with the same result.

What else?

I don't believe that there's a single solution to this problem, so we probably need to do at least all of the things listed above. Any more ideas?

Part vs. Package convention

I'm about to start my first project in horizon and I need to add some parts. I'm happy to contribute to the pool, but I'm a bit confused by the part/package relation.

Take e.g. the TL074 op amp IC as an example:

Quad Op Amp → TL074 DIP → DIP 14 packages
Quad Op Amp → TL074 TSSOP → TSSOP 14 packages

Is there something like a "combined" or "compatible" part I could define? So if I wanted to create two boards, one SMD and one THT, I'd now have to change the whole schematic.

On the other hand, there are a number of ICs where there are different pins available depending on the package.

So, if designing a schematic I have to choose which package I want to use, maybe that is a good thing 😺

So the correct way is to add a part for each possible package "class"? DOP, SOIC, TSSOP, ... ?

DIP packages have inconsistent pad hole sizes

Pads' hole/ring sizes vary from 0.700/1.300mm to 0.850/1.350mm, with stops in between. All of the packages I looked at feature the same pattern. (Probably an error that propagated via duplication.)

Dead datasheet link check

I added a part a while ago and the datasheet link no longer works. It'd be nice if CI or something could check this automatically.

Separate ‘sources’ repository?

There should be a place for 3D design files for the STEP files included in the pool, similar to KiCad's packages3D-source. Personally, I'd also move the part-generating scripts currently residing in this repository there.

Everything could be kept in one repository which would make keeping everything in sync easier. On the other hand, since most users won't care about all pool source files, it would just mean a lot of wasted space for most installations.

Commiting to pull request via GUI

Maybe a silly question, but I did all my pull requests from before manually with git:
Can I commit to a pull request via the pool-mgr remote tab somehow?

Lets say I made a pull request, found an error that I want to be corrected (in one of the packages etc). How do I commit the local fixes I made to that pull request? I know how to do it manually via git, but is this possible with the pool-mgr GUI?

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.