Deutsch English Français Italiano |
<vru1ed$341a4$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Don Y <blockedofcourse@foo.invalid> Newsgroups: sci.electronics.design Subject: Re: PCB version control Date: Tue, 25 Mar 2025 03:44:24 -0700 Organization: A noiseless patient Spider Lines: 58 Message-ID: <vru1ed$341a4$1@dont-email.me> References: <67e1a08c$0$3831$882e4bbb@reader.netnews.com> <vrsia0$1mccv$1@dont-email.me> <lmj3ujpg8eqannemaq74f8s9vqh2a5iooc@4ax.com> <vrsjna$1q7cg$1@dont-email.me> <15l3uj5eed6mbtlnas1cemu2cn5iukog6b@4ax.com> <vrsngv$1s889$1@dont-email.me> <vrsvfm$23j3t$1@dont-email.me> <67e2588f$0$2785$882e4bbb@reader.netnews.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 25 Mar 2025 11:44:31 +0100 (CET) Injection-Info: dont-email.me; posting-host="577d528b00c9b700d7c55af18df43ec7"; logging-data="3278148"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18TxKrvxz1A39sRKXhbwfKy" User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Cancel-Lock: sha1:oGGGNM55oT3oVpvcJKOCVvM4DCs= Content-Language: en-US In-Reply-To: <67e2588f$0$2785$882e4bbb@reader.netnews.com> Bytes: 3867 On 3/25/2025 12:19 AM, bitrex wrote: > How about a bidirectional hash table for part # generation I just use a "serial" data type; it's an integer that automatically increments each time you add a row (an entry/record) to a table in a database. A procedure in the database then computes the check digit for that particular "serial" and appends it as the 8th digit. The use of "serial" ensures there are no duplications in the table. The check digit acts to ensure errors in using the part number (serial+check digit) are caught: 1234567X is valid but any other value of X is "not a valid part number". (No way to identify WHICH digit -- including the check digit -- is in error. But, it reduces the chance of you mistakenly using, e.g., a *screw* instead of the intended *resistor*.) The alternative, (putting significance in the numbering scheme) means you will end up with more digits in your identifiers AND lots of valid part numbers that you never actually use! (What's your part number for the 44R2 1% resistor you use in ONE of your designs? Likely you also have available a part number for a 43R2, as well?? In fact, you probably have 1000 part numbers -- 3 digits -- reserved to address 1% resistors over 10 decades! And, another digit to indicate package and lead orientation, power rating, etc. All "created" just because you chose to use ONE particular device of that type /in your business/.) ((And, when SMT components came on the market, you had to adjust your numbering scheme to accommodate them in the context of the existing devices)) My first employer had fits trying to sort out how to assign part numbers to the (EP)ROMs in our design: "What's *in* this particular EPROM?" <shrug> "What do you mean, you don't know? How do we manufacture it?" "The program is a book. That EPROM represents pages 100-199 in the book. Can you tell me which chapters that includes, today? Can you tell me which chapters it will include when I revise the book??" "Then, it only exists in the context of other related parts! The 'other chapters'. And, can only be changed with changes to those other chapters!" "No. I can replace a single page if necessary. So, each EPROM /in the set/ can be at a different revision level. It's up to Engineering to manage this (configuration management) so only valid "combinations" of those devices are incorporated into a released product."