https://ssi-wiki.stanford.edu/w/api.php?action=feedcontributions&user=Timv&feedformat=atomStanford SSI Wiki - User contributions [en]2024-03-28T21:58:57ZUser contributionsMediaWiki 1.35.0https://ssi-wiki.stanford.edu/w/index.php?title=Category:Altium&diff=4489Category:Altium2022-08-23T06:39:08Z<p>Timv: </p>
<hr />
<div>Altium Designer (typically '''Altium''') is a [[printed circuit board|printed circuit board (PCB)]] design program, made by [http://altium.com Altium Limited]. Altium Ltd is a platinum-tier sponsor of SSI, having provided a number of licenses of Altium to SSI for the past two years.<br />
<br />
Altium is well documented, and many questions can be readily answered through online searching - links from [https://www.altium.com/documentation/altium-designer techdocs.altium.com] are the official online documentation, and are usually quite helpful. The {{slack-channel|altium}} Slack channel is also a valuable resource for problems the TechDocs don't have a solution for, for asking about best practices, and for discussing group issues (ie. maintaining the SSI Altium part libraries). The intent of this wiki category is to provide guidance on how to set Altium up for working with SSI, important elements of the SSI PCB workflow, and general notes on PCB design.<br />
<br />
;Getting Started<br />
: [[How to Install and Configure Altium]]<br />
: [https://techdocs.altium.com/display/ADOH/Tutorial+-+Getting+Started+with+PCB+Design Altium's "Getting Started" Tutorial]<br />
;Using Altium<br />
: [[Making Parts for PCB Libraries]]<br />
: [[Tribal Altium Knowledge|Tribal Altium Knowledge (very old)]]<br />
: [[The Art of PCB Design]]<br />
;Getting PCBs Manufactured<br />
: [[Final PCB Error Checklist]]<br />
: [[Releasing a Board for Manufacture]]<br />
<br />
[[Category:Raccoonworks]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Tribal_Altium_Knowledge&diff=4488Tribal Altium Knowledge2022-08-23T06:38:30Z<p>Timv: </p>
<hr />
<div>This page is for documenting strange recurring issues in Altium for the benefit of SSI and greater humankind.<br />
<br />
== <big>This page is so old that it's in black and white. It's probably not worth reading.</big> ==<br />
<br />
==Inability to Install .dblibs (or, How I Learned to Stop Worrying and Love the 2007 Office System Driver)==<br />
<br />
Many SSI users of Altium cannot install database libraries (used for resistors and capacitors) by default. Installing [https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=13255 this driver] typically resolves the issue. More documentation [https://www.altium.com/documentation/altium-designer/using-database-libraries-with-32-bit-and-64-bit-altium-design-software-on-the-same-computer here]. Make sure to get the 64-bit version if using Altium 18.0 or later. You may need to uninstall and then reinstall the dblibs after installing the driver before they work.<br />
<br />
==Migrating from SVN pre-October 2017 to post-October 2017==<br />
<br />
===What's new?===<br />
* The SVN is now served from Tabitha, a server in ES3.<br />
* All login credentials are now automatically produced on Tabitha and distributed to SSI SVN users via Slack. <br />
* You will only need to enter your password once.<br />
* The SVN repository formerly stored as a single large repository is now a larger number of independent repositories listed [[List of SVN Repositories|here]].<br />
<br />
===How do I move?===<br />
[[File:root-folder.png|200px|thumb|Your root folder will look like this inside]]<br />
====Get credentials====<br />
A large number of people were automatically given SVN credentials. If you did not, message {{slack-user|sunet-id = altium-admin|display-name = altium-admin}} in {{slack-channel|altium}} requesting them. You will need to enter your username and very long and complicated password the first time you try to download an SVN but it will then be saved on your computer. Thanks to HTTPS/SSL, your password is never transmitted or stored in plain form, including when its checked on the server or in Slack (which is encrypted).<br />
<br />
[[File:SVNCheckout.png|thumb|200px|right|Make sure you're right clicking on the folder you just created.]]<br />
<br />
====If you already have the Altium SVN on your computer====<br />
# If you have Altium open on your computer, close it.<br />
# Find the root folder of your Altium SVN repo (see right).<br />
# Take note of the root folder's name, and then rename that folder to something else (i.e. add "-backup" to the name).<br />
# Create a new folder with the same name as the old root folder you just renamed. We will refer to this new folder as ''altium-core'', the name of the repository you'll be syncing into it.<br />
# Right click on ''altium-core'' and SVN Checkout... (see right) the new Altium repository, with the URL at {{altium-repo}}.<br />
# Hit OK on the window that comes up and wait while the repository downloads. This should take a minute or less. Report unusually long download times to {{slack-channel|altium}}.<br />
# When complete, open Altium, and [[How to Install and Configure Altium#Open SSI Integrated Library|recompile the SSI Altium Library]].<br />
# Verify that your capacitor and resistor database libraries are still installed, and [[How to Install and Configure Altium#Installing Resistor and Capacitor Database Libraries|reinstall them if necessary]]<br />
<br />
You've successfully ported to the new Altium SVN! You can now also sync board files as described [[#Syncing board files|below]].<br />
<br />
====If you did not have the Altium SVN on your computer====<br />
[[File:badSVN.png|200px|thumb|Don't do this]]<br />
[[File:goodSVN.png|200px|thumb|Do this instead]]<br />
You don't actually need to do anything. Follow the instructions in the [[How to Install and Configure Altium|installation guide]] normally. They have been updated to reflect the change in SVN hosting.<br />
<br />
====Syncing board files====<br />
Board files (and other SVN-controlled files) are no longer stored in the same repository as the core Altium libraries, dramatically improving repository size. To sync a new repository, find its URL [[List of SVN Repositories|here]], create a new folder on your computer, and right click --> <nowiki>SVN Checkout...</nowiki> the new folder and copy in the relevant URL. '''DO NOT''' make the new folder inside of your ''altium-core'' folder, and, generally, do not put any SVN repository inside any other (see right).<br />
<br />
You can sync any number of individual repositories onto your computer by checking them out as described in the above paragraph. Each repository needs its own folder. For organization, you're encouraged to make a new ''ssi-svn'' folder next to your ''altium-core'' folder, and then to make a subfolder in ''ssi-svn'' for each new repository. This is shown below.<br />
<br />
<br />
Recommended Directory Structure:<br />
<nowiki><br />
<br />
somewhere easy to access (Desktop, Documents, etc)<br />
--> altium-core<br />
--> libraries<br />
--> README<br />
--> ssi-svn<br />
--> satellites-altium<br />
--> project files<br />
--> balloons-altium<br />
--> project files<br />
...</nowiki><br />
<br />
===Why did this migration happen at all?===<br />
Assembla's sponsorship was nominally agreed to for 1 year, which has elapsed. While we still enjoy the benefits of sponsorship, they could be revoked at any time. In addition our sponsored plan only supports 100 users and we very immediately need more - while this could be addressed by purging currently inactive users, that's surprisingly labor intensive and would become an ongoing maintenance task. We're also in talks with others about sharing the Altium libraries around Stanford, which means granting a lot more users SVN access or otherwise needing more control over the repository than Assembla allows.<br />
<br />
If you're reading the above and thinking "well, this sounds like it's still probably solvable within Assembla," you're not entirely wrong. However there was some negotiation involved when we first approached them and if they refused to expand the scope of our sponsorship and/or revoked it we would be stuck without an SVN hosting solution, as the service is prohibitively expensive. SVN hosting online is an underserved market (and Assembla is the market leader, and as such can price assertively), meaning that there are not good alternatives online. Hosting an SVN ourself is relatively easy (initial setup actually took about 20 minutes), replaces a service that is not truly commoditized, and offers opportunities for growth not available with Assembla.<br />
<br />
Tabitha has also been measured as running at 10-20x faster than Assembla, possibly due to being on a gigabit ethernet network on campus.<br />
<br />
The breakup of the SVN repository is intended to declutter and save disk space on people's computers. While as-is SVN and TortoiseSVN support selectively syncing specific parts of a repository, the procedure for doing so involves a significant amount of poking around in menus. Altium workshops were a strong motivator for this; it's easier to give people trying to learn Altium a quick download of just the files required to get it up and running than to require them to sync the entire SVN or to walk through how to sync specific parts of it. Breaking out individual team SVNs also means that it's easy to only follow or keep up to date with certain teams. However, authentication is set up such that anyone authorized to use the SVN can sync any project, giving the benefits of having separate repositories without the barrier to joining of needing to be manually added to the project.<br />
<br />
==Part Linkage Failure Triggering Fatal Error on SSI Library Compilation==<br />
<br />
{{altium-stub}}<br />
<br />
==Placeholder to Trigger the Creation of a Table of Contents==<br />
<br />
==Unable to set the papersize property of the pagesetup class==<br />
<br />
This error may appear when exporting your BOM. Try opening the configuration menu for the BOM export and checking the "Open Exported" option.<br />
<br />
[[Category:Altium]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Category:Altium&diff=4487Category:Altium2022-08-23T06:37:11Z<p>Timv: </p>
<hr />
<div>Altium Designer (typically '''Altium''') is a [[printed circuit board|printed circuit board (PCB)]] design program, made by [http://altium.com Altium Limited]. Altium Ltd is a platinum-tier sponsor of SSI, having provided a number of licenses of Altium to SSI for the past two years.<br />
<br />
Altium is well documented, and many questions can be readily answered through online searching - links from [https://www.altium.com/documentation/altium-designer techdocs.altium.com] are the official online documentation, and are usually quite helpful. The {{slack-channel|altium}} Slack channel is also a valuable resource for problems the TechDocs don't have a solution for, for asking about best practices, and for discussing group issues (ie. maintaining the SSI Altium part libraries). The intent of this wiki category is to provide guidance on how to set Altium up for working with SSI, important elements of the SSI PCB workflow, and general notes on PCB design.<br />
<br />
;Getting Started<br />
: [[How to Install and Configure Altium]]<br />
: [https://techdocs.altium.com/display/ADOH/Tutorial+-+Getting+Started+with+PCB+Design Altium's "Getting Started" Tutorial]<br />
;Using Altium<br />
: [[Making Parts for PCB Libraries]]<br />
: [[Tribal Altium Knowledge]]<br />
: [[The Art of PCB Design]]<br />
;Getting PCBs Manufactured<br />
: [[Final PCB Error Checklist]]<br />
: [[Releasing a Board for Manufacture]]<br />
<br />
[[Category:Raccoonworks]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Category:Altium&diff=4486Category:Altium2022-08-23T06:36:16Z<p>Timv: </p>
<hr />
<div>Altium Designer (typically '''Altium''') is a [[printed circuit board|printed circuit board (PCB)]] design program, made by [http://altium.com Altium Limited]. Altium Ltd is a platinum-tier sponsor of SSI, having provided a number of licenses of Altium to SSI for the past two years.<br />
<br />
Altium is well documented, and many questions can be readily answered through online searching - links from [https://www.altium.com/documentation/altium-designer techdocs.altium.com] are the official online documentation, and are usually quite helpful. The {{slack-channel|altium}} Slack channel is also a valuable resource for problems the TechDocs don't have a solution for, for asking about best practices, and for discussing group issues (ie. maintaining the SSI Altium part libraries). The intent of this wiki category is to provide guidance on how to set Altium up for working with SSI, important elements of the SSI PCB workflow, and general notes on PCB design.<br />
<br />
;Getting Started<br />
: [[How to Install and Configure Altium]]<br />
: [https://techdocs.altium.com/display/ADOH/Tutorial+-+Getting+Started+with+PCB+Design Altium's "Getting Started" Tutorial]<br />
;Using Altium<br />
: [[SSI PCB Workflow]]<br />
: [[Working with PCB Libraries]]<br />
: [[Making Parts for PCB Libraries]]<br />
: [[Tribal Altium Knowledge]]<br />
: [[The Art of PCB Design]]<br />
;Getting PCBs Manufactured<br />
: [[Final PCB Error Checklist]]<br />
: [[Releasing a Board for Manufacture]]<br />
<br />
[[Category:Raccoonworks]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_produce_a_good_PCB&diff=4485How to produce a good PCB2022-08-23T06:35:21Z<p>Timv: Timv moved page How to produce a good PCB to The Art of PCB Design: dumb name</p>
<hr />
<div>#REDIRECT [[The Art of PCB Design]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=The_Art_of_PCB_Design&diff=4484The Art of PCB Design2022-08-23T06:35:21Z<p>Timv: Timv moved page How to produce a good PCB to The Art of PCB Design: dumb name</p>
<hr />
<div>[[Category:Altium]]<br />
There are many useful tutorials on this wiki ([[:Category:Altium]]), covering everything from Altium Installation, to footprint design, to DFM. But it's possible to follow those tutorials exactly and still end up with very sketchy PCBs. The purpose of this guide is to help you become a better electrical engineer and PCB designer. Hopefully it will help you design PCBs that are aesthetically pleasing, functional and reliable.<br />
<br />
== Step 0: Product Design ==<br />
The most often skipped step in designing a PCB is the design itself. Most EE's don't take product design classes, but it's an important skill to develop. Putting together a comprehensive design will push you to answer the following questions:<br />
* What are the functional requirements of my PCB?<br />
* What are the major components you will need on your board to achieve that functionality?<br />
* In what ways will these components be interconnected? (SPI, UART, I2C, CAN)<br />
* How will power be managed on your PCB? How much power do you need, and where will it come from? How long do your batteries need to last, and what kind will you use?<br />
* What physical and thermal requirements do you need to satisfy? Will there by high acceleration or low temperature? How will you test these factors?<br />
* What shape/size does your PCB need to be? How will it be mounted?<br />
* What things need to connect to your PCB? What kind of wires will you use? What kind of connectors? Will you be able to quickly integrate and de-integrate your PCB from the system?<br />
* What failure modes could your board exhibit, and which could hurt mission success or pose a safety risk? How can you mitigate these risks in your board?<br />
* In what ways could misuse/abuse of your board destroy it, and how can you add protections from the stupid behavior of your future self?<br />
* How can I prototype different parts of my circuit on a breadboard with breakout boards to verify it works as intended?<br />
* What code will run on this board, and how can software development done in parallel to PCB layout?<br />
Because SSI is a large team with many projects and members, You should also consider the [https://en.wikipedia.org/wiki/Extensibility Extensibility] of your design:<br />
* How can your design leverage existing PCB schematics to speed up the design process?<br />
* How can you use the flight heritage of existing circuits to reduce the chance of your system not working?<br />
* Has any past project developed modularity that you can build upon?<br />
* Can you add modularity to your design that future projects can build upon?<br />
* Can your design be made more flexible or configurable for future missions?<br />
The answers to some of these questions might be "no", but you should try to think about them.<br />
Here are a few case studies of past SSI boards that were designed on paper<br />
<br />
=== Valbal EE 9 ===<br />
[https://docs.google.com/document/d/1ZqCeDwD2tvel5EY0Tf7ifroEml3FEVMDf8KcTDa47p0/edit ValBal EE 9.1 Changelist]<br />
<br />
[https://docs.google.com/document/d/1qUs500_CiNvGZa_pNxVXRHfVZONEzjOnMHjTuYiBOjw/edit ValBal EE 9.1+ plans]<br />
<br />
[https://docs.google.com/document/d/1bBLZtZPUD5KbMAy4ByeYykShZlYhj96Qz9vydWjgE5A/edit ValBal Payload Interface Specification]<br />
<br />
=== SpaceSalmon Stack ===<br />
[https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit Fishy Business]<br />
<br />
[https://docs.google.com/spreadsheets/d/1-VdcZ4H2OCiGasRVfo6jHaaTqtyZaqoEV8z7C4GdDbo/edit Board to Board Connections]<br />
<br />
[https://docs.google.com/document/d/11-6qBFXdFuhDwf6qMIAIUr1ztXR1aTiMrxCtl4si8iQ/edit Hardware Overview]<br />
<br />
=== Thunderguppy ===<br />
[https://docs.google.com/document/d/1FlarsfEBXSJtyWvuBv_gb6-OZofqeSfMBd3gmK6JoQs/edit ThunderGuppy Battery Issue]<br />
<br />
[https://docs.google.com/document/d/1hhX1bpbs2kfcCbvq6EctOQAsNXkiz7CeYOaI4Ki6hTQ/edit ThunderGuppy Initial Design]<br />
<br />
[https://docs.google.com/spreadsheets/d/1MUmFg8R-3JiZXi5GyeJWyJ3OQy3XObGrAN3LtbTdxLI/edit ThunderGuppy Spec]<br />
<br />
=== Buddy V3 ===<br />
[https://docs.google.com/document/d/13fy2KAYhqTLVAPye0ETRxe1ajy-SXyLccdFxlEEXSSw/edit Buddy v3 Design]<br />
<br />
== Step 1: Pick the Parts ==<br />
<br />
== Step 2: Napkin Sketch ==<br />
<br />
== Step 3: Schematics ==<br />
Schematic Design is the process of specifying the symbolic representation of your circuit in a format that both the computer and a human can understand.<br />
* You should make your schematic clean enough that another human can read it. If no one else can read it, they won't be able to catch your mistakes<br />
* You should make heavy use of existing schematics for past SSI projects, especially those you understand and have flight heritage<br />
* You should use a strict hierarchical schematic sheet tree, with sheets nested within other sheets to reduce complexity<br />
<br />
== Step 4: Footprints ==<br />
See [[Making Parts for PCB Libraries]]<br />
* If possible, design your circuit to use parts that have heritage, and have footprints in the library<br />
* Take the time to track down 3D models for components, it will help prevent dumb ME issues later on<br />
<br />
== Step 5: Layout Parts ==<br />
Before you start laying out traces, try to get a rough layout of all your parts done. Traces can always be re-routed to other layers, but physical components can't be easily moved once placed. Keep in mind your mechanical design constraints. Make sure your switches and connectors are accessible at the edge of the board, etc.<br />
<br />
== Step 6: Layout Traces ==<br />
Laying out traces is not something that happens linearly, nor quickly. Computers can beat humans in Chess, and in Go, but no computer has ever reliably been better at PCB routing than a good human. It's best to tackle large or complex layout projects during uninterrupted time, when you can really really get into a Zen state. Big projects tend to get routed during breaks. You may have to revisit Step 3 above when you find the the way you were envisioning the traces being routed doesn't work out. This is fine. PCB design doesn't fall into the strategy of "rapid prototyping" yet, and so you're better off taking your time, getting everything neatly aligned.<br />
<br />
== Step 7: Layout Memes ==<br />
Take deep breath as you feel yourself emerge from the tunnel of layout. Perhaps you still have things to touch up, but the end is in sight. Take some time to think about what you want on your board, ''other'' than the electronics. There are a few things you need to have:<br />
* Board Name<br />
* Engineers Names ("T. Vrakas" is the usual format)<br />
* Year<br />
* Sponsor Logos (ask in #altium if you don't know)<br />
* Labels on all connectors, switches and LEDs<br />
And also many things you may want to add. Namely: Memes! Keep it PG, because we have to send the boards to BAC, and we don't want them giving us weird looks.<br />
(TODO: attach pictures of past memes)<br />
<br />
== Step 8: DFM ==<br />
<br />
== Step 9: Prototype ==</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Install_and_Configure_Altium&diff=4483How to Install and Configure Altium2022-08-23T06:30:40Z<p>Timv: </p>
<hr />
<div>{{guide| authors=({{slack-user|sunet-id=smaldonado|display-name=Sasha Maldonado}}) and updated by ({{slack-user|sunet-id=timv|display-name=Tim Vrakas}})}}<br />
<br />
==Background==<br />
<br />
Altium Designer is SSI's preferred circuit board design program. The program runs exclusively on Windows; Mac and Linux users have successfully run Altium through both dedicated Windows partitions and Windows virtual machines. Though debated amongst SSI members, a USB mouse is also a useful tool when designing circuit boards.<br />
<br />
[https://altium.com Altium Ltd.] sponsors SSI with a number of shared licenses to use their software. These licenses are managed over the internet - after signing in for the first time, your computer will automatically download a license file every time you open Altium and release your license when you close the program.<br />
<br />
Altium allows users to draw circuit schematics and then design the physical layout of the components represented in the schematic. This requires libraries of symbols to represent components, the physical dimensions of those components in real life, and links so that they can be purchased from suppliers. SSI and Stanford Solar Car Project members have designed parts for these libraries over the course of several years, and as an Altium user, you will almost certainly [[Making Parts for PCB Libraries|add parts to the SSI PCB libraries]]. <br />
<br />
==Where do things live?==<br />
There are three places Altium data lives: <br />
<br />
* All new projects are stored on Github. An example of this is [https://github.com/stanford-ssi/ThunderGuppy-EE ThunderGuppy-EE]. All SSI projects should be public on the [https://github.com/stanford-ssi SSI Github], but in order to commit changes, you're going to need to [https://github.com/join create a Github Account] and have someone add you as a member of the SSI Github organization. Ask in {{slack-channel|git}} to be added.<br />
* All components and parts live on the [https://stanford-university-student-space-initiative.365.altium.com/ Altium 365 workspace]. To access this you will need an Altium account connected to your Stanford email, and you will need to be added to the workspace. You should ask for these things in {{slack-channel|altium}}, and tag the {{slack-user|sunet-id=altium-admin|display-name=altium-admin}}.<br />
* Templates, Logos, Fonts, and oddball SSI-wide data lives in the [https://ssi-svn.stanford.edu/svn/altium-core/ Altium SVN]. SVN ([https://subversion.apache.org/ Subversion]) is the grandfather to Git and Google Drive. To access the SVN you need credentials which you can get from https://ssi-svn.stanford.edu/ and an SVN client, like [https://tortoisesvn.net/ TortoiseSVN].<br />
<br />
==A Brief Motivational Note==<br />
At the time of this guide's original writing, only two people in SSI had used Altium for more than a year (neither of whom wrote this article - I began using Altium 8 months prior to originally writing it). As with any worthwhile skill, Altium takes time to gain familiarity with, and doing projects in Altium - though initially somewhat tedious and frustrating at times - is the best way of learning to use it.<br />
<br />
Furthermore, as with all good technical software, Altium has many features, with many buttons and options. This is understandably anxiety-inducing. This guide (and the SSI wiki at large) is written to try and point you to the buttons you will need to complete setup and common tasks, which are a small subset of all of the buttons available to you. People who have worked in Altium for 20 years have commented that they still have never used most of the features of the program. In reality, doing a couple of projects is enough for you to learn what the core functions are and how to use them, and SSI has a robust community of able and willing engineers eager to help you get started.<br />
<br />
With that in mind, let's get underway!<br />
<br />
==Installation and Setup==<br />
<br />
===Account Setup===<br />
[[File:TortoiseSVNMenu.png|thumb|200px|right|A screenshot showing all of the SVN functions available when right-clicking after installing TortoiseSVN. You will never use most of these.]]<br />
Within the {{slack-channel|altium}} channel, request an account for Altium itself, and the Altium 365 workspace. Messaging {{slack-user|sunet-id=altium-admin|display-name=altium-admin}} will summon the relevant person. Once they give you an account, you should receive an email allowing you to log in to your account and access the [https://stanford-university-student-space-initiative.365.altium.com/ Altium 365 Workspace]. From the online workspace you can browse some recent projects without having to install any software.<br />
<br />
=== But I don't have a Windows computer! ===<br />
Never fear, many cool projects were designed without Windows computers! You have a few options:<br />
<br />
* Install Windows in a dual-boot configuration with your current OS (only for x86 computers, you'll need a bit of storage)<br />
* Run Windows in a local Virtual Machine (VM). [https://www.virtualbox.org/ VirtualBox] works well on many systems, and Stanford offers [https://stanford.onthehub.com/WebStore/Welcome.aspx VMWare for free], but for Apple Silicon (ARM) machines, [https://kb.parallels.com/124137 only Parallels supports DirectX], without which things will be very slow.<br />
* Connect to an [[Windows Remote VMs|SSI hosted Virtual Machine (VM)]]. This works best when you're connected directly to a campus network.<br />
* Use an SSI desktop, in [[End station III|ESIII]]. This works well, but can be inconvenient.<br />
<br />
===Installing Altium===<br />
<br />
Once you have an Altium account, Altium Designer can be downloaded [http://www.altium.com/products/downloads here] after logging in on the Altium website. Be aware that the software will only install on Windows operating systems. After downloading, install with the default settings.<br />
<br />
===Connecting Altium to the License System===<br />
[[File:AltiumLicense.png|thumb|200px|right|Protip: Don't publish sensitive information on the internet.]]<br />
After Altium finishes installing, open it. Under "My Account," click "Sign in" and log in with your Altium account. Check "Sign me in when I open Altium Designer," as this will automatically grant you license access when you start the program. Next, under "Available Licenses," select Altium Designer from the list of products (you may or may not have other options listed; you can safely ignore all other ones) and click "Use" underneath (see right). This will now happen automatically every time you open the program.<br />
<br />
===Configuring Altium Preferences===<br />
[[File:SystemDefaultLocations.png|thumb|200px|right|You will end up with something like this.]]<br />
Altium's default preferences are quite workable, but a couple of settings relating to the default locations of files need to be configured on each new computer. To change Altium preferences, from the top bar, click "DXP &rarr; Preferences..."<br />
<br />
====Templates Location====<br />
[[File:DataManagementTemplates.png|thumb|200px|right|You will end up with something like this, unless you're attempting to steal my identity, in which case you will end up with ''exactly'' this.]]<br />
<s>An unjustifiable length of time was spent creating formatting templates for SSI circuit schematics, which make for a clean, professional project and add a bit of information to each schematic. To use, in Preferences, go to "Data Management &rarr; Templates," and set the "Template location" field to point to the "libraries\templates" folder in your Altium SVN. See the image at right for an example of the result.</s> '''TODO: Update the templates and these instructions.'''<br />
<br />
===Install the SSI PCB Logos Font===<br />
Adding logos to PCBs is an important aspect of professionalism, part of SSI's agreements with its sponsors, and a nice way to add some creativity to a technical process. For logos that SSI commonly uses, we've created a font with scalable versions of each. Download the font from [https://ssi-svn.stanford.edu/svn/altium-core/libraries/logos/SSI/SSI_Logos.ttf the SVN], and install it to your computer.<br />
<br />
===Remap Delete Key===<br />
[[File:DeleteKeyRemapping18.png|thumb|200px|right|You should end up with this.]]<br />
''This step is only required of computers which do not have distinct "backspace" and "delete" keys. Desktops and most non-Apple laptops can skip this step. '''Apple laptops which have a "delete" key that functions as a backspace key may need to complete this step.'''''<br />
<br />
If you do not have a schematic open already, open one by clicking "File &rarr; New &rarr; Schematic." Next, open up the Customize panel by either clicking on a blank space of the toolbar (the space to the right of the "Help" drop-down menu works) or by right-clicking in that same spot and selecting "Customize..." In the window that comes up (see right), click "Edit" from the "Categories" column on the left, then double click on "Delete" in the "Commands" column on the right. This is the command used to delete components from a schematic, which is by default mapped to the delete key, which, if you're completing this step, you do not have. Click the "Primary" field, and then hit your backspace key to remap the command to that key. This only changes the delete key for schematics, so repeat this process with a PCB document open.<br />
<br />
'''You're done!''' Welcome to Altium!<br />
<br />
==Next Steps==<br />
<br />
;A First Project :[[Your First Altium Project|This (currently in-development) guide]] offers you a walkthrough of a fun introductory Altium project, which ends with making a circuit board that allows you to play StrEEt Fighter with your fellow SSI members.<br />
;Creating Parts for Altium Libraries : [[Making Parts for PCB Libraries|This guide]] walks you through the process of adding new parts to the SSI Altium library, teaching both the process involved and quality standards for the library that we and the Stanford Solar Car Project have long worked to maintain.<br />
<br />
==Addendum: SVN==<br />
If you need a single file from the SSI SVN, you can download it from the [https://ssi-svn.stanford.edu/ web interface]. If you want to download many files, or make changes, you will need to [[SVN|check out the SVN repo]].<br />
<br />
[[Category: Altium]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4482SVN2022-08-23T05:26:37Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like Photoshop and InDesign<br />
* A few CAD and simulation projects<br />
* Templates for and config files for [[:Category:Altium|Altium Designer]]<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: Github, GrabCAD, and Altium365, repectively.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, SVN does not have "branches". All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions.<br />
===Getting Access to the SVN===<br />
Getting access is now easier than ever. Head on over to [https://ssi-svn.stanford.edu/ ssi-svn.stanford.edu]. You'll need to login with your SUID. The page will try to find any saved passwords attached to your username. If none are found, just click the link to generate a new password. From then on, the generated password will be displayed on that page. The displayed username and password is what you'll use to connect to SVN. You can write it down somewhere, or just come back to that page every time you need it.<br />
<br />
===Exploring an SVN Repo===<br />
The [https://ssi-svn.stanford.edu/ ssi-svn.stanford.edu] page should now show a list of all the SSI SVN Repositories. Try clicking on the first, "altium-core". It will prompt for a username and password, see above. The page should now show the files in the root of the repository. Click on "iwuzhere.txt." It's a list of everyone who has followed this guide! Lets get you added to the list.<br />
=== Installing an SVN client ===<br />
You will need SVN software to use the SSI Altium repository. The recommended choice is to install [http://tortoisesvn.net/ Tortoise SVN] (Windows-only). There are solutions for Mac and Linux users as well, though none quite as streamlined as TortoiseSVN; many Linux and Max users use the command line (Terminal) to handle SVN.<br />
<br />
TortoiseSVN will run persistently on your computer and allow you to work with files synchronized with the SVN. As shown at right, TortoiseSVN will appear as a menu available when right clicking on files or folders. We will introduce the most useful of these commands in this article; several more are discussed [[Using TortoiseSVN|here]] (recommended reading ''after'' completing this guide).<br />
===Downloading SSI Altium SVN===<br />
[[File:SVNCheckout.png|thumb|200px|right|Make sure you're right clicking on the folder you just created.]][[File:SVNCheckout2.png|thumb|200px|right|Your checkout window should look very similar to this.]]Find a convenient location on your computer (i.e. your desktop) to create a folder that will host all of the shared SSI Altium files. Create a new folder there (my folder is called "SVN-SSI-Altium," though "altium-core" is what the folder is called on the server). Right click on the folder, and select "SVN Checkout" (see right). A window should pop up (see right) showing a URL to download files from and a location on your computer where the files will be downloaded. Verify that the target on your computer is where you intend and set the URL of the repository to {{altium-repo}}, and click OK. You will then likely be prompted for your SVN login - this will be your '''username''' and password Slacked to you after you requested them. You do not need credentials to download the libraries on campus, but you do need credentials to push changes to the libraries (regardless of where you are). Enter credentials if you have them, click OK, and your computer should begin to download the Altium libraries. These should take less than a minute to download on campus.<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message in Slack to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of SVN users!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4481SVN2022-08-23T05:23:39Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like Photoshop and InDesign<br />
* A few CAD and simulation projects<br />
* Templates for and config files for [[:Category:Altium|Altium Designer]]<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: Github, GrabCAD, and Altium365, repectively.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, SVN does not have "branches". All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions.<br />
===Getting Access to the SVN===<br />
Getting access is now easier than ever. Head on over to [https://ssi-svn.stanford.edu/ ssi-svn.stanford.edu]. You'll need to login with your SUID. The page will try to find any saved passwords attached to your username. If none are found, just click the link to generate a new password. From then on, the generated password will be displayed on that page. The displayed username and password is what you'll use to connect to SVN. You can write it down somewhere, or just come back to that page every time you need it.<br />
<br />
===Exploring an SVN Repo===<br />
The [https://ssi-svn.stanford.edu/ ssi-svn.stanford.edu] page should now show a list of all the SSI SVN Repositories. Try clicking on the first, "altium-core". It will prompt for a username and password, see above. The page should now show the files in the root of the repository. Click on "iwuzhere.txt." It's a list of everyone who has followed this guide! Lets get you added to the list.<br />
=== Installing SVN ===<br />
You will need SVN software to use the SSI Altium repository. The recommended choice is to install [http://tortoisesvn.net/ Tortoise SVN] (Windows-only). There are solutions for Mac and Linux users as well, though none quite as streamlined as TortoiseSVN; many Linux and Max users use the command line (Terminal) to handle SVN.<br />
<br />
TortoiseSVN will run persistently on your computer and allow you to work with files synchronized with the SVN. As shown at right, TortoiseSVN will appear as a menu available when right clicking on files or folders. We will introduce the most useful of these commands in this article; several more are discussed [[Using TortoiseSVN|here]] (recommended reading ''after'' completing this guide).<br />
===Downloading SSI Altium SVN===<br />
[[File:SVNCheckout.png|thumb|200px|right|Make sure you're right clicking on the folder you just created.]][[File:SVNCheckout2.png|thumb|200px|right|Your checkout window should look very similar to this.]]Find a convenient location on your computer (i.e. your desktop) to create a folder that will host all of the shared SSI Altium files. Create a new folder there (my folder is called "SVN-SSI-Altium," though "altium-core" is what the folder is called on the server). Right click on the folder, and select "SVN Checkout" (see right). A window should pop up (see right) showing a URL to download files from and a location on your computer where the files will be downloaded. Verify that the target on your computer is where you intend and set the URL of the repository to {{altium-repo}}, and click OK. You will then likely be prompted for your SVN login - this will be your '''username''' and password Slacked to you after you requested them. You do not need credentials to download the libraries on campus, but you do need credentials to push changes to the libraries (regardless of where you are). Enter credentials if you have them, click OK, and your computer should begin to download the Altium libraries. These should take less than a minute to download on campus.<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message in Slack to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of SVN users!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Install_and_Configure_Altium&diff=4480How to Install and Configure Altium2022-08-23T05:15:01Z<p>Timv: </p>
<hr />
<div>{{guide| authors=({{slack-user|sunet-id=smaldonado|display-name=Sasha Maldonado}}) and updated by ({{slack-user|sunet-id=timv|display-name=Tim Vrakas}})}}<br />
<br />
==Background==<br />
<br />
Altium Designer is SSI's preferred circuit board design program. The program runs exclusively on Windows; Mac and Linux users have successfully run Altium through both dedicated Windows partitions and Windows virtual machines. Though debated amongst SSI members, a USB mouse is also a useful tool when designing circuit boards.<br />
<br />
[https://altium.com Altium Ltd.] sponsors SSI with a number of shared licenses to use their software. These licenses are managed over the internet - after signing in for the first time, your computer will automatically download a license file every time you open Altium and release your license when you close the program.<br />
<br />
Altium allows users to draw circuit schematics and then design the physical layout of the components represented in the schematic. This requires libraries of symbols to represent components, the physical dimensions of those components in real life, and links so that they can be purchased from suppliers. SSI and Stanford Solar Car Project members have designed parts for these libraries over the course of several years, and as an Altium user, you will almost certainly [[Making Parts for PCB Libraries|add parts to the SSI PCB libraries]]. <br />
<br />
==Where do things live?==<br />
There are three places Altium data lives: <br />
<br />
* All new projects are stored on Github. An example of this is [https://github.com/stanford-ssi/ThunderGuppy-EE ThunderGuppy-EE]. All SSI projects should be public on the [https://github.com/stanford-ssi SSI Github], but in order to commit changes, you're going to need to [https://github.com/join create a Github Account] and have someone add you as a member of the SSI Github organization. Ask in {{slack-channel|git}} to be added.<br />
* All components and parts live on the [https://stanford-university-student-space-initiative.365.altium.com/ Altium 365 workspace]. To access this you will need an Altium account connected to your Stanford email, and you will need to be added to the workspace. You should ask for these things in {{slack-channel|altium}}, and tag the {{slack-user|sunet-id=altium-admin|display-name=altium-admin}}.<br />
* Templates, Logos, Fonts, and oddball SSI-wide data lives in the [https://ssi-svn.stanford.edu/svn/altium-core/ Altium SVN]. SVN ([https://subversion.apache.org/ Subversion]) is the grandfather to Git and Google Drive. To access the SVN you need credentials which you can get from https://ssi-svn.stanford.edu/ and an SVN client, like [https://tortoisesvn.net/ TortoiseSVN].<br />
<br />
==A Brief Motivational Note==<br />
At the time of this guide's original writing, only two people in SSI had used Altium for more than a year (neither of whom wrote this article - I began using Altium 8 months prior to originally writing it). As with any worthwhile skill, Altium takes time to gain familiarity with, and doing projects in Altium - though initially somewhat tedious and frustrating at times - is the best way of learning to use it.<br />
<br />
Furthermore, as with all good technical software, Altium has many features, with many buttons and options. This is understandably anxiety-inducing. This guide (and the SSI wiki at large) is written to try and point you to the buttons you will need to complete setup and common tasks, which are a small subset of all of the buttons available to you. People who have worked in Altium for 20 years have commented that they still have never used most of the features of the program. In reality, doing a couple of projects is enough for you to learn what the core functions are and how to use them, and SSI has a robust community of able and willing engineers eager to help you get started.<br />
<br />
With that in mind, let's get underway!<br />
<br />
==Installation and Setup==<br />
<br />
===Account Setup===<br />
[[File:TortoiseSVNMenu.png|thumb|200px|right|A screenshot showing all of the SVN functions available when right-clicking after installing TortoiseSVN. You will never use most of these.]]<br />
Within the {{slack-channel|altium}} channel, request an account for Altium itself, the Altium365 workspace, and the SVN. Messaging {{slack-user|sunet-id=altium-admin|display-name=altium-admin}} will summon the relevant person.<br />
<br />
===Installing Altium===<br />
<br />
Once you have an Altium account, Altium Designer can be downloaded [http://www.altium.com/products/downloads here] after logging in on the Altium website. Be aware that the software will only install on Windows operating systems. After downloading, install with the default settings.<br />
<br />
===Connecting Altium to the License System===<br />
[[File:AltiumLicense.png|thumb|200px|right|Protip: Don't publish sensitive information on the internet.]]<br />
After Altium finishes installing, open it. Under "My Account," click "Sign in" and log in with your Altium account. Check "Sign me in when I open Altium Designer," as this will automatically grant you license access when you start the program. Next, under "Available Licenses," select Altium Designer from the list of products (you may or may not have other options listed; you can safely ignore all other ones) and click "Use" underneath (see right). This will now happen automatically every time you open the program.<br />
<br />
===Configuring Altium Preferences===<br />
[[File:SystemDefaultLocations.png|thumb|200px|right|You will end up with something like this.]]<br />
Altium's default preferences are quite workable, but a couple of settings relating to the default locations of files need to be configured on each new computer. To change Altium preferences, from the top bar, click "DXP &rarr; Preferences..."<br />
<br />
====Templates Location====<br />
[[File:DataManagementTemplates.png|thumb|200px|right|You will end up with something like this, unless you're attempting to steal my identity, in which case you will end up with ''exactly'' this.]]<br />
An unjustifiable length of time was spent creating formatting templates for SSI circuit schematics, which make for a clean, professional project and add a bit of information to each schematic. To use, in Preferences, go to "Data Management &rarr; Templates," and set the "Template location" field to point to the "libraries\templates" folder in your Altium SVN. See the image at right for an example of the result.<br />
<br />
===Install the SSI PCB Logos Font===<br />
Adding logos to PCBs is an important aspect of professionalism, part of SSI's agreements with its sponsors, and a nice way to add some creativity to a technical process. For logos that SSI commonly uses, we've created a font with scalable versions of each. This font is stored in "libraries\logos\SSI" - there, you can double click on "SSI_logos.ttf" to install it.<br />
<br />
===Remap Delete Key===<br />
[[File:DeleteKeyRemapping18.png|thumb|200px|right|You should end up with this.]]<br />
''This step is only required of computers which do not have distinct "backspace" and "delete" keys. Desktops and most non-Apple laptops can skip this step. '''Apple laptops which have a "delete" key that functions as a backspace key need to complete this step.'''''<br />
<br />
If you do not have a schematic open already, open one by clicking "File &rarr; New &rarr; Schematic." Next, open up the Customize panel by either clicking on a blank space of the toolbar (the space to the right of the "Help" drop-down menu works) or by right-clicking in that same spot and selecting "Customize..." In the window that comes up (see right), click "Edit" from the "Categories" column on the left, then double click on "Delete" in the "Commands" column on the right. This is the command used to delete components from a schematic, which is by default mapped to the delete key, which, if you're completing this step, you do not have. Click the "Primary" field, and then hit your backspace key to remap the command to that key. This only changes the delete key for schematics, so repeat this process with a PCB document open.<br />
<br />
<br />
<br />
'''You're done!''' Welcome to Altium!<br />
<br />
==Next Steps==<br />
<br />
;A First Project :[[Your First Altium Project|This (currently in-development) guide]] offers you a walkthrough of a fun introductory Altium project, which ends with making a circuit board that allows you to play StrEEt Fighter with your fellow SSI members.<br />
;Creating Parts for Altium Libraries : [[Making Parts for PCB Libraries|This guide]] walks you through the process of adding new parts to the SSI Altium library, teaching both the process involved and quality standards for the library that we and the Stanford Solar Car Project have long worked to maintain.<br />
<br />
==Addendum: SVN==<br />
If you need a single file from the SSI SVN, you can download it from the [https://ssi-svn.stanford.edu/ web interface]. If you want to download many files, or make changes, you will need to [[SVN|properly check out the SVN repo]].<br />
<br />
[[Category: Altium]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Install_and_Configure_Altium&diff=4479How to Install and Configure Altium2022-08-23T05:14:28Z<p>Timv: </p>
<hr />
<div>{{guide| authors=({{slack-user|sunet-id=smaldonado|display-name=Sasha Maldonado}}) and updated by ({{slack-user|sunet-id=timv|display-name=Tim Vrakas}})}}<br />
<br />
==Background==<br />
<br />
Altium Designer is SSI's preferred circuit board design program. The program runs exclusively on Windows; Mac and Linux users have successfully run Altium through both dedicated Windows partitions and Windows virtual machines. Though debated amongst SSI members, a USB mouse is also a useful tool when designing circuit boards.<br />
<br />
[https://altium.com Altium Ltd.] sponsors SSI with a number of shared licenses to use their software. These licenses are managed over the internet - after signing in for the first time, your computer will automatically download a license file every time you open Altium and release your license when you close the program.<br />
<br />
Altium allows users to draw circuit schematics and then design the physical layout of the components represented in the schematic. This requires libraries of symbols to represent components, the physical dimensions of those components in real life, and links so that they can be purchased from suppliers. SSI and Stanford Solar Car Project members have designed parts for these libraries over the course of several years, and as an Altium user, you will almost certainly [[Making Parts for PCB Libraries|add parts to the SSI PCB libraries]]. <br />
<br />
==Where do things live?==<br />
There are three places Altium data lives: <br />
<br />
* All new projects are stored on Github. An example of this is [https://github.com/stanford-ssi/ThunderGuppy-EE ThunderGuppy-EE]. All SSI projects should be public on the [https://github.com/stanford-ssi SSI Github], but in order to commit changes, you're going to need to [https://github.com/join create a Github Account] and have someone add you as a member of the SSI Github organization. Ask in {{slack-channel|git}} to be added.<br />
* All components and parts live on the [https://stanford-university-student-space-initiative.365.altium.com/ Altium 365 workspace]. To access this you will need an Altium account connected to your Stanford email, and you will need to be added to the workspace. You should ask for these things in {{slack-channel|altium}}, and tag the {{slack-user|sunet-id=altium-admin|display-name=altium-admin}}.<br />
* Templates, Logos, Fonts, and oddball SSI-wide data lives in the [https://ssi-svn.stanford.edu/svn/altium-core/ Altium SVN]. SVN ([https://subversion.apache.org/ Subversion]) is the grandfather to Git and Google Drive. To access the SVN you need credentials which you can get from https://ssi-svn.stanford.edu/ and an SVN client, like [https://tortoisesvn.net/ TortoiseSVN].<br />
<br />
==A Brief Motivational Note==<br />
At the time of this guide's original writing, only two people in SSI had used Altium for more than a year (neither of whom wrote this article - I began using Altium 8 months prior to originally writing it). As with any worthwhile skill, Altium takes time to gain familiarity with, and doing projects in Altium - though initially somewhat tedious and frustrating at times - is the best way of learning to use it.<br />
<br />
Furthermore, as with all good technical software, Altium has many features, with many buttons and options. This is understandably anxiety-inducing. This guide (and the SSI wiki at large) is written to try and point you to the buttons you will need to complete setup and common tasks, which are a small subset of all of the buttons available to you. People who have worked in Altium for 20 years have commented that they still have never used most of the features of the program. In reality, doing a couple of projects is enough for you to learn what the core functions are and how to use them, and SSI has a robust community of able and willing engineers eager to help you get started.<br />
<br />
With that in mind, let's get underway!<br />
<br />
==Installation and Setup==<br />
<br />
===Account Setup===<br />
[[File:TortoiseSVNMenu.png|thumb|200px|right|A screenshot showing all of the SVN functions available when right-clicking after installing TortoiseSVN. You will never use most of these.]]<br />
Within the {{slack-channel|altium}} channel, request an account for Altium itself, the Altium365 workspace, and the SVN. Messaging {{slack-user|sunet-id=altium-admin|display-name=altium-admin}} will summon the relevant person.<br />
<br />
===Installing Altium===<br />
<br />
Once you have an Altium account, Altium Designer can be downloaded [http://www.altium.com/products/downloads here] after logging in on the Altium website. Be aware that the software will only install on Windows operating systems. After downloading, install with the default settings.<br />
<br />
===Connecting Altium to the License System===<br />
[[File:AltiumLicense.png|thumb|200px|right|Protip: Don't publish sensitive information on the internet.]]<br />
After Altium finishes installing, open it. Under "My Account," click "Sign in" and log in with your Altium account. Check "Sign me in when I open Altium Designer," as this will automatically grant you license access when you start the program. Next, under "Available Licenses," select Altium Designer from the list of products (you may or may not have other options listed; you can safely ignore all other ones) and click "Use" underneath (see right). This will now happen automatically every time you open the program.<br />
<br />
===Configuring Altium Preferences===<br />
[[File:SystemDefaultLocations.png|thumb|200px|right|You will end up with something like this.]]<br />
Altium's default preferences are quite workable, but a couple of settings relating to the default locations of files need to be configured on each new computer. To change Altium preferences, from the top bar, click "DXP &rarr; Preferences..."<br />
<br />
====Templates Location====<br />
[[File:DataManagementTemplates.png|thumb|200px|right|You will end up with something like this, unless you're attempting to steal my identity, in which case you will end up with ''exactly'' this.]]<br />
An unjustifiable length of time was spent creating formatting templates for SSI circuit schematics, which make for a clean, professional project and add a bit of information to each schematic. To use, in Preferences, go to "Data Management &rarr; Templates," and set the "Template location" field to point to the "libraries\templates" folder in your Altium SVN. See the image at right for an example of the result.<br />
<br />
===Install the SSI PCB Logos Font===<br />
Adding logos to PCBs is an important aspect of professionalism, part of SSI's agreements with its sponsors, and a nice way to add some creativity to a technical process. For logos that SSI commonly uses, we've created a font with scalable versions of each. This font is stored in "libraries\logos\SSI" - there, you can double click on "SSI_logos.ttf" to install it.<br />
<br />
===Remap Delete Key===<br />
[[File:DeleteKeyRemapping18.png|thumb|200px|right|You should end up with this.]]<br />
''This step is only required of computers which do not have distinct "backspace" and "delete" keys. Desktops and most non-Apple laptops can skip this step. '''Apple laptops which have a "delete" key that functions as a backspace key need to complete this step.'''''<br />
<br />
If you do not have a schematic open already, open one by clicking "File &rarr; New &rarr; Schematic." Next, open up the Customize panel by either clicking on a blank space of the toolbar (the space to the right of the "Help" drop-down menu works) or by right-clicking in that same spot and selecting "Customize..." In the window that comes up (see right), click "Edit" from the "Categories" column on the left, then double click on "Delete" in the "Commands" column on the right. This is the command used to delete components from a schematic, which is by default mapped to the delete key, which, if you're completing this step, you do not have. Click the "Primary" field, and then hit your backspace key to remap the command to that key. This only changes the delete key for schematics, so repeat this process with a PCB document open.<br />
<br />
<br />
<br />
'''You're done!''' Welcome to Altium!<br />
<br />
==Next Steps==<br />
<br />
;A First Project :[[Your First Altium Project|This (currently in-development) guide]] offers you a walkthrough of a fun introductory Altium project, which ends with making a circuit board that allows you to play StrEEt Fighter with your fellow SSI members.<br />
;Creating Parts for Altium Libraries : [[Making Parts for PCB Libraries|This guide]] walks you through the process of adding new parts to the SSI Altium library, teaching both the process involved and quality standards for the library that we and the Stanford Solar Car Project have long worked to maintain.<br />
<br />
==Addendum: SVN==<br />
If you need a single file from the SSI SVN, you can download it from the [https://ssi-svn.stanford.edu/ web interface]. If you want to download many files, or make changes, you will need to [[Svn|properly check out the SVN repo]].<br />
<br />
[[Category: Altium]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Install_and_Configure_Altium&diff=4478How to Install and Configure Altium2022-08-23T05:03:54Z<p>Timv: </p>
<hr />
<div>{{guide| authors=({{slack-user|sunet-id=smaldonado|display-name=Sasha Maldonado}}) and updated by ({{slack-user|sunet-id=timv|display-name=Tim Vrakas}})}}<br />
<br />
==Background==<br />
<br />
Altium Designer is SSI's preferred circuit board design program. The program runs exclusively on Windows; Mac and Linux users have successfully run Altium through both dedicated Windows partitions and Windows virtual machines. Though debated amongst SSI members, a USB mouse is also a useful tool when designing circuit boards.<br />
<br />
[https://altium.com Altium Ltd.] sponsors SSI with a number of shared licenses to use their software. These licenses are managed over the internet - after signing in for the first time, your computer will automatically download a license file every time you open Altium and release your license when you close the program.<br />
<br />
Altium allows users to draw circuit schematics and then design the physical layout of the components represented in the schematic. This requires libraries of symbols to represent components, the physical dimensions of those components in real life, and links so that they can be purchased from suppliers. SSI and Stanford Solar Car Project members have designed parts for these libraries over the course of several years, and as an Altium user, you will almost certainly [[Making Parts for PCB Libraries|add parts to the SSI PCB libraries]]. <br />
<br />
==Where do things live?==<br />
There are three places Altium data lives: <br />
<br />
* All new projects are stored on Github. An example of this is [https://github.com/stanford-ssi/ThunderGuppy-EE ThunderGuppy-EE]. All SSI projects should be public on the [https://github.com/stanford-ssi SSI Github], but in order to commit changes, you're going to need to [https://github.com/join create a Github Account] and have someone add you as a member of the SSI Github organization. Ask in {{slack-channel|git}} to be added.<br />
* All components and parts live on the [https://stanford-university-student-space-initiative.365.altium.com/ Altium 365 workspace]. To access this you will need an Altium account connected to your Stanford email, and you will need to be added to the workspace. You should ask for these things in {{slack-channel|altium}}, and tag the {{slack-user|sunet-id=altium-admin|display-name=altium-admin}}.<br />
* Templates, Logos, Fonts, and oddball SSI-wide data lives in the [https://ssi-svn.stanford.edu/svn/altium-core/ Altium SVN]. SVN ([https://subversion.apache.org/ Subversion]) is the grandfather to Git and Google Drive. To access the SVN you need credentials which you can get from https://ssi-svn.stanford.edu/ and an SVN client, like [https://tortoisesvn.net/ TortoiseSVN].<br />
<br />
==A Brief Motivational Note==<br />
At the time of this guide's original writing, only two people in SSI had used Altium for more than a year (neither of whom wrote this article - I began using Altium 8 months prior to originally writing it). As with any worthwhile skill, Altium takes time to gain familiarity with, and doing projects in Altium - though initially somewhat tedious and frustrating at times - is the best way of learning to use it.<br />
<br />
Furthermore, as with all good technical software, Altium has many features, with many buttons and options. This is understandably anxiety-inducing. This guide (and the SSI wiki at large) is written to try and point you to the buttons you will need to complete setup and common tasks, which are a small subset of all of the buttons available to you. People who have worked in Altium for 20 years have commented that they still have never used most of the features of the program. In reality, doing a couple of projects is enough for you to learn what the core functions are and how to use them, and SSI has a robust community of able and willing engineers eager to help you get started.<br />
<br />
With that in mind, let's get underway!<br />
<br />
==Installation and Setup==<br />
<br />
===Account Setup===<br />
[[File:TortoiseSVNMenu.png|thumb|200px|right|A screenshot showing all of the SVN functions available when right-clicking after installing TortoiseSVN. You will never use most of these.]]<br />
Within the {{slack-channel|altium}} channel, request an account for Altium itself, the Altium365 workspace, and the SVN. Messaging {{slack-user|sunet-id=altium-admin|display-name=altium-admin}} will summon the relevant person.<br />
<br />
===Installing Altium===<br />
<br />
Once you have an Altium account, Altium Designer can be downloaded [http://www.altium.com/products/downloads here] after logging in on the Altium website. Be aware that the software will only install on Windows operating systems. After downloading, install with the default settings.<br />
<br />
===Connecting Altium to the License System===<br />
[[File:AltiumLicense.png|thumb|200px|right|Protip: Don't publish sensitive information on the internet.]]<br />
After Altium finishes installing, open it. Under "My Account," click "Sign in" and log in with your Altium account. Check "Sign me in when I open Altium Designer," as this will automatically grant you license access when you start the program. Next, under "Available Licenses," select Altium Designer from the list of products (you may or may not have other options listed; you can safely ignore all other ones) and click "Use" underneath (see right). This will now happen automatically every time you open the program.<br />
<br />
===Configuring Altium Preferences===<br />
[[File:SystemDefaultLocations.png|thumb|200px|right|You will end up with something like this.]]<br />
Altium's default preferences are quite workable, but a couple of settings relating to the default locations of files need to be configured on each new computer. To change Altium preferences, from the top bar, click "DXP &rarr; Preferences..."<br />
<br />
====Templates Location====<br />
[[File:DataManagementTemplates.png|thumb|200px|right|You will end up with something like this, unless you're attempting to steal my identity, in which case you will end up with ''exactly'' this.]]<br />
An unjustifiable length of time was spent creating formatting templates for SSI circuit schematics, which make for a clean, professional project and add a bit of information to each schematic. To use, in Preferences, go to "Data Management &rarr; Templates," and set the "Template location" field to point to the "libraries\templates" folder in your Altium SVN. See the image at right for an example of the result.<br />
<br />
===Install the SSI PCB Logos Font===<br />
Adding logos to PCBs is an important aspect of professionalism, part of SSI's agreements with its sponsors, and a nice way to add some creativity to a technical process. For logos that SSI commonly uses, we've created a font with scalable versions of each. This font is stored in "libraries\logos\SSI" - there, you can double click on "SSI_logos.ttf" to install it.<br />
<br />
===Remap Delete Key===<br />
[[File:DeleteKeyRemapping18.png|thumb|200px|right|You should end up with this.]]<br />
''This step is only required of computers which do not have distinct "backspace" and "delete" keys. Desktops and most non-Apple laptops can skip this step. '''Apple laptops which have a "delete" key that functions as a backspace key need to complete this step.'''''<br />
<br />
If you do not have a schematic open already, open one by clicking "File &rarr; New &rarr; Schematic." Next, open up the Customize panel by either clicking on a blank space of the toolbar (the space to the right of the "Help" drop-down menu works) or by right-clicking in that same spot and selecting "Customize..." In the window that comes up (see right), click "Edit" from the "Categories" column on the left, then double click on "Delete" in the "Commands" column on the right. This is the command used to delete components from a schematic, which is by default mapped to the delete key, which, if you're completing this step, you do not have. Click the "Primary" field, and then hit your backspace key to remap the command to that key. This only changes the delete key for schematics, so repeat this process with a PCB document open.<br />
<br />
<br />
<br />
'''You're done!''' Welcome to Altium!<br />
<br />
==Next Steps==<br />
<br />
;A First Project :[[Your First Altium Project|This (currently in-development) guide]] offers you a walkthrough of a fun introductory Altium project, which ends with making a circuit board that allows you to play StrEEt Fighter with your fellow SSI members.<br />
;Creating Parts for Altium Libraries : [[Making Parts for PCB Libraries|This guide]] walks you through the process of adding new parts to the SSI Altium library, teaching both the process involved and quality standards for the library that we and the Stanford Solar Car Project have long worked to maintain.<br />
<br />
==Addendum: SVN==<br />
<br />
===Installing SVN===<br />
You will need SVN software to use the SSI Altium repository. The recommended choice is to install [http://tortoisesvn.net/ Tortoise SVN] (Windows-only). There are solutions for Mac and Linux users as well, though none quite as streamlined as TortoiseSVN; many Linux and Max users use the command line (Terminal) to handle SVN.<br />
<br />
TortoiseSVN will run persistently on your computer and allow you to work with files synchronized with the SVN. As shown at right, TortoiseSVN will appear as a menu available when right clicking on files or folders. We will introduce the most useful of these commands in this article; several more are discussed [[Using TortoiseSVN|here]] (recommended reading ''after'' completing this guide).<br />
<br />
===Downloading SSI Altium SVN===<br />
[[File:SVNCheckout.png|thumb|200px|right|Make sure you're right clicking on the folder you just created.]]<br />
[[File:SVNCheckout2.png|thumb|200px|right|Your checkout window should look very similar to this.]]<br />
Find a convenient location on your computer (i.e. your desktop) to create a folder that will host all of the shared SSI Altium files. Create a new folder there (my folder is called "SVN-SSI-Altium," though "altium-core" is what the folder is called on the server). Right click on the folder, and select "SVN Checkout" (see right). A window should pop up (see right) showing a URL to download files from and a location on your computer where the files will be downloaded. Verify that the target on your computer is where you intend and set the URL of the repository to {{altium-repo}}, and click OK. You will then likely be prompted for your SVN login - this will be your '''username''' and password Slacked to you after you requested them. You do not need credentials to download the libraries on campus, but you do need credentials to push changes to the libraries (regardless of where you are). Enter credentials if you have them, click OK, and your computer should begin to download the Altium libraries. These should take less than a minute to download on campus.<br />
<br />
===A Brief Introduction to SVN===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, "branches" do not work in SVN. All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions. You can see if there are new SVN commits to download in the {{slack-channel|altium}} channel, where notices of new commits are automatically posted.<br />
<br />
Future tutorials will discuss when and how to add files and how to use Altium's SVN commands; below, we will briefly discuss how to generally commit file changes to the SVN repository.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message the {{slack-channel|altium}} to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of electrical engineers!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.<br />
<br />
[[Category: Altium]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Install_and_Configure_Altium&diff=4477How to Install and Configure Altium2022-08-23T04:53:51Z<p>Timv: </p>
<hr />
<div>{{guide| authors=({{slack-user|sunet-id=smaldonado|display-name=Sasha Maldonado}}) and updated by ({{slack-user|sunet-id=timv|display-name=Tim Vrakas}})}}<br />
<br />
==Background==<br />
<br />
Altium Designer is SSI's preferred circuit board design program. The program runs exclusively on Windows; Mac and Linux users have successfully run Altium through both dedicated Windows partitions and Windows virtual machines. Though debated amongst SSI members, a USB mouse is also a useful tool when designing circuit boards.<br />
<br />
[https://altium.com Altium Ltd.] sponsors SSI with a number of shared licenses to use their software. These licenses are managed over the internet - after signing in for the first time, your computer will automatically download a license file every time you open Altium and release your license when you close the program.<br />
<br />
Altium allows users to draw circuit schematics and then design the physical layout of the components represented in the schematic. This requires libraries of symbols to represent components, the physical dimensions of those components in real life, and links so that they can be purchased from suppliers. SSI and Stanford Solar Car Project members have designed parts for these libraries over the course of several years, and as an Altium user, you will almost certainly [[Making Parts for PCB Libraries|add parts to the SSI PCB libraries]]. <br />
<br />
==Where do things live?==<br />
There are three places Altium data lives: <br />
<br />
* All new projects are stored on Github. An example of this is [https://github.com/stanford-ssi/ThunderGuppy-EE ThunderGuppy-EE]. All SSI projects should be public on the [https://github.com/stanford-ssi SSI Github], but in order to commit changes, you're going to need to [https://github.com/join create a Github Account] and have someone add you as a member of the SSI Github organization. Ask in {{slack-channel|git}} to be added.<br />
* All components and parts live on the [https://stanford-university-student-space-initiative.365.altium.com/ Altium 365 workspace]. To access this you will need an Altium account connected to your Stanford email, and you will need to be added to the workspace. You should ask for these things in {{slack-channel|altium}}, and tag the {{slack-user|altium-admin}}.<br />
* Templates, Logos, Fonts, and oddball SSI-wide data lives in the [https://ssi-svn.stanford.edu/svn/altium-core/ Altium SVN]. SVN ([https://subversion.apache.org/ Subversion]) is the grandfather to Git and Google Drive. To access the SVN you need credentials which you can get from https://ssi-svn.stanford.edu/ and an SVN client, like [https://tortoisesvn.net/ TortoiseSVN].<br />
<br />
==A Brief Motivational Note==<br />
At the time of this guide's original writing, only two people in SSI had used Altium for more than a year (neither of whom wrote this article - I began using Altium 8 months prior to originally writing it). As with any worthwhile skill, Altium takes time to gain familiarity with, and doing projects in Altium - though initially somewhat tedious and frustrating at times - is the best way of learning to use it.<br />
<br />
Furthermore, as with all good technical software, Altium has many features, with many buttons and options. This is understandably anxiety-inducing. This guide (and the SSI wiki at large) is written to try and point you to the buttons you will need to complete setup and common tasks, which are a small subset of all of the buttons available to you. People who have worked in Altium for 20 years have commented that they still have never used most of the features of the program. In reality, doing a couple of projects is enough for you to learn what the core functions are and how to use them, and SSI has a robust community of able and willing engineers eager to help you get started.<br />
<br />
With that in mind, let's get underway!<br />
<br />
==Installation and Setup==<br />
<br />
===Account Setup===<br />
[[File:TortoiseSVNMenu.png|thumb|200px|right|A screenshot showing all of the SVN functions available when right-clicking after installing TortoiseSVN. You will never use most of these.]]<br />
Within the {{slack-channel|altium}} channel, request an account for Altium itself, the Altium365 workspace, and the SVN. Messaging {{slack-user|sunet-id=altium-admin|display-name=altium-admin}} will summon the relevant person.<br />
<br />
===Installing SVN===<br />
You will need SVN software to use the SSI Altium repository. The recommended choice is to install [http://tortoisesvn.net/ Tortoise SVN] (Windows-only). There are solutions for Mac and Linux users as well, though none quite as streamlined as TortoiseSVN; many Linux and Max users use the command line (Terminal) to handle SVN.<br />
<br />
TortoiseSVN will run persistently on your computer and allow you to work with files synchronized with the SVN. As shown at right, TortoiseSVN will appear as a menu available when right clicking on files or folders. We will introduce the most useful of these commands in this article; several more are discussed [[Using TortoiseSVN|here]] (recommended reading ''after'' completing this guide).<br />
<br />
===Downloading SSI Altium SVN===<br />
[[File:SVNCheckout.png|thumb|200px|right|Make sure you're right clicking on the folder you just created.]]<br />
[[File:SVNCheckout2.png|thumb|200px|right|Your checkout window should look very similar to this.]]<br />
Find a convenient location on your computer (i.e. your desktop) to create a folder that will host all of the shared SSI Altium files. Create a new folder there (my folder is called "SVN-SSI-Altium," though "altium-core" is what the folder is called on the server). Right click on the folder, and select "SVN Checkout" (see right). A window should pop up (see right) showing a URL to download files from and a location on your computer where the files will be downloaded. Verify that the target on your computer is where you intend and set the URL of the repository to {{altium-repo}}, and click OK. You will then likely be prompted for your SVN login - this will be your '''username''' and password Slacked to you after you requested them. You do not need credentials to download the libraries on campus, but you do need credentials to push changes to the libraries (regardless of where you are). Enter credentials if you have them, click OK, and your computer should begin to download the Altium libraries. These should take less than a minute to download on campus.<br />
<br />
===Installing Altium===<br />
<br />
Once you have an Altium account, Altium Designer can be downloaded [http://www.altium.com/products/downloads here] after logging in on the Altium website. Be aware that the software will only install on Windows operating systems. After downloading, install with the default settings.<br />
<br />
===Connecting Altium to the License System===<br />
[[File:AltiumLicense.png|thumb|200px|right|Protip: Don't publish sensitive information on the internet.]]<br />
After Altium finishes installing, open it. Under "My Account," click "Sign in" and log in with your Altium account. Check "Sign me in when I open Altium Designer," as this will automatically grant you license access when you start the program. Next, under "Available Licenses," select Altium Designer from the list of products (you may or may not have other options listed; you can safely ignore all other ones) and click "Use" underneath (see right). This will now happen automatically every time you open the program.<br />
<br />
===Configuring Altium Preferences===<br />
[[File:SystemDefaultLocations.png|thumb|200px|right|You will end up with something like this.]]<br />
Altium's default preferences are quite workable, but a couple of settings relating to the default locations of files need to be configured on each new computer. To change Altium preferences, from the top bar, click "DXP &rarr; Preferences..."<br />
<br />
====Templates Location====<br />
[[File:DataManagementTemplates.png|thumb|200px|right|You will end up with something like this, unless you're attempting to steal my identity, in which case you will end up with ''exactly'' this.]]<br />
An unjustifiable length of time was spent creating formatting templates for SSI circuit schematics, which make for a clean, professional project and add a bit of information to each schematic. To use, in Preferences, go to "Data Management &rarr; Templates," and set the "Template location" field to point to the "libraries\templates" folder in your Altium SVN. See the image at right for an example of the result.<br />
<br />
===Install the SSI PCB Logos Font===<br />
Adding logos to PCBs is an important aspect of professionalism, part of SSI's agreements with its sponsors, and a nice way to add some creativity to a technical process. For logos that SSI commonly uses, we've created a font with scalable versions of each. This font is stored in "libraries\logos\SSI" - there, you can double click on "SSI_logos.ttf" to install it.<br />
<br />
===Remap Delete Key===<br />
[[File:DeleteKeyRemapping18.png|thumb|200px|right|You should end up with this.]]<br />
''This step is only required of computers which do not have distinct "backspace" and "delete" keys. Desktops and most non-Apple laptops can skip this step. '''Apple laptops which have a "delete" key that functions as a backspace key need to complete this step.'''''<br />
<br />
If you do not have a schematic open already, open one by clicking "File &rarr; New &rarr; Schematic." Next, open up the Customize panel by either clicking on a blank space of the toolbar (the space to the right of the "Help" drop-down menu works) or by right-clicking in that same spot and selecting "Customize..." In the window that comes up (see right), click "Edit" from the "Categories" column on the left, then double click on "Delete" in the "Commands" column on the right. This is the command used to delete components from a schematic, which is by default mapped to the delete key, which, if you're completing this step, you do not have. Click the "Primary" field, and then hit your backspace key to remap the command to that key. This only changes the delete key for schematics, so repeat this process with a PCB document open.<br />
<br />
==A Brief Introduction to SVN==<br />
This is the last part of this guide! You have actually already completed the installation and configuration of Altium; this step is intended to give you a quick introduction to SVN and how to use it. You will not need Altium for this last step; if you're completing this tutorial at a time when others are likely to also be working through it, close Altium, as that will free up licenses for others to use. If you're already familiar with SVN, skip to the [[#Your First Commit|last task]].<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, "branches" do not work in SVN. All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions. You can see if there are new SVN commits to download in the {{slack-channel|altium}} channel, where notices of new commits are automatically posted.<br />
<br />
Future tutorials will discuss when and how to add files and how to use Altium's SVN commands; below, we will briefly discuss how to generally commit file changes to the SVN repository.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message the {{slack-channel|altium}} to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of electrical engineers!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.<br />
<br />
'''You're done!''' Welcome to Altium!<br />
<br />
==Next Steps==<br />
<br />
;A First Project :[[Your First Altium Project|This (currently in-development) guide]] offers you a walkthrough of a fun introductory Altium project, which ends with making a circuit board that allows you to play StrEEt Fighter with your fellow SSI members.<br />
;Creating Parts for Altium Libraries : [[Making Parts for PCB Libraries|This guide]] walks you through the process of adding new parts to the SSI Altium library, teaching both the process involved and quality standards for the library that we and the Stanford Solar Car Project have long worked to maintain.<br />
<br />
[[Category: Altium]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Install_and_Configure_Altium&diff=4476How to Install and Configure Altium2022-08-23T04:52:04Z<p>Timv: </p>
<hr />
<div>{{guide| authors=({{slack-user|sunet-id=smaldonado|display-name=Sasha Maldonado}}) and updated by ({{slack-user|sunet-id=timv|display-name=Tim Vrakas}})}}<br />
<br />
==Background==<br />
<br />
Altium Designer is SSI's preferred circuit board design program. The program runs exclusively on Windows; Mac and Linux users have successfully run Altium through both dedicated Windows partitions and Windows virtual machines. Though debated amongst SSI members, a USB mouse is also a useful tool when designing circuit boards.<br />
<br />
[https://altium.com Altium Ltd.] sponsors SSI with a number of shared licenses to use their software. These licenses are managed over the internet - after signing in for the first time, your computer will automatically download a license file every time you open Altium and release your license when you close the program.<br />
<br />
Altium allows users to draw circuit schematics and then design the physical layout of the components represented in the schematic. This requires libraries of symbols to represent components, the physical dimensions of those components in real life, and links so that they can be purchased from suppliers. SSI and Stanford Solar Car Project members have designed parts for these libraries over the course of several years, and as an Altium user, you will almost certainly [[Making Parts for PCB Libraries|add parts to the SSI PCB libraries]]. <br />
<br />
==Where do things live?==<br />
There are three places Altium data lives: <br />
<br />
* All new projects are stored on Github. An example of this is [https://github.com/stanford-ssi/ThunderGuppy-EE ThunderGuppy-EE]. All SSI projects should be public on the [https://github.com/stanford-ssi SSI Github], but in order to commit changes, you're going to need to [https://github.com/join create a Github Account] and have someone add you as a member of the SSI Github organization. Ask in {{slack-channel|git}} to be added.<br />
* All components and parts live on the [https://stanford-university-student-space-initiative.365.altium.com/ Altium 365 workspace]. To access this you will need an Altium account connected to your Stanford email, and you will need to be added to the workspace. You should ask for these things in {{slack-channel|altium}}, and tag the {{slack-user|altium-admin}}.<br />
* Templates, Logos, Fonts, and oddball SSI-wide data lives in the [https://ssi-svn.stanford.edu/svn/altium-core/ Altium SVN]. SVN ([https://subversion.apache.org/ Subversion]) is the grandfather to Git and Google Drive. To access the SVN you need credentials which you can get from https://ssi-svn.stanford.edu/ and an SVN client, like [https://tortoisesvn.net/ TortoiseSVN].<br />
<br />
==A Brief Motivational Note==<br />
At the time of this guide's original writing, only two people in SSI had used Altium for more than a year (neither of whom wrote this article - I began using Altium 8 months prior to originally writing it). As with any worthwhile skill, Altium takes time to gain familiarity with, and doing projects in Altium - though initially somewhat tedious and frustrating at times - is the best way of learning to use it.<br />
<br />
Furthermore, as with all good technical software, Altium has many features, with many buttons and options. This is understandably anxiety-inducing. This guide (and the SSI wiki at large) is written to try and point you to the buttons you will need to complete setup and common tasks, which are a small subset of all of the buttons available to you. People who have worked in Altium for 20 years have commented that they still have never used most of the features of the program. In reality, doing a couple of projects is enough for you to learn what the core functions are and how to use them, and SSI has a robust community of able and willing engineers eager to help you get started.<br />
<br />
With that in mind, let's get underway!<br />
<br />
==Installation and Setup==<br />
<br />
===Account Setup===<br />
[[File:TortoiseSVNMenu.png|thumb|200px|right|A screenshot showing all of the SVN functions available when right-clicking after installing TortoiseSVN. You will never use most of these.]]<br />
Within the {{slack-channel|altium}} channel, request an account for Altium itself, the Altium365 workspace, and the SVN. Messaging {{slack-user|altium-admin}} will summon the relevant person.<br />
<br />
===Installing SVN===<br />
You will need SVN software to use the SSI Altium repository. The recommended choice is to install [http://tortoisesvn.net/ Tortoise SVN] (Windows-only). There are solutions for Mac and Linux users as well, though none quite as streamlined as TortoiseSVN; many Linux and Max users use the command line (Terminal) to handle SVN.<br />
<br />
TortoiseSVN will run persistently on your computer and allow you to work with files synchronized with the SVN. As shown at right, TortoiseSVN will appear as a menu available when right clicking on files or folders. We will introduce the most useful of these commands in this article; several more are discussed [[Using TortoiseSVN|here]] (recommended reading ''after'' completing this guide).<br />
<br />
===Downloading SSI Altium SVN===<br />
[[File:SVNCheckout.png|thumb|200px|right|Make sure you're right clicking on the folder you just created.]]<br />
[[File:SVNCheckout2.png|thumb|200px|right|Your checkout window should look very similar to this.]]<br />
Find a convenient location on your computer (i.e. your desktop) to create a folder that will host all of the shared SSI Altium files. Create a new folder there (my folder is called "SVN-SSI-Altium," though "altium-core" is what the folder is called on the server). Right click on the folder, and select "SVN Checkout" (see right). A window should pop up (see right) showing a URL to download files from and a location on your computer where the files will be downloaded. Verify that the target on your computer is where you intend and set the URL of the repository to {{altium-repo}}, and click OK. You will then likely be prompted for your SVN login - this will be your '''username''' and password Slacked to you after you requested them. You do not need credentials to download the libraries on campus, but you do need credentials to push changes to the libraries (regardless of where you are). Enter credentials if you have them, click OK, and your computer should begin to download the Altium libraries. These should take less than a minute to download on campus.<br />
<br />
===Installing Altium===<br />
<br />
Once you have an Altium account, Altium Designer can be downloaded [http://www.altium.com/products/downloads here] after logging in on the Altium website. Be aware that the software will only install on Windows operating systems. After downloading, install with the default settings.<br />
<br />
===Connecting Altium to the License System===<br />
[[File:AltiumLicense.png|thumb|200px|right|Protip: Don't publish sensitive information on the internet.]]<br />
After Altium finishes installing, open it. Under "My Account," click "Sign in" and log in with your Altium account. Check "Sign me in when I open Altium Designer," as this will automatically grant you license access when you start the program. Next, under "Available Licenses," select Altium Designer from the list of products (you may or may not have other options listed; you can safely ignore all other ones) and click "Use" underneath (see right). This will now happen automatically every time you open the program.<br />
<br />
===Configuring Altium Preferences===<br />
[[File:SystemDefaultLocations.png|thumb|200px|right|You will end up with something like this.]]<br />
Altium's default preferences are quite workable, but a couple of settings relating to the default locations of files need to be configured on each new computer. To change Altium preferences, from the top bar, click "DXP &rarr; Preferences..."<br />
<br />
====Templates Location====<br />
[[File:DataManagementTemplates.png|thumb|200px|right|You will end up with something like this, unless you're attempting to steal my identity, in which case you will end up with ''exactly'' this.]]<br />
An unjustifiable length of time was spent creating formatting templates for SSI circuit schematics, which make for a clean, professional project and add a bit of information to each schematic. To use, in Preferences, go to "Data Management &rarr; Templates," and set the "Template location" field to point to the "libraries\templates" folder in your Altium SVN. See the image at right for an example of the result.<br />
<br />
===Install the SSI PCB Logos Font===<br />
Adding logos to PCBs is an important aspect of professionalism, part of SSI's agreements with its sponsors, and a nice way to add some creativity to a technical process. For logos that SSI commonly uses, we've created a font with scalable versions of each. This font is stored in "libraries\logos\SSI" - there, you can double click on "SSI_logos.ttf" to install it.<br />
<br />
===Remap Delete Key===<br />
[[File:DeleteKeyRemapping18.png|thumb|200px|right|You should end up with this.]]<br />
''This step is only required of computers which do not have distinct "backspace" and "delete" keys. Desktops and most non-Apple laptops can skip this step. '''Apple laptops which have a "delete" key that functions as a backspace key need to complete this step.'''''<br />
<br />
If you do not have a schematic open already, open one by clicking "File &rarr; New &rarr; Schematic." Next, open up the Customize panel by either clicking on a blank space of the toolbar (the space to the right of the "Help" drop-down menu works) or by right-clicking in that same spot and selecting "Customize..." In the window that comes up (see right), click "Edit" from the "Categories" column on the left, then double click on "Delete" in the "Commands" column on the right. This is the command used to delete components from a schematic, which is by default mapped to the delete key, which, if you're completing this step, you do not have. Click the "Primary" field, and then hit your backspace key to remap the command to that key. This only changes the delete key for schematics, so repeat this process with a PCB document open.<br />
<br />
==A Brief Introduction to SVN==<br />
This is the last part of this guide! You have actually already completed the installation and configuration of Altium; this step is intended to give you a quick introduction to SVN and how to use it. You will not need Altium for this last step; if you're completing this tutorial at a time when others are likely to also be working through it, close Altium, as that will free up licenses for others to use. If you're already familiar with SVN, skip to the [[#Your First Commit|last task]].<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, "branches" do not work in SVN. All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions. You can see if there are new SVN commits to download in the {{slack-channel|altium}} channel, where notices of new commits are automatically posted.<br />
<br />
Future tutorials will discuss when and how to add files and how to use Altium's SVN commands; below, we will briefly discuss how to generally commit file changes to the SVN repository.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message the {{slack-channel|altium}} to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of electrical engineers!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.<br />
<br />
'''You're done!''' Welcome to Altium!<br />
<br />
==Next Steps==<br />
<br />
;A First Project :[[Your First Altium Project|This (currently in-development) guide]] offers you a walkthrough of a fun introductory Altium project, which ends with making a circuit board that allows you to play StrEEt Fighter with your fellow SSI members.<br />
;Creating Parts for Altium Libraries : [[Making Parts for PCB Libraries|This guide]] walks you through the process of adding new parts to the SSI Altium library, teaching both the process involved and quality standards for the library that we and the Stanford Solar Car Project have long worked to maintain.<br />
<br />
[[Category: Altium]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Making_Parts_for_PCB_Libraries&diff=4475Making Parts for PCB Libraries2022-08-23T04:48:33Z<p>Timv: </p>
<hr />
<div>{{guide| authors={{slack-user|sunet-id=smaldonado|display-name=Sasha Maldonado}}}}<br />
<br />
= WARNING!!! NO LONGER RELEVANT!!! =<br />
Altium 20 introduced a major change to the way libraries are managed. All of our libraries now live in the cloud, and there are no files on your computer associated with the libraries. You can still read this page, but it's an artifact at this point, so don't take it as truth. We are working on updating the Wiki, but for now ask in {{slack-channel|altium}} if you have trouble making parts in the library, or want help.<br />
<br />
<br />
<big>TODO: Write the Guide!</big></div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Making_Parts_for_PCB_Libraries&diff=4474Making Parts for PCB Libraries2022-08-23T04:41:16Z<p>Timv: delete everything that's old</p>
<hr />
<div>{{guide| authors=Sasha Maldonado ({{slack-user|smaldonado}})}}<br />
<br />
= WARNING!!! NO LONGER RELEVANT!!! =<br />
Altium 20 introduced a major change to the way libraries are managed. All of our libraries now live in the cloud, and there are no files on your computer associated with the libraries. You can still read this page, but it's an artifact at this point, so don't take it as truth. We are working on updating the Wiki, but for now ask in {{slack-channel|altium}} if you have trouble making parts in the library, or want help.<br />
<br />
<br />
<big>TODO: Write the Guide!</big></div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Install_and_Configure_Altium&diff=4473How to Install and Configure Altium2022-08-23T04:39:33Z<p>Timv: </p>
<hr />
<div>{{guide| authors=({{slack-user|sunet-id=smaldonado|display-name=Sasha Maldonado}}) and updated by ({{slack-user|sunet-id=timv|display-name=Tim Vrakas}})}}<br />
<br />
==Background==<br />
<br />
Altium Designer is SSI's preferred circuit board design program. The program runs exclusively on Windows; Mac and Linux users have successfully run Altium through both dedicated Windows partitions and Windows virtual machines. Though debated amongst SSI members, a USB mouse is also a useful tool when designing circuit boards.<br />
<br />
[https://altium.com Altium Ltd.] sponsors SSI with a number of shared licenses to use their software. These licenses are managed over the internet - after signing in for the first time, your computer will automatically download a license file every time you open Altium and release your license when you close the program.<br />
<br />
Altium allows users to draw circuit schematics and then design the physical layout of the components represented in the schematic. This requires libraries of symbols to represent components, the physical dimensions of those components in real life, and links so that they can be purchased from suppliers. SSI and Stanford Solar Car Project members have designed parts for these libraries over the course of several years, and as an Altium user, you will almost certainly [[Making Parts for PCB Libraries|add parts to the SSI PCB libraries]]. <br />
<br />
==Where do things live?==<br />
There are three places Altium data lives: <br />
<br />
* All new projects are stored on Github. An example of this is [https://github.com/stanford-ssi/ThunderGuppy-EE ThunderGuppy-EE]. All SSI projects should be public on the [https://github.com/stanford-ssi SSI Github], but in order to commit changes, you're going to need to [https://github.com/join create a Github Account] and have someone add you as a member of the SSI Github organization. Ask in {{slack-channel|git}} to be added.<br />
* All components and parts live on the [https://stanford-university-student-space-initiative.365.altium.com/ Altium 365 workspace]. To access this you will need an Altium account connected to your Stanford email, and you will need to be added to the workspace. You should ask for these things in {{slack-channel|altium}}, and tag the {{slack-user|altium-admin}}.<br />
* Templates, Logos, Fonts, and oddball SSI-wide data lives in the altium SVN. SVN ([https://subversion.apache.org/ Subversion]) is the grandfather to Git and Google Drive. To access the SVN you need credentials (ask in {{slack-channel|altium}}) and an SVN client, like TortoiseSVN. <br />
<br />
==A Brief Motivational Note==<br />
At the time of this guide's original writing, only two people in SSI had used Altium for more than a year (neither of whom wrote this article - I began using Altium 8 months prior to originally writing it). As with any worthwhile skill, Altium takes time to gain familiarity with, and doing projects in Altium - though initially somewhat tedious and frustrating at times - is the best way of learning to use it.<br />
<br />
Furthermore, as with all good technical software, Altium has many features, with many buttons and options. This is understandably anxiety-inducing. This guide (and the SSI wiki at large) is written to try and point you to the buttons you will need to complete setup and common tasks, which are a small subset of all of the buttons available to you. People who have worked in Altium for 20 years have commented that they still have never used most of the features of the program. In reality, doing a couple of projects is enough for you to learn what the core functions are and how to use them, and SSI has a robust community of able and willing engineers eager to help you get started.<br />
<br />
With that in mind, let's get underway!<br />
<br />
==Installation and Setup==<br />
<br />
===Account Setup===<br />
[[File:TortoiseSVNMenu.png|thumb|200px|right|A screenshot showing all of the SVN functions available when right-clicking after installing TortoiseSVN. You will never use most of these.]]<br />
Within the {{slack-channel|altium}} channel, request an account for Altium itself, the Altium365 workspace, and the SVN. Messaging {{slack-user|altium-admin}} will summon the relevant person.<br />
<br />
===Installing SVN===<br />
You will need SVN software to use the SSI Altium repository. The recommended choice is to install [http://tortoisesvn.net/ Tortoise SVN] (Windows-only). There are solutions for Mac and Linux users as well, though none quite as streamlined as TortoiseSVN; many Linux and Max users use the command line (Terminal) to handle SVN.<br />
<br />
TortoiseSVN will run persistently on your computer and allow you to work with files synchronized with the SVN. As shown at right, TortoiseSVN will appear as a menu available when right clicking on files or folders. We will introduce the most useful of these commands in this article; several more are discussed [[Using TortoiseSVN|here]] (recommended reading ''after'' completing this guide).<br />
<br />
===Downloading SSI Altium SVN===<br />
[[File:SVNCheckout.png|thumb|200px|right|Make sure you're right clicking on the folder you just created.]]<br />
[[File:SVNCheckout2.png|thumb|200px|right|Your checkout window should look very similar to this.]]<br />
Find a convenient location on your computer (i.e. your desktop) to create a folder that will host all of the shared SSI Altium files. Create a new folder there (my folder is called "SVN-SSI-Altium," though "altium-core" is what the folder is called on the server). Right click on the folder, and select "SVN Checkout" (see right). A window should pop up (see right) showing a URL to download files from and a location on your computer where the files will be downloaded. Verify that the target on your computer is where you intend and set the URL of the repository to {{altium-repo}}, and click OK. You will then likely be prompted for your SVN login - this will be your '''username''' and password Slacked to you after you requested them. You do not need credentials to download the libraries on campus, but you do need credentials to push changes to the libraries (regardless of where you are). Enter credentials if you have them, click OK, and your computer should begin to download the Altium libraries. These should take less than a minute to download on campus.<br />
<br />
===Installing Altium===<br />
<br />
Once you have an Altium account, Altium Designer can be downloaded [http://www.altium.com/products/downloads here] after logging in on the Altium website. Be aware that the software will only install on Windows operating systems. After downloading, install with the default settings.<br />
<br />
===Connecting Altium to the License System===<br />
[[File:AltiumLicense.png|thumb|200px|right|Protip: Don't publish sensitive information on the internet.]]<br />
After Altium finishes installing, open it. Under "My Account," click "Sign in" and log in with your Altium account. Check "Sign me in when I open Altium Designer," as this will automatically grant you license access when you start the program. Next, under "Available Licenses," select Altium Designer from the list of products (you may or may not have other options listed; you can safely ignore all other ones) and click "Use" underneath (see right). This will now happen automatically every time you open the program.<br />
<br />
===Configuring Altium Preferences===<br />
[[File:SystemDefaultLocations.png|thumb|200px|right|You will end up with something like this.]]<br />
Altium's default preferences are quite workable, but a couple of settings relating to the default locations of files need to be configured on each new computer. To change Altium preferences, from the top bar, click "DXP &rarr; Preferences..."<br />
<br />
====Templates Location====<br />
[[File:DataManagementTemplates.png|thumb|200px|right|You will end up with something like this, unless you're attempting to steal my identity, in which case you will end up with ''exactly'' this.]]<br />
An unjustifiable length of time was spent creating formatting templates for SSI circuit schematics, which make for a clean, professional project and add a bit of information to each schematic. To use, in Preferences, go to "Data Management &rarr; Templates," and set the "Template location" field to point to the "libraries\templates" folder in your Altium SVN. See the image at right for an example of the result.<br />
<br />
===Install the SSI PCB Logos Font===<br />
Adding logos to PCBs is an important aspect of professionalism, part of SSI's agreements with its sponsors, and a nice way to add some creativity to a technical process. For logos that SSI commonly uses, we've created a font with scalable versions of each. This font is stored in "libraries\logos\SSI" - there, you can double click on "SSI_logos.ttf" to install it.<br />
<br />
===Remap Delete Key===<br />
[[File:DeleteKeyRemapping18.png|thumb|200px|right|You should end up with this.]]<br />
''This step is only required of computers which do not have distinct "backspace" and "delete" keys. Desktops and most non-Apple laptops can skip this step. '''Apple laptops which have a "delete" key that functions as a backspace key need to complete this step.'''''<br />
<br />
If you do not have a schematic open already, open one by clicking "File &rarr; New &rarr; Schematic." Next, open up the Customize panel by either clicking on a blank space of the toolbar (the space to the right of the "Help" drop-down menu works) or by right-clicking in that same spot and selecting "Customize..." In the window that comes up (see right), click "Edit" from the "Categories" column on the left, then double click on "Delete" in the "Commands" column on the right. This is the command used to delete components from a schematic, which is by default mapped to the delete key, which, if you're completing this step, you do not have. Click the "Primary" field, and then hit your backspace key to remap the command to that key. This only changes the delete key for schematics, so repeat this process with a PCB document open.<br />
<br />
==A Brief Introduction to SVN==<br />
This is the last part of this guide! You have actually already completed the installation and configuration of Altium; this step is intended to give you a quick introduction to SVN and how to use it. You will not need Altium for this last step; if you're completing this tutorial at a time when others are likely to also be working through it, close Altium, as that will free up licenses for others to use. If you're already familiar with SVN, skip to the [[#Your First Commit|last task]].<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, "branches" do not work in SVN. All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions. You can see if there are new SVN commits to download in the {{slack-channel|altium}} channel, where notices of new commits are automatically posted.<br />
<br />
Future tutorials will discuss when and how to add files and how to use Altium's SVN commands; below, we will briefly discuss how to generally commit file changes to the SVN repository.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message the {{slack-channel|altium}} to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of electrical engineers!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.<br />
<br />
'''You're done!''' Welcome to Altium!<br />
<br />
==Next Steps==<br />
<br />
;A First Project :[[Your First Altium Project|This (currently in-development) guide]] offers you a walkthrough of a fun introductory Altium project, which ends with making a circuit board that allows you to play StrEEt Fighter with your fellow SSI members.<br />
;Creating Parts for Altium Libraries : [[Making Parts for PCB Libraries|This guide]] walks you through the process of adding new parts to the SSI Altium library, teaching both the process involved and quality standards for the library that we and the Stanford Solar Car Project have long worked to maintain.<br />
<br />
[[Category: Altium]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Category:Altium&diff=4472Category:Altium2022-08-23T04:29:33Z<p>Timv: </p>
<hr />
<div>Altium Designer (typically '''Altium''') is a [[printed circuit board|printed circuit board (PCB)]] design program, made by [http://altium.com Altium Limited]. Altium Ltd is a platinum-tier sponsor of SSI, having provided a number of licenses of Altium to SSI for the past two years.<br />
<br />
Altium is well documented, and many questions can be readily answered through online searching - links from [https://www.altium.com/documentation/altium-designer techdocs.altium.com] are the official online documentation, and are usually quite helpful. The {{slack-channel|altium}} Slack channel is also a valuable resource for problems the TechDocs don't have a solution for, for asking about best practices, and for discussing group issues (ie. maintaining the SSI Altium part libraries). The intent of this wiki category is to provide guidance on how to set Altium up for working with SSI, important elements of the SSI PCB workflow, and general notes on PCB design.<br />
<br />
;Getting Started<br />
: [[How to Install and Configure Altium]]<br />
: [https://techdocs.altium.com/display/ADOH/Tutorial+-+Getting+Started+with+PCB+Design Altium's "Getting Started" Tutorial]<br />
;Using Altium<br />
: [[SSI PCB Workflow]]<br />
: [[Working with PCB Libraries]]<br />
: [[Making Parts for PCB Libraries]]<br />
: [[Tribal Altium Knowledge]]<br />
: [[How to produce a good PCB]]<br />
;Getting PCBs Manufactured<br />
: [[Final PCB Error Checklist]]<br />
: [[Releasing a Board for Manufacture]]<br />
<br />
[[Category:Raccoonworks]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Quail&diff=4459Quail2022-04-10T02:09:45Z<p>Timv: </p>
<hr />
<div>[[File:Quail In Use.jpg|thumb|495x495px|Quail Wired for a Hot Fire, Winter 2022]]<br />
Quail is SSI's custom-build EGSE control system. It was designed in 2021 by Tim Vrakas. It borrows many components and design cues from [[ThunderGuppy]], and builds from a shared codebase.[[File:DSC3178.jpg|thumb|500px|A partially-assembled Quail PCB]]<br />
<br />
[[File:DSC3182.jpg|thumb|500px|A partially-assembled Quail PCB]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=File:Quail_In_Use.jpg&diff=4458File:Quail In Use.jpg2022-04-10T02:09:07Z<p>Timv: </p>
<hr />
<div>Quail Wired for a Hot Fire, Winter 2022</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Calendar&diff=4421Calendar2021-09-22T23:24:12Z<p>Timv: /* Editing Calendars */</p>
<hr />
<div>There once was a time when SSI was small enough for a single calendar, in the days before the rift. Now, there are 8, one for each team in SSI and a calendar devoted entirely to events (to rule them all and in the darkness bind them, so-to-speak). You can view them on the website, at https://stanfordssi.org/events, or add them to your personal calendar (iCal, Google Calendar, Outlook, etc.) with the .ics links provided here.<br />
<br />
[https://outlook.office365.com/owa/calendar/2011ea4cbe914f4989a4a2cd8137b3ad@stanford.edu/ca7bf600b2ff47278da7400e9415a7ce17005022238289599526/S-1-8-27252731-3175038331-2327072536-1781927242/reachcalendar.ics Events]<br />
<br />
'''Teams:'''<br />
<br />
[https://outlook.office365.com/owa/calendar/2011ea4cbe914f4989a4a2cd8137b3ad@stanford.edu/735e3e50b3b748f5a302964eb93becd37480700993753267689/S-1-8-27252731-3175038331-2327072536-1781927242/reachcalendar.ics Balloons]<br />
<br />
[https://outlook.office365.com/owa/calendar/2011ea4cbe914f4989a4a2cd8137b3ad@stanford.edu/3f988b5a3ad74181b5bfa595fb66d61d17439656288001954590/S-1-8-27252731-3175038331-2327072536-1781927242/reachcalendar.ics Biology]<br />
<br />
[https://outlook.office365.com/owa/calendar/2011ea4cbe914f4989a4a2cd8137b3ad@stanford.edu/c12e1fdd69484a04bf69992e946cea326770383156545951962/S-1-8-27252731-3175038331-2327072536-1781927242/reachcalendar.ics Mars]<br />
<br />
[https://outlook.office365.com/owa/calendar/2011ea4cbe914f4989a4a2cd8137b3ad@stanford.edu/a3ec72eeab12479c9e2f5285277b775c8758137961323794290/S-1-8-27252731-3175038331-2327072536-1781927242/reachcalendar.ics Operations]<br />
<br />
[https://outlook.office365.com/owa/calendar/2011ea4cbe914f4989a4a2cd8137b3ad@stanford.edu/550548b74b264837b7e2de6bbe0bd22016904862627457384984/S-1-8-27252731-3175038331-2327072536-1781927242/reachcalendar.ics Policy]<br />
<br />
[https://outlook.office365.com/owa/calendar/2011ea4cbe914f4989a4a2cd8137b3ad@stanford.edu/80d34ce3e0e748caae8e1300cb856a8613993566167978815063/S-1-8-27252731-3175038331-2327072536-1781927242/reachcalendar.ics Rockets]<br />
<br />
[https://outlook.office365.com/owa/calendar/2011ea4cbe914f4989a4a2cd8137b3ad@stanford.edu/6c9c351c7b514adb9286a6fbeb55227411172247604092841466/S-1-8-27252731-3175038331-2327072536-1781927242/reachcalendar.ics Satellites]<br />
<br />
==Subscribing to Calendars==<br />
Whatever calendar app you use will give you the option to subcribe to an outside calendar using an ics file. The links above take you to an ics file for each subteam's calendar. These calendars are hosted on Outlook for a host of bureacratic reasons that aren't very pertinent to this page. Below you can find guidelines on how to add that ics file to the calendar app of your choosing.<br />
===Google Calendar===<br />
# Copy the link to the calendar you want to subscribe to from above<br />
# Open up your Google Calendar and scroll over to the "Other calendars" tab[[File:Cal.PNG|frame|center|kinda weird how GCal just kinda runs my life now]]<br />
# Click the '+' icon and choose "From URL"[[File:Fromlink.PNG|frame|center|it's like i'm a real human for an hour and a half each weekend while putting in all my events]]<br />
# Paste the link to the calendar you chose in step 1 and click "Add Calendar"[[File:Addcal.png|frame|center|and then I'm a mindless drone doing whatever past me thought was best]]<br />
<br />
Sometimes this process doesn't work the first time, not really sure why. Don't panic just try it again.<br />
<br />
===Outlook Calendar===<br />
<br />
===Apple Calendar===<br />
<br />
===Calendly===<br />
<br />
<br />
==Editing Calendars==<br />
Only members of the Leadership Workgroup have access to edit Team Calendars. Follow [https://outlook.office.com/calendar/spaceinitiative@stanford.edu/ this link] to access the Calendars. Once you're there follow these simple steps<br />
<br />
# Select "New Event"[[File:Outlook Calendar.png|center|thumb]]<br />
# Choose the calendar you'd like to apply this event to. Your personal calendar is usually selected by default so this step is important.[[File:Select Calendar.png|center|thumb]]<br />
# Fill out the rest of your event's information and press "Save"<br />
<br />
Your event will automatically appear on Outlook but may take a while to populate on 3rd party apps.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Durand_269&diff=4412Durand 2692021-09-21T21:22:11Z<p>Timv: Created page with "Durand 269 is SSI's satellite communications terminal. There are several antennas on the roof of the building, and the wires from the antennas run down an air duct into room 2..."</p>
<hr />
<div>Durand 269 is SSI's satellite communications terminal. There are several antennas on the roof of the building, and the wires from the antennas run down an air duct into room 269. We have managed the room since early 2020.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Durand&diff=4411Durand2021-09-21T21:17:21Z<p>Timv: /* Mission Control */</p>
<hr />
<div>{{problems}}<br />
<br />
=[[Mission Control]]=<br />
<br />
Durand 390 used to be SSI's main workspace, until we moved to ESIII (in early 2017?)<br />
<br />
=[[Durand 354 | 354]]=<br />
<br />
=393=<br />
<br />
What it is useful for, policy on use<br />
<br />
=[[Durand 450 | 450]]=<br />
<br />
Here is how to get to it, how to reserve it<br />
<br />
=More useful links=<br />
<br />
[link to durand address page Here is the associated Stanford Page.]<br />
[link to campus map for durand Here is the associated campus-map.stanford.edu location.]<br />
<br />
[[Category:Operations]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Join_SSI&diff=4397How to Join SSI2021-09-02T04:16:50Z<p>Timv: /* Becoming an official member */</p>
<hr />
<div>Hello! There are a few things you need to do if you'd like to have full access to SSI's resources as a member. :-)<br />
<br />
=Becoming an official member=<br />
<br />
<!--# Fill out this 30-second form: [https://stanfordssi.org/q https://stanfordssi.org/q] (you should use your Stanford email if you have one)--><br />
# Join the SSI Slack [https://join.slack.com/t/ssi-teams/shared_invite/zt-gahlixrm-DyAtkyxTrUkt7K6HvPsxIA here].<br />
# Join the SSI mailing list [https://mailman.stanford.edu/mailman/listinfo/ssi_general here].<br />
# <s>Pay dues ($10 in exchange for a t-shirt) to our financial officers via Venmo [redacted]. For questions/details or if dues present a financial hardship, message the Co-Presidents or Financial Officers and we'll waive them. See [[Leadership]].</s> Canceled due to COVID!<br />
# In order to allow you access to our workspace, [[End Station III]], you need to do the following things:<br />
##Log into [https://axess.sahr.stanford.edu/ AXESS] and click "STARS" at the top<br />
##Using either the "All Learning" list, or the Search Catalog, complete the following three safety trainings: <br />
###'''EHS-4200: General Safety, Injury Prevention (IIPP), and Emergency Preparedness'''<br />
###'''EHS-1900: Chemical Safety for Laboratories'''<br />
###'''EHS-2200: Compressed Gas Safety'''<br />
###'''EHS-2470: COVID-19 Hygiene Best Practices'''<br />
##: If you've completed any of these previously for a laboratory class or other university purpose, you don't need to repeat them.<br />
##Attend a safety tour of ES3. Ask in {{slack-channel|welcome-to-ssi}} to coordinate a time.<br />
<!-- ##Complete the [https://forms.gle/vUqqcK1dCdgnhpFM8 Workspace Access Form] You go back and modify your answers, but won't get access until you've completed trainings and a tour. --><br />
# Take a look at [https://s3-us-west-1.amazonaws.com/habmc/assets/assi.pdf Approaching SSI], a handbook for new (and prospective) members!<br />
<br />
=Resources=<br />
<br />
== [https://ssi-teams.slack.com/ Slack] ==<br />
<br />
Slack is the lifeblood of SSI. It is a messaging client that allows everyone within SSI to communicate. There are general channels (like {{slack-channel|rockets}}), which allow us to push out general updates to everyone interested in the rockets team and direct messages which allows one to one or smaller group communication. Notifications are pushed directly to your phone/computer/anything that has internet so that way we can infringe on all of your free time!<br />
<br />
To see what a list of what channels there are to join, check out the [[Slack Directory]].<br />
<br />
[https://ssi-teams.slack.com/signup '''Join the SSI Slack here.''']<br />
<br />
==[https://stanfordssi.org/events]==<br />
Home to all of our events across all our teams.<br />
<br />
== [https://stanfordssi.org/leadership SSI Leadership] ==<br />
Find out who's in charge of things you're interested in and contact them! You can find all of us on Slack as well.<br />
<br />
==The Wiki==<br />
<br />
This wiki is a great place to find guides, overviews, and generally useful documentation on SSI projects. Many of the most current plans and docs are in the drive though.<br />
<br />
==[https://drive.google.com/drive/u/0/folders/0AOLUM8S1U9vqUk9PVA SSI Drive]==<br />
<br />
The drive contains a lot of important documentation for each team. We are trying to put more emphasis on using the wiki as a place for longer-term knowledge storage. If you don't have access, ask in {{slack-channel|SSIT}}<br />
<br />
== [https://stanfordssi.org/mailing-list The Mailing List] ==<br />
We use SSI General for organization-wide announcements, and it's a good way to hear about events that get lost in the depths of slack (Slack is still by and large the primary mode of communication for most of us though).<br />
<br />
== [[End Station III]] ==<br />
<br />
End Station III (also known as ES3) can be considered the temple to SSI’s religion, the hub, nerve center, or kernel of all project activity. End Station III houses work sessions, team meetings, and project storage. Keycard access is required to access the building.<br />
<br />
[[File:whereisesiii.png|thumb|left]]<br />
<br />
== [[Find a Project]] ==<br />
<br />
If you're ever feeling overwhelmed or lost about all the things going on in SSI, use this page to see what's what! Reach out to someone working on a project you're interested in and they'll help you get started. If you have questions or just want to chat, poke any leadership member.<br />
<br />
[[Category:Getting started]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Join_SSI&diff=4395How to Join SSI2021-08-10T07:18:41Z<p>Timv: remove workspace form</p>
<hr />
<div>Hello! There are a few things you need to do if you'd like to have full access to SSI's resources as a member. :-)<br />
<br />
=Becoming an official member=<br />
<br />
<!--# Fill out this 30-second form: [https://stanfordssi.org/q https://stanfordssi.org/q] (you should use your Stanford email if you have one)--><br />
# Join the SSI Slack [https://join.slack.com/t/ssi-teams/shared_invite/zt-gahlixrm-DyAtkyxTrUkt7K6HvPsxIA here].<br />
# Join the SSI mailing list [https://mailman.stanford.edu/mailman/listinfo/ssi_general here].<br />
# <s>Pay dues ($10 in exchange for a t-shirt) to our financial officers via Venmo [redacted]. For questions/details or if dues present a financial hardship, message the Co-Presidents or Financial Officers and we'll waive them. See [[Leadership]].</s> Canceled due to COVID!<br />
# In order to allow you access to our workspace, [[End Station III]], you need to do the following things:<br />
##Log into [https://axess.sahr.stanford.edu/ AXESS] and click "STARS" at the top<br />
##Using either the "All Learning" list, or the Search Catalog, complete the following three safety trainings: <br />
###'''EHS-4200: General Safety, Injury Prevention (IIPP), and Emergency Preparedness'''<br />
###'''EHS-1900: Chemical Safety for Laboratories'''<br />
###'''EHS-2200: Compressed Gas Safety'''<br />
###'''EHS-2470: COVID-19 Hygiene Best Practices'''<br />
##: If you've completed any of these previously for a laboratory class or other university purpose, you don't need to repeat them.<br />
##: For each training you complete, you'll get a 7-digit confirmation code.<br />
##Attend a safety tour of ES3. Ask in {{slack-channel|welcome-to-ssi}} to coordinate a time.<br />
<!-- ##Complete the [https://forms.gle/vUqqcK1dCdgnhpFM8 Workspace Access Form] You go back and modify your answers, but won't get access until you've completed trainings and a tour. --><br />
# Take a look at [https://s3-us-west-1.amazonaws.com/habmc/assets/assi.pdf Approaching SSI], a handbook for new (and prospective) members!<br />
<br />
=Resources=<br />
<br />
== [https://ssi-teams.slack.com/ Slack] ==<br />
<br />
Slack is the lifeblood of SSI. It is a messaging client that allows everyone within SSI to communicate. There are general channels (like {{slack-channel|rockets}}), which allow us to push out general updates to everyone interested in the rockets team and direct messages which allows one to one or smaller group communication. Notifications are pushed directly to your phone/computer/anything that has internet so that way we can infringe on all of your free time!<br />
<br />
To see what a list of what channels there are to join, check out the [[Slack Directory]].<br />
<br />
[https://ssi-teams.slack.com/signup '''Join the SSI Slack here.''']<br />
<br />
==[https://stanfordssi.org/events]==<br />
Home to all of our events across all our teams.<br />
<br />
== [https://stanfordssi.org/leadership SSI Leadership] ==<br />
Find out who's in charge of things you're interested in and contact them! You can find all of us on Slack as well.<br />
<br />
==The Wiki==<br />
<br />
This wiki is a great place to find guides, overviews, and generally useful documentation on SSI projects. Many of the most current plans and docs are in the drive though.<br />
<br />
==[https://drive.google.com/drive/u/0/folders/0AOLUM8S1U9vqUk9PVA SSI Drive]==<br />
<br />
The drive contains a lot of important documentation for each team. We are trying to put more emphasis on using the wiki as a place for longer-term knowledge storage. If you don't have access, ask in {{slack-channel|SSIT}}<br />
<br />
== [https://stanfordssi.org/mailing-list The Mailing List] ==<br />
We use SSI General for organization-wide announcements, and it's a good way to hear about events that get lost in the depths of slack (Slack is still by and large the primary mode of communication for most of us though).<br />
<br />
== [[End Station III]] ==<br />
<br />
End Station III (also known as ES3) can be considered the temple to SSI’s religion, the hub, nerve center, or kernel of all project activity. End Station III houses work sessions, team meetings, and project storage. Keycard access is required to access the building.<br />
<br />
[[File:whereisesiii.png|thumb|left]]<br />
<br />
== [[Find a Project]] ==<br />
<br />
If you're ever feeling overwhelmed or lost about all the things going on in SSI, use this page to see what's what! Reach out to someone working on a project you're interested in and they'll help you get started. If you have questions or just want to chat, poke any leadership member.<br />
<br />
[[Category:Getting started]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Join_SSI&diff=4394How to Join SSI2021-08-10T07:17:26Z<p>Timv: remove link to dead form</p>
<hr />
<div>Hello! There are a few things you need to do if you'd like to have full access to SSI's resources as a member. :-)<br />
<br />
=Becoming an official member=<br />
<br />
<!--# Fill out this 30-second form: [https://stanfordssi.org/q https://stanfordssi.org/q] (you should use your Stanford email if you have one)--><br />
# Join the SSI Slack [https://join.slack.com/t/ssi-teams/shared_invite/zt-gahlixrm-DyAtkyxTrUkt7K6HvPsxIA here].<br />
# Join the SSI mailing list [https://mailman.stanford.edu/mailman/listinfo/ssi_general here].<br />
# <s>Pay dues ($10 in exchange for a t-shirt) to our financial officers via Venmo [redacted]. For questions/details or if dues present a financial hardship, message the Co-Presidents or Financial Officers and we'll waive them. See [[Leadership]].</s> Canceled due to COVID!<br />
# In order to allow you access to our workspace, [[End Station III]], you need to do the following things:<br />
##Log into [https://axess.sahr.stanford.edu/ AXESS] and click "STARS" at the top<br />
##Using either the "All Learning" list, or the Search Catalog, complete the following three safety trainings: <br />
###'''EHS-4200: General Safety, Injury Prevention (IIPP), and Emergency Preparedness'''<br />
###'''EHS-1900: Chemical Safety for Laboratories'''<br />
###'''EHS-2200: Compressed Gas Safety'''<br />
###'''EHS-2470: COVID-19 Hygiene Best Practices'''<br />
##: If you've completed any of these previously for a laboratory class or other university purpose, you don't need to repeat them.<br />
##: For each training you complete, you'll get a 7-digit confirmation code.<br />
##Attend a safety tour of ES3. Ask in {{slack-channel|welcome-to-ssi}} to coordinate a time.<br />
##Complete the [https://forms.gle/vUqqcK1dCdgnhpFM8 Workspace Access Form] You go back and modify your answers, but won't get access until you've completed trainings and a tour.<br />
# Take a look at [https://s3-us-west-1.amazonaws.com/habmc/assets/assi.pdf Approaching SSI], a handbook for new (and prospective) members!<br />
<br />
=Resources=<br />
<br />
== [https://ssi-teams.slack.com/ Slack] ==<br />
<br />
Slack is the lifeblood of SSI. It is a messaging client that allows everyone within SSI to communicate. There are general channels (like {{slack-channel|rockets}}), which allow us to push out general updates to everyone interested in the rockets team and direct messages which allows one to one or smaller group communication. Notifications are pushed directly to your phone/computer/anything that has internet so that way we can infringe on all of your free time!<br />
<br />
To see what a list of what channels there are to join, check out the [[Slack Directory]].<br />
<br />
[https://ssi-teams.slack.com/signup '''Join the SSI Slack here.''']<br />
<br />
==[https://stanfordssi.org/events]==<br />
Home to all of our events across all our teams.<br />
<br />
== [https://stanfordssi.org/leadership SSI Leadership] ==<br />
Find out who's in charge of things you're interested in and contact them! You can find all of us on Slack as well.<br />
<br />
==The Wiki==<br />
<br />
This wiki is a great place to find guides, overviews, and generally useful documentation on SSI projects. Many of the most current plans and docs are in the drive though.<br />
<br />
==[https://drive.google.com/drive/u/0/folders/0AOLUM8S1U9vqUk9PVA SSI Drive]==<br />
<br />
The drive contains a lot of important documentation for each team. We are trying to put more emphasis on using the wiki as a place for longer-term knowledge storage. If you don't have access, ask in {{slack-channel|SSIT}}<br />
<br />
== [https://stanfordssi.org/mailing-list The Mailing List] ==<br />
We use SSI General for organization-wide announcements, and it's a good way to hear about events that get lost in the depths of slack (Slack is still by and large the primary mode of communication for most of us though).<br />
<br />
== [[End Station III]] ==<br />
<br />
End Station III (also known as ES3) can be considered the temple to SSI’s religion, the hub, nerve center, or kernel of all project activity. End Station III houses work sessions, team meetings, and project storage. Keycard access is required to access the building.<br />
<br />
[[File:whereisesiii.png|thumb|left]]<br />
<br />
== [[Find a Project]] ==<br />
<br />
If you're ever feeling overwhelmed or lost about all the things going on in SSI, use this page to see what's what! Reach out to someone working on a project you're interested in and they'll help you get started. If you have questions or just want to chat, poke any leadership member.<br />
<br />
[[Category:Getting started]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=ThunderGuppy&diff=4393ThunderGuppy2021-07-19T03:56:15Z<p>Timv: Undo revision 4392 by Timv (talk)</p>
<hr />
<div>ThunderGuppy is the third generation of SSI rocket flight computer. It's hardware was developed in 2020 by Tim Vrakas. ThunderGuppy followed the SkyBass and [[SpaceSalmon]], making the naming scheme O-Fish-ial. ThunderGuppy was the smallest generation of the family to date, and was designed to fit as a standalone module into a standard 2" airframe, much like the Stratrologger and Raven COTS Altimeters.<br />
<br />
[[File:Guppy Front.jpg|thumb|500px|Front of Thunderguppy v3.1]]<br />
<br />
[[File:Guppy Image Back.jpg|thumb|500px|Back of Thunderguppy v3.1]]<br />
<br />
=== Hardware Features ===<br />
From the start, ThunderGuppy was designed to be mostly compatible with the earlier SpaceSalmon. Aside from the major change to form factor, Guppy introduced the following changes:<br />
<br />
*Integrated [[S6C]] Radio and GPS hardware, in place of an add-on RF carrier module needed for SpaceSalmon.<br />
*Two FET-based squib drivers, in place of the MC33797 4-channel squib driver IC. These are not designed to safely control high-risk initiators, but decrease complexity.<br />
*A single 18650 Li-Ion cell. This was needed to satisfy the form factor requirement.<br />
*Dual accelerometer banks, each with high and low range 3-axis sensors. This allows emulation of a high-range gyroscope by indirect measurement of centripetal acceleration.<br />
<br />
==== Brains: ====<br />
*SAME51J20A (TQFP 64) CPU<br />
<br />
==== Sensors: ====<br />
*2x BMI088 6 Axis Accel/Gyro (up to 24G, 2000deg/s)<br />
*2x BMP388 Pressure/Temperature<br />
*2x ADXL375 3 Axis Accel (up to 200G)<br />
<br />
==== Power: ====<br />
*18650 Li-Ion cell<br />
*3.3v buck-boost converter, over 90% efficient<br />
<br />
==== Misc: ====<br />
*Micro SD card slot<br />
*PFET squib driver, for E-Match pyrotechnic charges<br />
*CAN Transceiver (not implemented)<br />
*RS-485 Transceiver (not implemented) <br />
<br />
The schematics and board designs are [https://github.com/stanford-ssi/ThunderGuppy-EE/ avialable here]<br />
<br />
=== Software ===<br />
ThunderGuppy Inherits its codebase from [[SpaceSalmon]], with several modifications to support Guppy specific hardware features. The code lives here: [https://github.com/stanford-ssi/SpaceSalmon SpaceSalmon] The code can be built by selecting the `guppy` target in PlatformIO. An overview of the codebase was presented within SSI, using the [https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit?usp=sharing slides here]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=ThunderGuppy&diff=4392ThunderGuppy2021-07-19T03:55:41Z<p>Timv: just testing VE</p>
<hr />
<div>ThunderGuppy is the third generation of SSI rocket flight computer. It's hardware was developed in 2020 by Tim Vrakas. ThunderGuppy followed the SkyBass and [[SpaceSalmon]], making the naming scheme O-Fish-ial. ThunderGuppy was the smallest generation of the family to date, and was designed to fit as a standalone module into a standard 2" airframe, much like the Stratrologger and Raven COTS Altimeters.<br />
<br />
[[File:Guppy Front.jpg|thumb|500px|Front of Thunderguppy v3.1]]<br />
<br />
[[File:Guppy Image Back.jpg|thumb|500px|Back of Thunderguppy v3.1]]<br />
<br />
=== Hardware Features ===<br />
From the start, ThunderGuppy was designed to be mostly compatible with the earlier SpaceSalmon. Aside from the major change to form factor, Guppy introduced the following changes:<br />
<br />
*Integrated [[S6C]] Radio and GPS hardware, in place of an add-on RF carrier module needed for SpaceSalmon.<br />
*Two FET-based squib drivers, in place of the MC33797 4-channel squib driver IC. These are not designed to safely control high-risk initiators, but decrease complexity.<br />
*A single 18650 Li-Ion cell. This was needed to satisfy the form factor requirement.<br />
*Dual accelerometer banks, each with high and low range 3-axis sensors. This allows emulation of a high-range gyroscope by indirect measurement of centripetal acceleration.<br />
<br />
==== Brains: ====<br />
*SAME51J20A (TQFP 64) CPU<br />
<br />
==== Sensors: ====<br />
*2x BMI088 6 Axis Accel/Gyro (up to 24G, 2000deg/s) test!<br />
*2x BMP388 Pressure/Temperature<br />
*2x ADXL375 3 Axis Accel (up to 200G)<br />
<br />
==== Power: ====<br />
*18650 Li-Ion cell<br />
*3.3v buck-boost converter, over 90% efficient<br />
<br />
==== Misc: ====<br />
*Micro SD card slot<br />
*PFET squib driver, for E-Match pyrotechnic charges<br />
*CAN Transceiver (not implemented)<br />
*RS-485 Transceiver (not implemented) <br />
<br />
The schematics and board designs are [https://github.com/stanford-ssi/ThunderGuppy-EE/ avialable here]<br />
<br />
=== Software ===<br />
ThunderGuppy Inherits its codebase from [[SpaceSalmon]], with several modifications to support Guppy specific hardware features. The code lives here: [https://github.com/stanford-ssi/SpaceSalmon SpaceSalmon] The code can be built by selecting the `guppy` target in PlatformIO. An overview of the codebase was presented within SSI, using the [https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit?usp=sharing slides here]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Quail&diff=4388Quail2021-07-14T00:03:26Z<p>Timv: </p>
<hr />
<div>Quail is SSI's custom-build EGSE control system. It was designed in 2021 by Tim Vrakas. It borrows many components and design cues from [[ThunderGuppy]], and builds from a shared codebase.<br />
<br />
At present, two development units have been assembled, and preliminary software development is underway.<br />
<br />
TODO: Everything<br />
<br />
<br />
[[File:DSC3178.jpg|thumb|500px|A partially-assembled Quail PCB]]<br />
<br />
[[File:DSC3182.jpg|thumb|500px|A partially-assembled Quail PCB]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=ThunderGuppy&diff=4387ThunderGuppy2021-07-13T23:58:28Z<p>Timv: </p>
<hr />
<div>ThunderGuppy is the third generation of SSI rocket flight computer. It's hardware was developed in 2020 by Tim Vrakas. ThunderGuppy followed the SkyBass and [[SpaceSalmon]], making the naming scheme O-Fish-ial. ThunderGuppy was the smallest generation of the family to date, and was designed to fit as a standalone module into a standard 2" airframe, much like the Stratrologger and Raven COTS Altimeters.<br />
<br />
[[File:Guppy Front.jpg|thumb|500px|Front of Thunderguppy v3.1]]<br />
<br />
[[File:Guppy Image Back.jpg|thumb|500px|Back of Thunderguppy v3.1]]<br />
<br />
=== Hardware Features ===<br />
From the start, ThunderGuppy was designed to be mostly compatible with the earlier SpaceSalmon. Aside from the major change to form factor, Guppy introduced the following changes:<br />
<br />
*Integrated [[S6C]] Radio and GPS hardware, in place of an add-on RF carrier module needed for SpaceSalmon.<br />
*Two FET-based squib drivers, in place of the MC33797 4-channel squib driver IC. These are not designed to safely control high-risk initiators, but decrease complexity.<br />
*A single 18650 Li-Ion cell. This was needed to satisfy the form factor requirement.<br />
*Dual accelerometer banks, each with high and low range 3-axis sensors. This allows emulation of a high-range gyroscope by indirect measurement of centripetal acceleration.<br />
<br />
==== Brains: ====<br />
*SAME51J20A (TQFP 64) CPU<br />
<br />
==== Sensors: ====<br />
*2x BMI088 6 Axis Accel/Gyro (up to 24G, 2000deg/s)<br />
*2x BMP388 Pressure/Temperature<br />
*2x ADXL375 3 Axis Accel (up to 200G)<br />
<br />
==== Power: ====<br />
*18650 Li-Ion cell<br />
*3.3v buck-boost converter, over 90% efficient<br />
<br />
==== Misc: ====<br />
*Micro SD card slot<br />
*PFET squib driver, for E-Match pyrotechnic charges<br />
*CAN Transceiver (not implemented)<br />
*RS-485 Transceiver (not implemented) <br />
<br />
The schematics and board designs are [https://github.com/stanford-ssi/ThunderGuppy-EE/ avialable here]<br />
<br />
=== Software ===<br />
ThunderGuppy Inherits its codebase from [[SpaceSalmon]], with several modifications to support Guppy specific hardware features. The code lives here: [https://github.com/stanford-ssi/SpaceSalmon SpaceSalmon] The code can be built by selecting the `guppy` target in PlatformIO. An overview of the codebase was presented within SSI, using the [https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit?usp=sharing slides here]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=ThunderGuppy&diff=4381ThunderGuppy2021-07-02T06:07:52Z<p>Timv: </p>
<hr />
<div>ThunderGuppy is the third generation of SSI rocket flight computer. It's hardware was developed in 2019 by Tim Vrakas. ThunderGuppy followed the SkyBass and [[SpaceSalmon]], making the naming scheme O-Fish-ial. ThunderGuppy was the smallest generation of the family to date, and was designed to fit as a standalone module into a standard 2" airframe, much like the Stratrologger and Raven COTS Altimeters.<br />
<br />
[[File:Guppy Front.jpg|thumb|500px|Front of Thunderguppy v3.1]]<br />
<br />
[[File:Guppy Image Back.jpg|thumb|500px|Back of Thunderguppy v3.1]]<br />
<br />
=== Hardware Features ===<br />
From the start, ThunderGuppy was designed to be mostly compatible with the earlier SpaceSalmon. Aside from the major change to form factor, Guppy introduced the following changes:<br />
<br />
*Integrated [[S6C]] Radio and GPS hardware, in place of an add-on RF carrier module needed for SpaceSalmon.<br />
*Two FET-based squib drivers, in place of the MC33797 4-channel squib driver IC. These are not designed to safely control high-risk initiators, but decrease complexity.<br />
*A single 18650 Li-Ion cell. This was needed to satisfy the form factor requirement.<br />
*Dual accelerometer banks, each with high and low range 3-axis sensors. This allows emulation of a high-range gyroscope by indirect measurement of centripetal acceleration.<br />
<br />
==== Brains: ====<br />
*SAME51J20A (TQFP 64) CPU<br />
<br />
==== Sensors: ====<br />
*2x BMI088 6 Axis Accel/Gyro (up to 24G, 2000deg/s)<br />
*2x BMP388 Pressure/Temperature<br />
*2x ADXL375 3 Axis Accel (up to 200G)<br />
<br />
==== Power: ====<br />
*18650 Li-Ion cell<br />
*3.3v buck-boost converter, over 90% efficient<br />
<br />
==== Misc: ====<br />
*Micro SD card slot<br />
*PFET squib driver, for E-Match pyrotechnic charges<br />
*CAN Transceiver (not implemented)<br />
*RS-485 Transceiver (not implemented) <br />
<br />
The schematics and board designs are [https://github.com/stanford-ssi/ThunderGuppy-EE/ avialable here]<br />
<br />
=== Software ===<br />
ThunderGuppy Inherits its codebase from [[SpaceSalmon]], with several modifications to support Guppy specific hardware features. The code lives here: [https://github.com/stanford-ssi/SpaceSalmon SpaceSalmon] The code can be built by selecting the `guppy` target in PlatformIO. An overview of the codebase was presented within SSI, using the [https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit?usp=sharing slides here]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Space_Salmon&diff=4380Space Salmon2021-07-02T06:01:42Z<p>Timv: Timv moved page Space Salmon to SpaceSalmon: no space</p>
<hr />
<div>#REDIRECT [[SpaceSalmon]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SpaceSalmon&diff=4379SpaceSalmon2021-07-02T06:01:42Z<p>Timv: Timv moved page Space Salmon to SpaceSalmon: no space</p>
<hr />
<div>Space Salmon is the second generation (by some counting) rocket flight computer developed by SSI. It was preceded by the [[Skybass]] flight computer. In 2019, it gained a fishy younger brother, [[ThunderGuppy]].<br />
<br />
SpaceSalmon built on the previous generation SkyBass flight computer. Unlike SkyBass, which was a rectangular PCB that mounted vertically I'm the vehicle, Space Salmon was built onto a circular disk-shaped PCB, which fit into the rocket horizontally. This disk stacking arrangement (known coloqially <br />
as "Stack Boi") was intended to compactify the avionics and reduce mechanical weight.<br />
<br />
The avionics stack used two 12-pin headers for electrical connection between boards. The A-Stack carried power, arming, and data bus lines, while the B-Stack carried charge activation lines downward to the bulkhead.<br />
<br />
[https://github.com/stanford-ssi/SpaceSalmon The Code Lives on Github]<br />
<br />
[https://github.com/stanford-ssi/SpaceSalmon/blob/master/doc/SpaceSalmon_2.0.pdf The Schematics and Layout are Here]<br />
<br />
=== Hardware Features ===<br />
==== Brains: ====<br />
*SAME51J20A (TQFP 64) CPU<br />
*ESP8266 WiFi module<br />
<br />
==== Sensors: ====<br />
*BMI088 6 Axis Accel/Gyro (up to 24G, 2000deg/s)<br />
*BMP388 Pressure/Temperature<br />
*ADXL375 3 Axis Accel (up to 200G)<br />
<br />
==== Power: ====<br />
*2x 18650 Li-Ion cells<br />
*3.3v and 5.0v buck-boost converters, over 90% efficient<br />
<br />
==== Misc: ====<br />
*Micro SD card slot<br />
*MC33797 automotive squib driver, for ematch control<br />
*Dual 5V I2C bus, for communication between boards in stack<br />
<br />
<br />
[[File:Salmon.PNG|500px]]<br />
<br />
[[File:SS_top.jpg|500px]]<br />
[[File:SS_bottom.jpg|500px]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=ThunderGuppy&diff=4378ThunderGuppy2021-07-01T08:08:12Z<p>Timv: </p>
<hr />
<div>ThunderGuppy is the third generation of SSI rocket flight computer. It's hardware was developed in 2019 by Tim Vrakas. ThunderGuppy followed the SkyBass and SpaceSalmon, making the naming scheme O-Fish-ial. ThunderGuppy was the smallest generation of the family to date, and was designed to fit as a standalone module into a standard 2" airframe, much like the Stratrologger and Raven COTS Altimeters.<br />
<br />
[[File:Guppy Front.jpg|thumb|500px|Front of Thunderguppy v3.1]]<br />
<br />
[[File:Guppy Image Back.jpg|thumb|500px|Back of Thunderguppy v3.1]]<br />
<br />
=== Hardware Features ===<br />
From the start, ThunderGuppy was designed to be mostly compatible with the earlier SpaceSalmon. Aside from the major change to form factor, Guppy introduced the following changes:<br />
<br />
*Integrated [[S6C]] Radio and GPS hardware, in place of an add-on RF carrier module needed for SpaceSalmon.<br />
*Two FET-based squib drivers, in place of the MC33797 4-channel squib driver IC. These are not designed to safely control high-risk initiators, but decrease complexity.<br />
*A single 18650 Li-Ion cell. This was needed to satisfy the form factor requirement.<br />
*Dual accelerometer banks, each with high and low range 3-axis sensors. This allows emulation of a high-range gyroscope by indirect measurement of centripetal acceleration.<br />
<br />
The schematics are [https://github.com/stanford-ssi/SpaceSalmon/blob/master/doc/ThunderGuppy_3.0.pdf avialable here]<br />
<br />
=== Software ===<br />
ThunderGuppy Inherits its codebase from [[SpaceSalmon]], with several modifications to support Guppy specific hardware features. The code lives here: [https://github.com/stanford-ssi/SpaceSalmon SpaceSalmon] The code can be built by selecting the `guppy` target in PlatformIO. An overview of the codebase was presented within SSI, using the [https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit?usp=sharing slides here]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=ThunderGuppy&diff=4377ThunderGuppy2021-07-01T07:56:22Z<p>Timv: </p>
<hr />
<div>ThunderGuppy is the third generation of SSI rocket flight computer. It's hardware was developed in 2019 by Tim Vrakas. ThunderGuppy followed the SkyBass and SpaceSalmon, making the naming scheme O-Fish-ial. ThunderGuppy was the smallest generation of the family to date, and was designed to fit as a standalone module into a standard 2" airframe, much like the Stratrologger and Raven COTS Altimeters.<br />
<br />
[[File:Guppy Front.jpg|thumb|500px|Front of Thunderguppy v3.1]]<br />
<br />
[[File:Guppy Image Back.jpg|thumb|500px|Back of Thunderguppy v3.1]]<br />
<br />
=== Hardware Features ===<br />
From the start, ThunderGuppy was designed to be mostly compatible with the earlier SpaceSalmon. Aside from the major change to form factor, Guppy introduced the following changes:<br />
<br />
*Integrated [[S6C]] Radio and GPS hardware, in place of an add-on RF carrier module needed for SpaceSalmon.<br />
*Two FET-based squib drivers, in place of the MC33797 4-channel squib driver IC. These are not designed to safely control high-risk initiators, but decrease complexity.<br />
*A single 18650 Li-Ion cell. This was needed to satisfy the form factor requirement.<br />
*Dual accelerometer banks, each with high and low range 3-axis sensors. This allows emulation of a high-range gyroscope by indirect measurement of centripetal acceleration.<br />
<br />
The schematics are [https://github.com/stanford-ssi/SpaceSalmon/blob/master/doc/ThunderGuppy_3.0.pdf avialable here]<br />
<br />
=== Software ===<br />
ThunderGuppy Inherits its codebase from [[SpaceSalmon]], with several modifications to support Guppy specific hardware features. The code lives here: [https://github.com/stanford-ssi/SpaceSalmon SpaceSalmon] The code can be build by selecting the `guppy` target in PlatformIO. An overview of the codebase was presented within SSI, using the [https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit?usp=sharing slides here]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Quail&diff=4376Quail2021-07-01T07:55:00Z<p>Timv: </p>
<hr />
<div>Quail is SSI's custom-build EGSE control system.<br />
<br />
TODO: Everything<br />
<br />
<br />
[[File:DSC3178.jpg|thumb|500px|A partially-assembled Quail PCB]]<br />
<br />
[[File:DSC3182.jpg|thumb|500px|A partially-assembled Quail PCB]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=File:DSC3178.jpg&diff=4375File:DSC3178.jpg2021-07-01T07:52:13Z<p>Timv: </p>
<hr />
<div></div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=File:DSC3182.jpg&diff=4374File:DSC3182.jpg2021-07-01T07:52:01Z<p>Timv: </p>
<hr />
<div></div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=File:Guppy_Front.jpg&diff=4373File:Guppy Front.jpg2021-07-01T07:51:35Z<p>Timv: </p>
<hr />
<div></div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=File:Guppy_Image_Back.jpg&diff=4372File:Guppy Image Back.jpg2021-07-01T07:50:49Z<p>Timv: </p>
<hr />
<div></div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4369SVN2021-05-16T01:15:20Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like Photoshop and InDesign<br />
* A few CAD and simulation projects<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: GrabCAD, Altium365, and Github.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, SVN does not have "branches". All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions.<br />
<br />
<br />
===Getting Access to the SVN===<br />
Getting access is now easier than ever. Head on over to [https://ssi-svn.stanford.edu/ ssi-svn.stanford.edu]. You'll need to login with your SUID. The page will try to find any saved passwords attached to your username. If none are found, just click the link to generate a new password. From then on, the generated password will be displayed on that page. The displayed username and password is what you'll use to connect to SVN. You can write it down somewhere, or just come back to that page every time you need it.<br />
<br />
===Exploring an SVN Repo===<br />
The [https://ssi-svn.stanford.edu/ ssi-svn.stanford.edu] page should now show a list of all the SSI SVN Repositories. Try clicking on the first, "altium-core". It will prompt for a username and password, see above. The page should now show the files in the root of the repository. Click on "iwuzhere.txt." It's a list of everyone who has followed this guide! Lets get you added to the list.<br />
<br />
===Checking out a Repo===<br />
TODO:<br />
* Install TourtiseSVN<br />
* Checkout<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message in Slack to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of SVN users!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4368SVN2021-05-16T01:14:47Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like Photoshop and InDesign<br />
* A few CAD and simulation projects<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: GrabCAD, Altium365, and Github.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, SVN does not have "branches". All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions.<br />
<br />
<br />
===Getting Access to the SVN===<br />
Getting access is now easier than ever. Head on over to [ ssi-svn.stanford.edu https://ssi-svn.stanford.edu/ ]. You'll need to login with your SUID. The page will try to find any saved passwords attached to your username. If none are found, just click the link to generate a new password. From then on, the generated password will be displayed on that page. The displayed username and password is what you'll use to connect to SVN. You can write it down somewhere, or just come back to that page every time you need it.<br />
<br />
===Exploring an SVN Repo===<br />
The [ ssi-svn.stanford.edu https://ssi-svn.stanford.edu/ ] page should now show a list of all the SSI SVN Repositories. Try clicking on the first, "altium-core". It will prompt for a username and password, see above. The page should now show the files in the root of the repository. Click on "iwuzhere.txt." It's a list of everyone who has followed this guide! Lets get you added to the list.<br />
<br />
===Checking out a Repo===<br />
TODO:<br />
* Install TourtiseSVN<br />
* Checkout<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message in Slack to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of SVN users!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4367SVN2021-05-16T01:14:27Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like Photoshop and InDesign<br />
* A few CAD and simulation projects<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: GrabCAD, Altium365, and Github.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, SVN does not have "branches". All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions.<br />
<br />
<br />
===Getting Access to the SVN===<br />
Getting access is now easier than ever. Head on over to [ssi-svn.stanford.edu https://ssi-svn.stanford.edu/]. You'll need to login with your SUID. The page will try to find any saved passwords attached to your username. If none are found, just click the link to generate a new password. From then on, the generated password will be displayed on that page. The displayed username and password is what you'll use to connect to SVN. You can write it down somewhere, or just come back to that page every time you need it.<br />
<br />
===Exploring an SVN Repo===<br />
The [ssi-svn.stanford.edu https://ssi-svn.stanford.edu/] page should now show a list of all the SSI SVN Repositories. Try clicking on the first, "altium-core". It will prompt for a username and password, see above. The page should now show the files in the root of the repository. Click on "iwuzhere.txt." It's a list of everyone who has followed this guide! Lets get you added to the list.<br />
<br />
===Checking out a Repo===<br />
TODO:<br />
* Install TourtiseSVN<br />
* Checkout<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message in Slack to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of SVN users!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4366SVN2021-05-16T01:01:04Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like Photoshop and InDesign<br />
* A few CAD and simulation projects<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: GrabCAD, Altium365, and Github.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, SVN does not have "branches". All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message in Slack to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of SVN users!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4365SVN2021-05-16T00:55:26Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like Photoshop and InDesign<br />
* A few CAD and simulation projects<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: GrabCAD, Altium365, and Github.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, SVN does not have "branches". All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message the {{slack-channel|altium}} to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of electrical engineers!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4364SVN2021-05-16T00:55:06Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like and Photoshop, InDesign<br />
* A few CAD and simulation projects<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: GrabCAD, Altium365, and Github.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, SVN does not have "branches". All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message the {{slack-channel|altium}} to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of electrical engineers!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4363SVN2021-05-16T00:49:30Z<p>Timv: </p>
<hr />
<div>SVN is a version control tool used by SSI to store and synchronize files. SVN is similar to Git, but is better for large non-text files, while Git is better for text and code. SVN is like the grandfather of Google Drive. Despite it's age, SVN is still heavily used in industry and engineering startups.<br />
Within SSI, SVN is mainly used for:<br />
<br />
* Large graphics files, like and Photoshop, InDesign<br />
* A few CAD and simulation projects<br />
<br />
SSI used to store many more things on SVN, namely PCB designs, Solidworks CAD, and Altium Libraries. Over time, these things migrated to their own platforms: GrabCAD, Altium365, and Github.<br />
<br />
===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, "branches" do not work in SVN. All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions. You can see if there are new SVN commits to download in the {{slack-channel|altium}} channel, where notices of new commits are automatically posted.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message the {{slack-channel|altium}} to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of electrical engineers!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=SVN&diff=4362SVN2021-05-16T00:16:37Z<p>Timv: </p>
<hr />
<div>===Background===<br />
An SVN repository is a series of "snapshots" of a folder over time. Each snapshot is called a '''commit''', and represents the state of the folder and some or all of its contents at a moment in time. Commits are created by users (aka you) when they want to preserve a version of the files they are working on - this typically happens after making a group of changes to files stored in the SVN repository (ie. after adding a part to a library or making progress on a circuit schematic or circuit board).<br />
<br />
Any file can be stored in an SVN repository, and the repository can detect any change to any file. With TortoiseSVN installed, tracked files in an SVN repository which have been edited since the last commit will have a small red exclamation point displayed on their icon when viewed in a folder. New files created in your Altium SVN folder will not automatically be tracked - this is intentional, and a good thing.<br />
<br />
Unlike other version control systems, "branches" do not work in SVN. All commits in an SVN repository contain changes that directly follow the commit before them, and can have only a single commit that follows after them. Because of this, SVN users can '''lock''' files and folders, becoming the only person allowed to commit changes to that file or folder. Other users can still edit the files, but their changes cannot be committed, making those edits futile. TortoiseSVN shows when a file has been locked by someone else, to help keep you from trying to edit something that somebody else is working on. Locking exists so that two users cannot try to commit different versions of the same file - someone who opens a file and knows they will commit changes to it soon can lock the file, marking the fact that they started editing the file first and so should be allowed to complete and commit their changes before anyone else. Locks can be taken away from someone who locks a file for an extended period of time, preventing abuse of this feature.<br />
<br />
Changes other people make to files stored in the SVN must be downloaded manually, through the SVN '''update''' command. Updating replaces any files in your SVN folder that have been changed since the last time you ran SVN update with their most recently committed versions. You can see if there are new SVN commits to download in the {{slack-channel|altium}} channel, where notices of new commits are automatically posted.<br />
<br />
===Your First Commit===<br />
[[File:MakingACommit.png|thumb|200px|right|You will likely only have iwuzhere.txt in your list of files to commit, but if you have others, leave them unchecked.]]<br />
In your SSI Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Update" and click it. This will quickly bring all of your files up to date. Next, in your Altium SVN folder, find "iwuzhere.txt." This file is tracked by the SVN repository, and should have a small green check mark on it. Right click on the file, mouse down to "TortoiseSVN," and then click "Get lock..." Click OK on any windows that appear. A small lock icon should appear on the file - you now have the lock on this file. <br />
<br />
If the file was already locked by someone else, you will not be able to lock it, and should message the {{slack-channel|altium}} to ask to lock it. If you do not receive a response within 10 minutes, lock the file as described above, and check "Steal the locks" to take the lock from whomever had it previously. Slack is how locking conflicts like this (which are rare) are resolved, and 10 minutes is a short period of time to wait for a response, but this file is simple and very little work is lost from stealing the lock on it. If someone else commits a new version of the file, run another SVN update, and then you should be able to lock it.<br />
<br />
Open the file, and add your name and the current date, matching the format of the names already there. ''You're now a part of SSI's corps of electrical engineers!''<br />
<br />
To finish, go back to your Altium SVN folder, right click while ''not'' on any file or folder, and mouse down to "SVN Commit..." and click it. A dialog box will come up (see right), at the bottom of which should be a list of files. This shows files you have changed since the last time you ran SVN update, and ''should'' just have iwuzhere.txt listed. Make sure you have it checked. In the text box at the top of the window, you will need to write a '''commit message''', a brief description of what changes you're committing. This message will appear in Slack and must be at least 20 characters (but shouldn't be longer than a single sentence). Once you've written it, click okay, and wait for a message to appear in Slack.</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=How_to_Join_SSI&diff=4361How to Join SSI2021-05-06T10:18:18Z<p>Timv: </p>
<hr />
<div>Hello! There are a few things you need to do if you'd like to have full access to SSI's resources as a member.<br />
<br />
=Becoming an official member=<br />
<br />
# Fill out this 30-second form: [https://stanfordssi.org/q https://stanfordssi.org/q] (you should use your Stanford email if you have one)<br />
# Join the SSI Slack [https://join.slack.com/t/ssi-teams/shared_invite/zt-gahlixrm-DyAtkyxTrUkt7K6HvPsxIA here].<br />
# Join the SSI mailing list [https://mailman.stanford.edu/mailman/listinfo/ssi_general here].<br />
# <s>Pay dues ($10 in exchange for a t-shirt) to our financial officers via Venmo [redacted]. For questions/details or if dues present a financial hardship, message the Co-Presidents or Financial Officers and we'll waive them. See [[Leadership]].</s> Canceled due to COVID!<br />
# In order to allow you access to our workspace, [[End Station III]], you need to do the following things:<br />
##Log into [https://axess.sahr.stanford.edu/ AXESS] and click "STARS" at the top<br />
##Using either the "All Learning" list, or the Search Catalog, complete the following three safety trainings: <br />
###'''EHS-4200: General Safety, Injury Prevention (IIPP), and Emergency Preparedness'''<br />
###'''EHS-1900: Chemical Safety for Laboratories'''<br />
###'''EHS-2200: Compressed Gas Safety'''<br />
###'''EHS-2470: COVID-19 Hygiene Best Practices'''<br />
##: If you've completed any of these previously for a laboratory class or other university purpose, you don't need to repeat them.<br />
##: For each training you complete, you'll get a 7-digit confirmation code.<br />
##Attend a safety tour of ES3. Ask in {{slack-channel|welcome-to-ssi}} to coordinate a time.<br />
##Complete the [https://forms.gle/vUqqcK1dCdgnhpFM8 Workspace Access Form] You go back and modify your answers, but won't get access until you've completed trainings and a tour.<br />
# Take a look at [https://s3-us-west-1.amazonaws.com/habmc/assets/assi.pdf Approaching SSI], a handbook for new (and prospective) members!<br />
<br />
=Resources=<br />
<br />
== [https://ssi-teams.slack.com/ Slack] ==<br />
<br />
Slack is the lifeblood of SSI. It is a messaging client that allows everyone within SSI to communicate. There are general channels (like {{slack-channel|rockets}}), which allow us to push out general updates to everyone interested in the rockets team and direct messages which allows one to one or smaller group communication. Notifications are pushed directly to your phone/computer/anything that has internet so that way we can infringe on all of your free time!<br />
<br />
To see what a list of what channels there are to join, check out the [[Slack Directory]].<br />
<br />
[https://ssi-teams.slack.com/signup '''Join the SSI Slack here.''']<br />
<br />
==[https://calendar.google.com/calendar/embed?src=5or10qu0uhtfqcdqb3knrpn3r8@group.calendar.google.com&ctz=America/Los_Angeles SSI Calendar]==<br />
Home to all of our events across all our teams.<br />
<br />
== [https://stanfordssi.org/leadership SSI Leadership] ==<br />
Find out who's in charge of things you're interested in and contact them! You can find all of us on Slack as well.<br />
<br />
==The Wiki==<br />
<br />
This wiki is a great place to find guides, overviews, and generally useful documentation on SSI projects. Many of the most current plans and docs are in the drive though.<br />
<br />
==[https://drive.google.com/drive/u/0/folders/0AOLUM8S1U9vqUk9PVA SSI Drive]==<br />
<br />
The drive contains a lot of important documentation for each team. We are trying to put more emphasis on using the wiki as a place for longer-term knowledge storage. If you don't have access, ask in {{slack-channel|SSIT}}<br />
<br />
== [https://stanfordssi.org/mailing-list The Mailing List] ==<br />
We use SSI General for organization-wide announcements, and it's a good way to hear about events that get lost in the depths of slack (Slack is still by and large the primary mode of communication for most of us though).<br />
<br />
== [[End Station III]] ==<br />
<br />
End Station III (also known as ES3) can be considered the temple to SSI’s religion, the hub, nerve center, or kernel of all project activity. End Station III houses work sessions, team meetings, and project storage. Keycard access is required to access the building.<br />
<br />
[[File:whereisesiii.png|thumb|left]]<br />
<br />
== [[Find a Project]] ==<br />
<br />
If you're ever feeling overwhelmed or lost about all the things going on in SSI, use this page to see what's what! Reach out to someone working on a project you're interested in and they'll help you get started. If you have questions or just want to chat, poke any leadership member.<br />
<br />
[[Category:Getting started]]</div>Timvhttps://ssi-wiki.stanford.edu/w/index.php?title=Main_Page&diff=4360Main Page2021-05-06T10:09:23Z<p>Timv: </p>
<hr />
<div>{{:Stanford Student Space Initiative (SSI)}}<br />
''' Check out [[How to Join SSI]] for more information. '''</div>Timv