Skip to content

Instantly share code, notes, and snippets.

View doevelopper's full-sized avatar

Adrien H doevelopper

  • Versailles
View GitHub Profile

Translating a massive standard like IEC 62443 into actionable product specifications can feel overwhelming. The secret is to realize that as a product developer building an embedded device, you do not need to implement the entire standard.

You only need to focus on the parts that dictate technical product requirements. For your embedded Linux energy meter, the "holy grail" is IEC 62443-4-2 (Technical security requirements for IACS components) and IEC 62443-3-3 (System security requirements).

Here is a step-by-step guide on how to translate IEC 62443 into concrete specifications for your QMS.


Step 1: Determine your Target Security Level (SL)

IEC 62443 defines four Security Levels (SL 1 to SL 4). The higher the level, the more rigorous the requirements.

11.4 Repository Folder Structure

All project documentation should be organized in a standardized folder structure to ensure consistency and ease of navigation:

.
├── .copilot
│   ├── agents
│   │   ├── product-owner-agent.agent.md
│   │   └── backlog-refinement-agent.agent.md
@doevelopper
doevelopper / 0000.md
Last active June 12, 2026 15:28
Common AI skills ans agents

Short answer: Yes. With a SIM7600G‑H 4G HAT you can run a PPP data session for Internet access and, at the same time, read GNSS (GPS/BeiDou/GLONASS/Galileo) position—because the module exposes multiple USB serial interfaces: one used by PPP for the data call, one (or more) for AT commands, and one that can stream NMEA from the GNSS. [files.waveshare.com], [altronics.cl]


How it works on SIM7600G‑H

  • Multiple USB ports: When connected over USB, the SIM7600 typically enumerates several /dev/ttyUSBx interfaces—commonly:
    • a modem/data port that PPP uses (often /dev/ttyUSB3),
    • an AT command port (often /dev/ttyUSB2),
  • an NMEA/GNSS port for continuous GPS sentences (often /dev/ttyUSB1).

pip install --user pipx

reuse-annotate:

> pipx run reuse annotate src tests --license=\"GPL-3.0-or-later\" 
    --copyright=\"2015-2023 Artur Weigandt https://wlabs.de/kontakt\" 
    --recursive --exclude-year --copyright-style=\"spdx\""
@doevelopper
doevelopper / EngineeringProjectWorkflow.md
Created April 20, 2025 15:58
# Engineering Project Workflow: Procurement to Delivery

Engineering Project Workflow: Procurement to Delivery

Phase 1: Project Initiation and Procurement

Procurement Document Received

  • System logs receipt of procurement document
  • Notification sent to Program Director and Project Management Office
  • Automated document classification and preliminary analysis

Project Authorization

@doevelopper
doevelopper / SerialAHL.md
Created May 9, 2024 12:38
I2C, SPI,RS232

In Object-Oriented Programming (OOP) with respect to the SOLID design pattern, you can abstract I2C, SPI, and RS232 communication by creating interfaces (abstract classes) for each communication protocol. The interfaces would define methods for reading and writing data, as well as setting up the communication parameters.Here's an example in C++, using the Boost.Asio library for non-blocking I/O:

#include <boost/asio.hpp>
Downloading and Extracting Packages:

Preparing transaction: done
Executing transaction: - 

    Installed package of scikit-learn can be accelerated using scikit-learn-intelex.
    More details are available here: https://intel.github.io/scikit-learn-intelex

    For example: