General matters For all SMD or direct plug-in pads, there should not be too much tin on each pad, and it should form a smooth surface, but not bulge into a ball. For general patch pads, the thickness of the solder paste before welding is preferably 0.12mm (that is, the thickness of the steel mesh). For EP thermal pads, the amount of solder paste should be reduced by 50%. How to solder QFN and similar packages. Make sure there is no excess tin on the PCB and QFN component pads as much as possible, and use soldering tape to clean them. Apply an appropriate amount of tin (as much as possible as shown in the picture) on the pads around the PCB QFN. Place the QFN component to the corresponding position on the PCB. Use a heat gun to heat the QFN component and its surroundings to ensure that all solder paste is melted and soldered

Read more

Symbol meaning A Detachable component or subassembly PCB Component AT Attenuator or isolator BR Bridge rectifier BT Battery C Capacitor CN Capacitor network D CR Diode thyristor DL ​​Delay line DS Display universal light source lamp signal lamp F Fuse FB Ferrite beads FD Reference FL Filter G Generator or oscillator GN Generalized Network H Hardware – Screw Nut Washer HY Circulator Directional Coupler IR Infrared Diode J Jack – Connector The smallest removable connector in a pair Jack Connector – Connector May have male pin contacts and female socket

Read more

What is PIN Direction When creating a component library in Fusion 360 / EAGLE, you need to create a symbol (part of the electrical schematic). At this time, you need to set the symbol shape and number of terminals of the part. The item for setting the component terminal function is Direction. PIN Direction has the following nine options: Direction Full name type remarks nc Not Connected Empty pin heat dissipation/fixed pad in Input Input IC Input pin out Output Output IC Output pin io Input/Output Bidirectional GP

Read more

This document is based on the TGAM1 module of Shen Nian Technology. Technical Specifications Overview Type Specifications Remarks Product Series ThinkGear-AM A = ASIC, M = Module Module Model TGAM1 Module Version 2.4 Applicable to 2.3 Module Dimensions (Max) 27.9mm x 15.2mm x 2.5mm 1.10in x 0.60in x 0.10in (L x W x H) Module weight (Max) 130mg 0.0045oz Operating voltage 2.97V ~ 3.63V SP6200 3.0~6.0V MAX1595 1.8~

Read more

