Code Monkey home page Code Monkey logo

creators's Introduction

Creation IDs

Creation IDs are used to digitally identify unique creations of many forms. The term creation is intentionally vague to encompass anything digitally identifiable. Creation IDs can be used in any system that needs a standard creation identifier such as BLE device discovery, WiFi device identification or FPGA peripheral identification.

Creation IDs are administered by a person or organization who has been assigned a creator ID. They may or may not actually be the creator of the creation. Creator IDs are 32-bit numbers administered in this repository and are paired with 32-bit creation ids that are administered by the creator. These are similar to USB vendor ID (VID) and product ID (PID) but open source and freely available.

Getting a new creator ID

Creator IDs are 32-bit numbers that designate who created something. In practice, this may also designate a third-party who is maintaining IDs on the behalf of the creator. For example, creator IDs automatically encompass all 16-bit USB vendor IDs by prepending the 16-bit 0x0000 prefix. Creator and creation IDs use _ to separate the 16-bit halves to make these prefixes more obvious. We also have the 0x000C prefix for community administered creation IDs for creators with an existing USB VID.

For your own creations

Make a change to this README and make a PR to get a new creator ID for your own creations. If you have your own USB VID already, add an entry with the 0x0000 prefix and link to the location of your creation IDs. If not, choose a unique 32-bit number that doesn't start with 0x00 because that is reserved for other ID subsets.

For someone else's creations

Make a change to this README and make a PR to document it. If the creator has a USB VID assigned to them, then add an entry with the 0x000C prefix to denote that it is community administered. If not, choose a unique 32-bit number that doesn't start with 0x00 because that is reserved for other ID subsets. The complete list of USB Vendor IDs is available from the USB Developers page under "Valid USB Vendor ID Numbers". We're ok using obsolete VIDs as well because they are still unique.

It is often the case that community creation ids will also be administered in this repo as well. If that's what you want to do, then also add a creations/<creator>.md file in your PR. You can also create a separate place to administer creation ids so that you control who can assign them. We don't care as long as the creation id is unique and makes that clear.

Allocating a new creation ID

Creation ID allocation is left up to the creator. However, here are some guidelines for consistency.

  1. If the creator has a USB VID and the creation is a product with a USB PID, then use the 0x0000 prefix plus the USB PID for the creation id.
  2. If the creation doesn't use USB or doesn't have a unique USB PID, then use a prefix that isn't 0x0000 (to reserve it for USB PIDs.)
  3. Use the 16-bit prefix to group creations. For example, Espressif development boards usually have a chip specific prefix such as 0x00C3.

Assigned Creator IDs

0x0000_xxxx - Reserved for USB VID IDs and official allocations

0x000C_xxxx - Reserved for USB VID IDs administered by the community

0x00xx_xxxx - Reserved for future ID subsets

0x01xx_xxxx

0x0Dxx_xxxx

0x1xxx_xxxx

0x4xxx_xxxx

0x6xxx_xxxx

0x7xxx_xxxx

0xBxxx_xxxx

0xCxxx_xxxx

0xDxxx_xxxx

creators's People

Contributors

tannewt avatar dhalbert avatar seantheitguy avatar cdarius avatar jepler avatar evildave666 avatar askpatrickw avatar bill88t avatar kreier avatar neradoc avatar silabs-chatnguyen avatar szsoftware avatar tyeth avatar supcik avatar retiredwizard avatar k0d avatar skieast avatar tkroo avatar ftab avatar dogushc avatar imnotjames avatar joshua-beck-0908 avatar fonix232 avatar lovrojakic avatar n0xa avatar unexpectedmaker avatar dlizotte-uwo avatar gitcnd avatar madcitygeek avatar microdev1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.