Git Product home page Git Product logo

openboardview's Introduction

Open Board Viewer Build Status

Linux SDL/ImGui edition software for viewing .brd files, intended as a drop-in replacement for the "Test_Link" software and "Landrex".

Walkthrough of OpenBoardView R7.2

Demo Video

Common net pin halo

Part searching

Features

  • Annotations (per board database file)
  • Part and pin sizes better represented
  • Better outlining of irregular objects (such as connectors)
  • Drag and drop
  • Recently used file history
  • Non-orthagonally orientated caps/resistors/diodes now drawn more realistically
  • Adjustable DPI (for working on 2K/4K screens)
  • Works with multiple concurrent instances

TODO

  • Decode more board formats
  • Compound project/file format

Prerequisites

macOS

$ brew install cmake sdl2

If you get the following error after running build.sh:

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>

Run the script at /Applications/Python3.x/Install Certificates.command.

Ubuntu

For Ubuntu developers, you'll need the following packages at a minimum;

$ apt-get install git build-essential cmake libsdl2-dev libgtk-3-dev

Fedora

For Fedora, you will need the following packages at a minimum;

$ dnf groupinstall "Development Tools"

$ dnf install SDL2-devel gtk3-devel fontconfig-devel

Installation

  1. Clone the project
$ git clone --recursive 'https://github.com/OpenBoardView/OpenBoardView'
  1. Build it