Common component library Frames.lbr Circuit diagram frame Supply2 Power supply and grounding Battery Battery RCL Resistor Capacitor Inductor Electrolytic Capacitor [R-EU C-EU CPOL LE] POT Potentiometer [TRIM US] Resistor-Net Exclusion Diode Diode [ZENER-DIODE] Triac Thyristor Transistor-NPN Transistor-PNP Transistor Transistor-FET Field effect tube LED Light-emitting diode Display-Ingbright seven-segment digital tube [7-SEG

Read more

The CPU used here is I9-9900K, the graphics card is 2080Ti, and the host system and virtual machine system are Debian GNU/Linux 12. First, make sure that the motherboard supports the VT-d function and enable it in the BIOS. Starting IOMMU IOMMU is the common name for Intel VT-d and AMD-Vi. Enabling IOMMU in the host system is as simple as giving the Linux kernel an additional boot parameter. The GRUB_CMDLINE_LINUX_DEFAULT entry in /etc/default/grub can be modified directly. GRUB_CMD

Read more

As we all know, struct in C++ comes from the historical legacy of the C language. Except that the default scope is public, it is no different from class. In theory, it can be mixed. Here we use the standard library and engineering practices such as Unreal to summarize the selection of struct and class keywords. If the type contains non-public member variables, class should be selected. If the type contains virtual functions, class should be selected. If the type can be aggregate-initialized, struct should be considered. If the type's construction, destruction and assignment functions are = default; implementation

Read more

This article was generated entirely by ChatGPT. std::function and std::any adopt the implementation method of constructing new objects and exchanging them, which also has some other advantages and benefits. For example, this implementation can avoid the assignment operator (operator=) throwing exceptions, thus ensuring the exception safety of assignment operations. For example, if std::function and std::any implement assignment by directly calling the assignment operation, then if an exception is thrown during the assignment operation, the state of the object may change, resulting in abnormal termination of the program. The implementation method of constructing new objects and exchanging them can avoid exceptions thrown during assignment operations.

Read more

Author: Hexagram Master Lingfeng There is a horse in the desert. It is said that there is a horse in the Ming Dynasty. According to legend, it travels a thousand miles, and the body is like flames, and the sweat is like blood. It is galloping up to the sky, and it is a beautiful first-born horse. This shape is unmatched by other horses. It is an auspicious sign. Everyone is happy. Whoever benefits, look at that thousand-mile horse from a distance. The fire set off the desert, galloping and neighing, soaring into the sky and falling. It was extremely free and easy. The Holy Master was so happy that such a masterpiece was possible only in the prosperous age. However, Lord Long En would never put shackles on the horse. Prime Minister Zhao wiped his sweat. This was considered to be a pass, and he escorted the horse back to the palace. He bowed and buried his eyes deeply in his arms. He secretly cursed this stupid horse for daring to make a roar for no good reason. Fortunately, it was a small noise. Soon, the spots were smoothed by the complicated noise and covered with blood. A fire was lit on it and then it was far away. Create some haze everywhere to give you a bit more confidence

Read more

Recently, after playing around with iSCSI, I discovered that disconnecting an iSCSI connection does not seem to be an easy task. If you disconnect normally, you may encounter a prompt similar to being in use. If you forcibly disconnect the adapter, the iSCSI initiator will be stuck for a long time. At the same time, if you use Task Manager to forcefully terminate the iSCSI initiator, you will find that although the iSCSI target is gone after opening it again, restarting the computer will try to automatically connect again, Schrödinger's iSCSI target. I found out through Google that I'm not alone, there are many people on the Internet who have encountered this problem. The currently known feasible steps are as follows. Iscsi Initiator -> Favorite Targets

Read more

First, here is an excerpt from the description of this part on cppreference. Variables declared at block scope with the static or thread_local specifier have static or thread storage duration, but are not initialized until control first passes through their declaration. In all subsequent calls, the declaration is skipped. If initialization throws an exception, the variable is not considered initialized, and initialization is attempted again the next time control passes through the declaration. The behavior is undefined if initialization recursively enters the block of the variable being initialized. The initialization of static local variables inside a function is performed when the function is first called, and will not be initialized in subsequent calls. In a multi-threaded environment, static layout can still be guaranteed.

Read more

Markdown Syntax Reference Documentation This section of the Reference Documentation introduces the concepts you need to know when writing using Markdown syntax. Some syntax restrictions have been changed in Markdown Extra, don't forget to check out the Markdown Extra section below. Overview Philosophy Markdown is designed to be as easy to read and write as possible. However, readability is emphasized above all other aspects. A Markdown-formatted document should be publishable as plain text, without being marked up with tags or formatting instructions. Although Markdown's syntax is influenced by several existing text-to-HTML

Read more

The Synology model used here is DS418Play. According to actual measurements, the network speed in PPPoE NET4 mode can only reach 100Mbps ~ 300Mbps, so I would like to explain here that soft routing also requires performance! Don’t become a clown like the author. Network equipment structure diagram The following are network equipment structure diagrams before and after using soft routing. graph TD LT{{China Unicom 1Gbps}} — 1Gbps — C[Router] DX{{Telecom 300Mbps}} — 1Gbps — A[Router] YD{{Mobile 4G}} — 4G — B[Router

Read more

Lyrics, music and singing: The Dreamer Spiritual Wind who is here because of you Video: The Diviner Spiritual Wind Mix: Divine Rabbit Little P Arranger: Mr.Nine There was a carp pond that looked up and jumped up bravely, soaring through the dangers, and finally it was the dragon. The lintel of the door is shining with the waves rising from all over the world. This is a legend I have heard since I was a child. Maybe the waves are coming to shake me up. My scales are mottled and wet, afraid that my wishes will be scattered. I cannot be indifferent in the mud and sand. I know from afar that there is no waterway on Longmen Mountain. But I feel that it is a blessing in disguise. The snow (study) that has melted away from the humble family has flowed into my lake. Learn (blood) first. When the water is clear, there will be no fish. The turbid world made me learn to clasp my fists (preservation). The sparrows are safe and have golden scales. The carp (experience) is exposed and has a bright future. The black scar on the ancestor’s forehead (black eight) is the miracle carp

Read more

Lyrics, music, singing and visuals: Gua Zhe Lingfeng Chorus excerpt: Drinking · Part 5 Arrangement: JaylinN Mixing: Shentu Xiao P I am in a human environment without the noise of cars and horses. I ask you, how can you be far away from the remote mountain air? The birds meet each other in the evening, there is a true meaning in it. I have forgotten the words. I got up early, chopping firewood, smelling the fragrance of flowers, listening to the chirping of insects, hoeing the ground at the bottom of the valley, the echo of the ironwood, ethereal, dewdrops moistening the brim of my hat, exquisite in the sun. I can indulge, so why not be a privilege? This makes me love and yearn for it. The mountains and rivers are not as noisy as the world. The smooth and warm wind in the wilderness never cares about my clothing, drums and red tape. I can forget about it. I am accompanied by bamboo shadows and the full moon in the long night. I am a solitary sparrow. Thousand-mile horses and swans. Please go to the parallel train to count my shortcomings. I have the ability to have a bone in my throat

Read more

As we all know, the Linux summary execution command can output the results to a file in the following format. [Command] >> [File name] 2>&1 where > means output to, >> means append to. In a shell script, by default, there are always three files open, standard input, standard output, and standard error. Their corresponding file descriptors are 0, 1, and 2 respectively. There is also a special file called /dev/ null , everything passed to it is discarded. > Defaults to standard output redirection, same as 1>. 2>&1 means setting the target

Read more

Change file owner command: chown [-cfhvR] [–help] [–version] user[:group] file… Function: Change the owner of a file or folder Parameter format: user: User IDgroup of the new file owner : The user group of the new file owner -c : Only display the change action if the file owner has indeed been changed -f : Do not display an error message if the file owner cannot be changed -h : Only Make changes to the link, not what the link actually points to

Read more

Reference article format ( ): type type feat - function fix/to - fix fix - generate a diff and completely fix the bug. Suitable for one submission to directly fix the problem to - only generate a diff and not completely fix the bug. Suitable for multiple submissions to finally fix the problem. Use fix docs when submitting - Documentation refers to the updated style-format of files such as .md that do not involve code files.

Read more

Function signature reference documentation: new – delete Versioned replaceable allocation functions and replaceable deallocation functions are implicitly declared in each translation unit even if the standard library header file is not included. Versioned replaceable allocation functions and replaceable deallocation functions are replaceable: a user-supplied non-member function with the same signature defined anywhere in the program and in any source file replaces the default version. Its declaration does not need to be visible. This means that when we replace the global new/delete functions, we do not need to declare them in .h, we only need to define them in .cpp. For a function that can be replaced, if multiple replacements for it are provided in the program, or it has inl

Read more

When implementing TypeTraits, I discovered that std::is_scoped_enum of the standard library will not be officially installed until C++23, so I found a clever alternative by looking through the source code of Unreal Engine 4, similar to the following implementation: NAMESPACE_PRIVATE_BEGIN uint8(&Resolve(int64 ))[2]; uint8 Resolve(…); template struct TIsEnumConvertibleToInt : TBoolCons

Read more

The problem is using UE4.23 (the last version that supports the HTML5 platform) to package HTML5 and deploy it to the Apache server. After the basic settings are completed, an error occurs. The page error is as follows. Uncaught TypeError: Cannot read properties of null (reading 'toLowerCase') Uncaught TypeError: Cannot read properties of null (reading 'toLowerCase') U

Read more

Enter the terminal docker exec -it [container ID] [interpreter] Under normal circumstances, the interpreter is bash. If an error occurs, try sh, /bin/bash, /bin/sh or /bin/csh. Copy the file docker cp [container ID]:[path] [container ID]:[path] If the container ID is not written, it means the target is the host. View the image docker images Make the image docker commit -p [container ID] [snapshot name] Save the image docker save -o [path] [snapshot name]

Read more

The problem is well known and UE's HTML5 platform displays it by default as follows. There are several problems with this. Canvas only displays in the middle. There are extra buttons below. The solution is to set Canvas to adaptive resolution. Set Project Settings > Platforms > HTML5 > Canvas Scaling Mode to Stretch. Set the Canvas Wrapper to adaptive resolution. Modify the following paragraph in the .css file. .wrapper { position: relative; ma

Read more

When Unreal Engine is packaged, the BootstrapPackagedGame startup EXE file will be created in the root directory and the real UE64 game EXE file will be placed in Binaries/Win4. It is created through the following process: Copy the Engine/Binaries/[Platform]/BootstrapPackagedGame-[Platform]-Shipping.exe file to the root directory Update Build/Windows/Application.ico Update the icon Update the game EXE file to be executed Relative path parameters Update the game Basic parameters of BootstrapPacka

Read more

Locking principles and rules 10.1 When multi-threaded processes access shared resources in parallel, they must be locked to protect shared resources including global variables, static variables, shared memory, files, etc. It is recommended to encapsulate an object like a smart pointer to manage the lock. For example, we encapsulate an auto_lock, apply for the lock during construction, and release the lock during destruction to ensure that you will not forget to unlock it. Rule 10.2 The lock has a single responsibility. Each lock only locks a unique shared resource. In this way, the lock application can be guaranteed to be single, and the locking scope can be better ensured to be as small as possible. For shared global resources, there should be one lock for each type or resource according to actual needs. In this way, this lock only locks the code that accesses this resource. Usually such code will be

Read more