Monday, March 25, 2024

Git - Overview

Git is a popular version control system (VCS) for software development projects. Unlike older systems, Git is a distributed system, which means every developer working on a project has a complete copy of the project history on their local machine. This allows for faster and more flexible collaboration.

Here's a quick rundown of what Git offers:

  • Tracks changes: Git keeps a record of all changes made to the code over time. This allows developers to see exactly what was modified, by whom, and when.
  • Collaboration: Multiple developers can work on the project simultaneously without stepping on each other's toes. Git's branching feature enables developers to isolate their changes and integrate them back into the main project seamlessly.
  • Non-linear development: With Git, developers can create branches to experiment with new features or bug fixes without affecting the main codebase. This allows for more flexible and efficient development workflows.

Here are some key concepts in Git:

  • Repository (repo): This is a central location where all the project files and their revision history are stored. It can be hosted on a platform like GitHub or be local to a team's machines.
  • Working directory: This is your local copy of the project files from the repository.
  • Staging area: This is a temporary holding area where you designate specific changes to be included in your next commit.
  • Commit: This is the act of capturing a snapshot of the project's state at a particular point in time, along with a descriptive message.

If you're new to Git, there are many resources available online to help you get started, including tutorials, documentation, and interactive courses. https://git-scm.com/docs/gittutorial

Friday, January 26, 2024

MySQL Configuration for Altium DBLib and Parts

Link to MySQL Community Downloads

Video Link https://youtu.be/W-L1IPFr2Fc

Recommended Download: MySQL Installer for Windows

Recommended Configuration for Altium DBLIB and Parts.


MySQL Server Version 8.0.36
MySQL Workbench Version 8.0.36
MySQL Connector/ODBC Version 8.0.32

Notes:

Connector/ODBC Version 8.0.32 is Highly Recommended for use with Parts.

Connector/ODBC Version 8.0.33 and higher are NOT Recommended for use with Parts.

Click on the Archives Tab and look for MySQL Connector/ODBC Version 8.0.32

In Altium . . . Create a New DBLib ! ! !

Open Altium > File > New > Library > Database > Create

Select Use Connection String
Enter Connection String
Advanced >  Enter tick marks > Ok
Connect

There is a bug in Altium . . .  if you edit an existing DBLIB the connection may fail. If the Altium DBLib connection to the server fails then try creating a new DBLIB.

Example Error msg in Altium DBLIB . . . 


Could not get column list for table . . . 

That's it !

Sunday, January 14, 2024

Parts A365 Git Repo for Access DBLib

Please note the following Access database example is not for multiple remote librarians.

This solution is suitable where there is one librarian and multiple users.

A cloud hosted MySQL database can be used to support multiple remote users.

Create a folder and copy the following folders and files

Open Parts Repo.PrjPcb in Altium then right click

Select Make Project Available Online

Close the project in Altium

Use TortoiseGit to Add, Commit and Push files to the Parts Repo.

TortoiseGit can be used to commit and pull symbols and footprints from the repo.

That's it !

Saturday, January 13, 2024

git: 'credential-manager-core' is not a git command.

Solution:

Open .gitconfig and delete two lines then save .gitconfig

[credential]

    helper = manager-core

C:\Users\UserName\.gitconfig











That's it !

Friday, January 5, 2024

Best Schematic and Library Practices

Problem:

Do NOT allowing swapping symbol pin locations in the schematic.  If you update from library later, it will use the symbol from the library that does not have swapped pin locations. 

Solution: Create an Alternate part in the *.Schlib

Problem:

When using DBLIBs do NOT leave Footprint Refs embedded in Schlib files or you can end up with the  wrong Footprint placed in the design.

Library Hierarchy is Left to Right and Top Down

I recommend you do NOT use the Search paths, or use them very wisely.

Altium will search your entire C: Drive you set the Search Path to C:\ 

Problem:

Duplicate Library or Footprint Ref.

Solution:

Use single part libraries with file names that match the Ref, then place all Symbols in a folder named Symbols.  Do the same for the Footprints, use single part PCBLIBs with matched Ref and File names placed in the Footprints folder.

If the Refs match the file names it will now be impossible to create a duplicate part using the same name when all of the like type libraries are in the same folder.

Note there should be no Footprints listed in the SCHLIB files.

I prefer using DBLIBs.

Problem:

Inconsistent file paths found in Footprint properties

Example two different users placing parts from the same DBLib







Solution:

Example

Use Version Controlled GIT Repo and instruct all users to Clone to the same Folder on their local machine, example  C:\Parts Git Repo

Folders in C:\Parts Git Repo\


Using Store Path Relative to Database Library' in the DBLIB will make your database portable. You can move the DBLib and libraries to another drive or folder with no need to specify the absolute path to the database.

As shown above the Symbols and Footprints folders should be in the same folder as the DBLib.