$ ./build.sh
  1. Sign it (skip if you're not on running macOS)
$ codesign --force --deep --sign - ./openboardview.app
  1. Run it!
$ ./bin/openboardview

...or...

$ ./openboardview.sh

...or...

$ open ./openboardview.app

Usage

  • Ctrl-O: Open file select dialog

  • w/a/s/d: pan viewport over board

  • x: Reset zoom and center

  • Mouse scroll, -/=: Zoom out/in

  • Mouse click-hold-drag, Numeric pad up/down/left/right: pan viewport over board

  • Numeric pad +/-: zoom board

  • Numeric pad 5: Reset zoom and center

  • Space, Middle mouse click: Flip board

  • R/./Numpad-Del: Rotate clockwise

  • ,/Numpad-Ins: Rotate counter-clockwise

  • /, Ctrl-F: Search

  • ESC: Clear search results and selected parts

  • p: Toggle pin display

  • m: Mirror board across Y-axis

  • L: Show net list

  • K: Show part list

openboardview's People

Contributors

alx741 avatar apteryks avatar bobronium avatar bunder2015 avatar charliebruce avatar chloridite avatar davidebeatrici avatar engfelipemonteiro avatar inflex avatar martonmiklos avatar mattsturgeon avatar mdolezel avatar melak avatar mmuman avatar mrxordi avatar pafmaf avatar piernov avatar ryukojiro avatar sergeyvfx avatar skvatboy avatar srakitnican avatar swiftgeek avatar tedworthy avatar usoldering avatar zdimension avatar zraexy 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  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

openboardview's Issues

Asus TSICT file format (.asc)

Not an issue, just for keeping track of the supported formats.

I just implemented support for the *asc files. This format is plain text (not encoded). This format relies on a directory containing the following files: format.asc, parts.asc, pins.asc, nails.asc, nets.asc and sometimes a .bom file.
It is very similar with the .bdv format since in fact, the .bdv format is made with concatenated format.asc, pins.asc and nails.asc and encoded.
Basic implementation is available on my feat/asc-support branch and will be merged in inflex-ui-features. See inflex/OpenBoardView#43 and inflex/OpenBoardView#55 .
It supports loading format.asc, pins.asc and nails.asc only.

Attached is the binary and boardview files.

Asus F5V, r1.1.zip
X550CCR2.zip
ASUS TSIC.zip

missing version number in about seciton

it will be helpful if you can add version number in about section (or on main head app name title) to help everyone recognized what version we are using.

thanks.

TOPTEST BoardViewR4 file format (.brd)

Not an issue as it is done, just for keeping track of the supported formats.

inflex and I recently implemented another format which holds the extension ".brd" but is different from the one already supported. This format is plain text (not encoded). We called it BRD2 as we had no better idea, but it's not related in any way to the BRD format.

Also implemented is format recognition based on common patterns rather than on the extension (to avoid conflict between the two ".brd" formats).

Attached is a boardview file. (removed untrusted binary)

OP6-MB-D.brd.zip

Cannot zoom after closing a dialog

After closing a dialog like "About" or "Net" OBV will not respond to the scroll wheel.

If you then re-position the board using the mouse, the scroll wheel will work again.

Multi-Platform Support

Not so much of an issue, but rather a suggestion. Is there any way or any chance this will become multi-platform? I am primarily a Mac user, and would love to see this program there too! (Don't worry, I already downloaded it for my Windows partition). Maybe a java based program instead, or at least a Mac or Linux version in the future?

I know this program is new, but it would be cool!

Annotations can't be accessed on OSX

I have not tried this with a mouse but on a MacBook Pro 2012 running 10.12.3, I cannot access the annotations options as control clicking does not bring it up. I have tried all combinations of fn, ctrl, alt and cmd keys but can find no way of accessing this functionality.

Associate .brd files with a file icon

Currently we have a bitmap file icon for .brd files. This icon is also used as the application icon (see #26 for creating a separate icons.)

To associate icons with filetypes and set OpenBoardView as the handler for those files (see #33), platform specific code will be needed, likely as an installation step.

  • On linux (any freedesktop compatible platform) we need to register a mimetype to a file glob, then set the icon for the mimetype and default application to open those files. See this SO answer and the code in this branch.
  • On Windows, we need to add some keys to the registry. This should be possible with the WIX installer (see below comment).
  • It looks like on OSX, we just need to add filetypes to CFBundleDocumentTypes in our .plists file referencing .icns files in the app bundle.

unable to zoom

unless i borrow an external mouse with a wheel i cant zoom in or out, does anyone know of a way to change that in the code? or is there a shortcut i don't know about?

Rendering issue on Linux

The first time I load a board file in the OpenBoardView (OBV), the board is rendered as shown in the attached screenshot.

I prefer the dark base theme, so thats what I set in colour preferences.

Every time I open OBV and check colour preferences, the base theme is always set to light theme, even when I have previous set it to dark theme, clicked done, then restarted OBV.

When I load a board file for the first time it is rendered in neither a light theme nor a dark theme, it seems somewhere in between.

screenshot from 2016-10-27 15-09-53

I am running OBV Build R573 /tags/R7.2 on Ubuntu Gnome 15.10 using FGLRX (drivers) 2:15.201-0ubuntu2-15.10.2.

New file format (?) .bv files

Picked up this file today when trying to repair a board. From the initial looks of it it's actually an MS Access / JET database ( even 'file' reports it as such ).

Anyone encountered this before? Any prospects of getting a decoder written?

Hopefully there's a MDB/JET engine with suitable licence (MIT/BSD etc), and then actually pulling the data out could be interesting too.

BV.zip

Linux support

This isn't an issue with the program but I had nowhere else to put this that I know of
How do I install this on linux?

Display additional information stored with files

I love what you have done with the software! I have a question that you may or may not be able to answer. If some more values for components were compiled, 1. would there be a simple solution to modify the .brd files to hold this information, 2. Would it be possible to have your software display this information with selected components.

i.e. the voltage that should be measured at test points, caps, pins in a certain power state. and possibly resistance or package type/size of certain components.

I have very limited programing knowledge, outside of what i did years ago. But i was seriously considering putting some effort into building a solid app that would give you a bit more information without having to jump back and forth to the schematic. by no means a replacement for actually having a schematic as well.

again, we all appreciate the work that you have done here!

Asus PCBRepairTool file format (.fz)

Could you try to decode this format? (and if possible, add support for it)
Attached is a few boardview files (inside the fab/ folder) and the tool used to read them.
(If you get "License Error", just start it again. Use Ctrl+F10 to open file.)
PCBRepairTool.zip

Build error - concatenating mismatched

Bulid error
1>C:\Users\XoRdi\Desktop\OpenBoardView\src\main.cpp(216): error C2308: concatenating mismatched strings
1> Concatenating wide "%s - " with narrow "Open Board View"

When building MSVC2013
Add on the top of main.,cpp
`#define W_(val) L ## val

define W(val) W_(val)`

And change line 216 to:
_stprintf_s(title, _countof(title), L"%s - " W(PRETTY_NAME), filename);

Cross platform support (i.e. Linux and Mac)

It would be great to be able to make this cross platform (especially since imagui is platform agnostic).

I believe this would involve two (fairly large) changes; moving from DirectX to OpenGL and moving from .NET to a cross-platform framework like QT.

It's always a shame to have open software restricted to windows

0.40 CRITICAL issue. Crash on startup - 0.3 works fine

after launch OpenBoardView.exe it crash suddenly (you cannot see even the main work window)
both zip/portale version and msi installer crash.
but in the same time 0.3 version (and older) works fine.

my setup:
i7, 8gb ram, gtx 980
win 7 sp1 64bit, clean, net-framework 4.6.2, java 8, eset smart security 8, fresh nvidia drivers, direct x 9.0c

1

2

exe wont launch on two systems

OpenBoardView.exe wont launch on the two systems below. After double clicking the exe, the hourglass icon appears for a brief moment then nothing happens.

Ist system: MSI AP1920 Windtop running Windows 7 Home Premium 64 bit OS, CPU Atom D525 , Integrated graphics Intel GMA 3150, Avira Antivirus running, Zone Alarm, DirectX 11

2nd system: MSI Wind U100 Netbook, WinXP Home Edition SP3, CPU Atom N270, Integrated Graphics Intel GMA 950, Avira Antivirus, Zone Alarm, DirectX 9.0c

All other board viewers run, including the TopTest/Landrex versions and NeoBoardViewer

0.4.0 crashes, but 0.3.0 works with no problems

The newest version doesn't even launch on my pc, so I decided to test out others. Installed the "error-messaging" version uploaded by you for testing in one of the previous issues, but it works fine :/

error it gives on launch:

Problem Event Name: APPCRASH
   Application Name: OpenBoardView.exe
   Application Version: 0.0.0.0
   Timestamp applications: 57b4bd01
   The name of the module with an error: ucrtbase.DLL
   The module version with the error: 10.0.10240.16390
   The timestamp of the module with an error: 55a5bf73
   Exception code: 40000015
   Moving the exception: 0007d85a
   OS Version: 6.1.7601.2.1.0.256.1
   Locale ID 1045
   Additional information 1: 9ea5
   Additional Information 2: 9ea562049fa882359ac059c5ea961cfe
   Additional Information 3: 4bcd
   Additional Information 4: 4bcd5bfb6220f51d4d27889b0ca7459e

I bet it's some linked/not linked libraries... (previous executable - 843KB, newest - 231KB)
Please let me know If you need any specific tests/info from me.
OS Version: Win7 x64 Ultimate SP1

Please include .desktop, extensions file and AppStream's AppData

openboardview.zip

So this two files are required for packaging. In Fedora at least, GUI applications that are packaged in official repository must have this. I think it makes sense shipping them with sources as it can be reused for other distributions as well. I've attached something I came up with that you are free to use as an example or as is.

openboardview.desktop

[Desktop Entry]
Encoding=UTF-8
Name=OpenBoardView
Comment=Software for viewing .brd files
Exec=openboardview -i %f
Icon=openboardview
MimeType=application/x-openboardview-board
Terminal=false
Type=Application
Categories=Utility;Viewer;Electronics;GTK;

openboardview.xml

<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/x-openboardview-board">
    <sub-class-of type="text/plain"/>
    <comment>OpenBoardView PCB Layout</comment>
    <glob pattern="*.asc"/>
    <glob pattern="*.bdv"/>
    <glob pattern="*.brd"/>
    <glob pattern="*.bvr"/>
    <glob pattern="*.fz"/>
  </mime-type>
</mime-info>

Basic controls config file

It would be good to be able to add configurability to the controls, as this seems to be the main thing people disagree on.

Things I think should be user configurable:

  • Keys used for different things
  • Speed of various movements

For the speed adjustments, I am thinking we should add global multipliers like uerZoomSpeed and userPanSpeed that default to 1.0f, we then simply multiply against our internal multipliers.

For the keys, I am thinking of an interface along these lines

// After parsing config file, overwrite default with "<CTRL>O"
actions[OPEN_FILE].setKey(KEY_O).addModifer(KEY_CTRL); 

// Check if action is being pressed
if(actions[OPEN_FILE].pressed()) { /* Open a file */ }

// Create a menu item
ImGui::MenuItem("Open", actions[OPEN_FILE].getKeyComboStrPretty());

For the config file, I'm thinking basic key=value\n pairs. Each keycombo value could follow a format such as <modifiers>ACTION_KEY. We could convert the keystring into an index using a translation/hash table.

Error opening a Board View.

Hi, I´ve just downloaded your software but I get an error when I tried to open a .brd file which I can open with Landrex Tlink drawing program... I´m attaching the file for testing.
Thanks in advance.

error open board

'Freeze' after opening file (Win file dialog preview bug)

This is a weird one. When openening a file, if the file dialog has the preview panel open and it occasionally has to preview files of some sort (not all file types will trigger this, but apparently .ini do this), OBV will not refresh the window until it is resized or minimized & restored.

This, most likely, isn't a bug in OBV, but more a Windows issue, - just in case someone's having similar problems: resize or minimize the window after opening a file with the Windows file dialog.

proof: Link To GIF

Use file association and default programs

Closely related to #27, we should set up OpenBoardView to be associated with .brd files and ask to be the default application.

On freedesktop.org systems this involves registering the .brd application/x-brd-board mimetype (as we will do for icon association anyway) and then list that mimetype in the .desktop file. Once we run update-mime-database and update-desktop-database The system will know to use OpenBoardView.desktop for .brd files.

On windows the relavent docs are here. TODO: read them some more and edit this line.

IIRC on OSX the process for associating filetypes with applications is the same as setting the icon.


Once the system knows to use OpenBoardView for .brd files, we still need to actually open the file the system gives us. This will likely just be a case of passing argv[1] (or lpCmdLine[0] if we are still using WinMain) to our open file method.

Frame & WM controls missing on Windows

Some people have reported a loss of the frame / window-controls in Windows machines, as if the OBV has gone in to a "full screen" mode.

To fix this, rename or remove the obv.conf file (usually in %appdata%/roaming/openboardview ) and it should resolve the issue.

If anyone has this issue, can they please attach their obv.conf files here for us to examine.

New logo

With new file formats getting closer to being ready, a more generic logo should be designed. Additionally it would be good to have something that scales well to different resolutions.

The logo should be designed with SVG to allow exporting to different sizes and formats easily, as well as making any future changes easier.

See #27 for working on filetype icons.

Mingw_Runtime_Assertion

Hello.
When trying to open a vinafix.vn_1000HE_MB_1.2G_boardview_encoded.fz file the openboard.exe (release R74Pre1 under Windows10 x64)program crashes and reports this message 'Mingw Runtime Assertion...".
The screenshot and the file vinafix.vn_1000HE_MB_1.2G_boardview_encoded.fz I posted in the attachment.
Greetings.
openboardview-release_r7 4-pre1 exe- mingw_runtime_assertion
vinafix.vn_1000HE_MB_1.2G_boardview_encoded.fz.zip

Expanding to automotive circitry

I found this via the Louis Rossmann youtube video and was wondering if this could be expanded to a broader use case of working with electrical diagrams from say Motorcycles, Cars etc.

I don't know if those manufacturers publish .brd files but that would be an awesome application for this program.

Fileformat: F2B

Another binary format. This one seems simpler than the PCB format but still a bit obscure.

I've included 3 F2B files, each of similar boards, which might be useful for cross referencing.
f2b-sample.zip

GetFontData in some cases returns GDI_ERROR

platform_win32.cpp - load_font
In case(my case) of error GetFontData returns GDI_ERROR which is

define GDI_ERROR (0xFFFFFFFFL)

which then throws exception when creating the buffer, we need to check against that ocasion

const size_t size = ::GetFontData(hdc, 0, 0, NULL, 0);
if (size > 0 && size != GDI_ERROR) {
    char *buffer = new char[size];
    if (::GetFontData(hdc, 0, 0, buffer, size) == size) {
        data = std::vector<char>(buffer, buffer + size);
    }
    delete[] buffer;
}

GCC7: BoardView.cpp:1694:29: error: format not a string literal and no format arguments [-Werror=format-security]

cd /builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview && /usr/bin/c++  -DENABLE_FONTCONFIG -DENABLE_GL1 -DENABLE_GL3 -DENABLE_GLES2 -DENABLE_GTK -DENABLE_SDL2 -DImDrawIdx="unsigned int" -DOBV_BUILD=\"7.3-3.fc26.x86_64\" -I/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview -I/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/.. -I/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/../imgui -I/usr/include/SDL2 -I/builddir/build/BUILD/OpenBoardView-R7.3/src/glad/include -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libdrm -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -Wall -Wextra -std=c++11   -pthread -o CMakeFiles/openboardview.dir/BoardView.cpp.o -c /builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp
make[2]: Leaving directory '/builddir/build/BUILD/OpenBoardView-R7.3'
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp: In member function 'void BoardView::ShowInfoPane()':
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:1182:60: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<std::shared_ptr<Component>, std::allocator<std::shared_ptr<Component> > >::size_type {aka long unsigned int}' [-Wformat=]
   ImGui::Text("%d parts selected", m_partHighlighted.size());
                                    ~~~~~~~~~~~~~~~~~~~~~~~~^
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp: In member function 'void BoardView::SearchComponent()':
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:1694:29: error: format not a string literal and no format arguments [-Werror=format-security]
    ImGui::Text(title.c_str());
                             ^
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp: In member function 'bool BoardView::IsVisibleScreen(float, float, float, const ImGuiIO&)':
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:4219:87: warning: unused parameter 'io' [-Wunused-parameter]
 inline bool BoardView::IsVisibleScreen(float x, float y, float radius, const ImGuiIO &io) {
                                                                                       ^~
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp: In member function 'void BoardView::Pan(int, int)':
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:2206:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
   case DIR_UP: amount = -amount;
                ~~~~~~~^~~~~~~~~
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:2207:3: note: here
   case DIR_DOWN:
   ^~~~
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:2216:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
   case DIR_LEFT: amount = -amount;
                  ~~~~~~~^~~~~~~~~
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:2217:3: note: here
   case DIR_RIGHT:
   ^~~~
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp: In member function 'void BoardView::DrawParts(ImDrawList*)':
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:3313:5: warning: 'max_y' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if (pin->position.y > max_y) {
     ^~
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:3307:5: warning: 'max_x' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if (pin->position.x > max_x) {
     ^~
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:3316:12: warning: 'min_y' may be used uninitialized in this function [-Wmaybe-uninitialized]
     } else if (pin->position.y < min_y) {
            ^~
/builddir/build/BUILD/OpenBoardView-R7.3/src/openboardview/BoardView.cpp:3310:12: warning: 'min_x' may be used uninitialized in this function [-Wmaybe-uninitialized]
     } else if (pin->position.x < min_x) {
            ^~
cc1plus: some warnings being treated as errors
make[2]: *** [src/openboardview/CMakeFiles/openboardview.dir/build.make:186: src/openboardview/CMakeFiles/openboardview.dir/BoardView.cpp.o] Error 1

Full build log: https://kojipkgs.fedoraproject.org//work/tasks/9731/20599731/build.log

Usability Issues

thank You for this app! You're awsome

4 things are missing

1.ability to type few (more than 1) componets to search box.
2 ability to clear marked nets/componets (by key or button)
3.ability to see all components names on the board it the same time.
4.ability to restore to default zoom and position (center out or something like that)

propably the better idea will be to use right mouse to move board, because using left mouse for move can accidently turn off/clear our component/net marks.

Eagle board format?

Hi guys,

Looks like great software! This software would be really cool to aid assembly/testing of PCBs..

I (and a few others) use the Eagle XML format. Any interest on adding in support for this?

Fileformat: PCB (PADS)

For a lot of people who've been trying to get iPhone boardviews, i've noticed there's now the .pcb files around which look somewhat like a database format (all the field values are blocked together).

There is a viewer available, if you google for "PADS PCB viewer"

sample-pcb.zip

Custom file format / wrapper.

This is a suggestion / RFC thing.

Most files I work with come as two distinct, weirdly named files, i.e. <weird_name>.brd layout and <weird_name>.pdf schematic.

While working on the code I noticed I have no good way of storing annotations (e.g. component aliases) and when you want to find files quickly, it'd be cool to have more context/details on those files, like what product they possibly apply to.

Another thing is having background images for both sides, that's two more files for just one thing (unless you merge them etc.), so instead of having those simply in one folder I plan on implementing a 'custom file format' based on a zipped folder, something like:

<weird_name>.zip>
| - ! board_info.json  # friendly name, model name, zip structure, other stuff
| - thumbnail.jpg  # thumbnail for some explorer thing?
| - annotations.json  # containing alias component names, highlights, text annotations
| - favourites.json  # possibly a list of favourite nets, components?
| - ! <weird_name>.(*.brd, *.bla)  # original board view file
| - <weird_name>.pdf  # schematics PDF for possible integration later on (MuPDF?)
| - hires_img/  
  | - top.jpg
  | - bottom.jpg

(Elements with a ! have to be present, the rest is optional.)

So it's a singe file containing all info, that may be hand-edited, customized and shared with collegues.

Any ideas on this?

Doesn't highlight net pins on current component

The current component doesn't get net pins highlighted. The active component changes to numbered pins.

Also I cannot seem to find the name of the net on the selected pin. It may be a feature that is left out or maybe I am missing something.

Awesome program, can't wait to use it

Flip board, maintain position

Hello

Would it be possible to: When flipping the board with the Space bar, position the board so that the point under the mouse match on both sides?

So we could position the mouse over the board, press space bar, and immediately see whats directly behind.

Thanks

Sleep

I just compiled the unix branch on my mac. And while it starts up. It uses all the CPU on my mac. I look at main.cpp, and I see a mainloop without any sleep.

You should add a sleep here, of f.ex 20ms. There is no reason for this app to try to have 2000FPS.

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.