Explore chapters and articles related to this topic
Teaching IoT Smart Sensors Programming for a Smarter World
Published in Nishu Gupta, Srinivas Kiran Gottapu, Rakesh Nayak, Anil Kumar Gupta, Mohammad Derawi, Jayden Khakurel, Human-Machine Interaction and IoT Applications for a Smarter World, 2023
Hugo Martins, Nishu Gupta, Manuel José Cabral dos Santos Reis
Git (https://git-scm.com/) is today's reference of a free- and open-source distributed version control system, designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint. It was originally developed by Linus Torvalds (creator of the Linux kernel) and it is compatible with a wide variety of operating systems and integrated development environments (IDE). It has a distributed architecture, a repository containing the complete history of all changes (local and remote), and keeps a copy of all code development work. In its main characteristics, we can include safety, flexibility, version control, and high performance.
HardOps: utilising the software development toolchain for hardware design
Published in International Journal of Computer Integrated Manufacturing, 2022
Julian Stirling, Kaspar Bumke, Joel Collins, Vimal Dhokia, Richard Bowman
As open hardware is beginning to mature (Wilson Center 2020), so is the legal and regulatory framework that supports it. In 2020, CERN released version 2.0 of its Open Hardware License (CERN 2021a), and DIN released a standardised definition of Open-Source Hardware (DIN 2020). The toolchain and workflow for the open-source hardware development is also beginning to standardise. Distributed version control systems such as Git allow distributed teams to work on their own branch of development rather than relying on a traditional PDM. Git-based developer operations (DevOps) platforms such as GitHub and GitLab are seeing an increasing number of hardware projects, and CERN’s Open Hardware Repository (CERN 2021b) is also an instance of the open-source GitLab platform. While adopting platforms originally designed for managing software has its drawbacks (Stirling et al. 2020), it also unlocks a number of powerful tools for automating time-consuming processes.