Jump to content
Electronics-Lab.com Community

Search the Community

Showing results for tags 'linux'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Electronics Forums
    • Projects Q/A
    • Datasheet/Parts requests
    • Electronic Projects Design/Ideas
    • Power Electronics
    • Service Manuals
    • Theory articles
    • Electronics chit chat
    • Microelectronics
    • Electronic Resources
  • Related to Electronics
    • Spice Simulation - PCB design
    • Inventive/New Ideas
    • Mechanical constructions/Hardware
    • Sell/Buy electronics - Job offer/requests
    • Components trade
    • High Voltage Stuff
    • Electronic Gadgets
  • General
    • Announcements
    • Feedback/Comments
    • General
  • Salvage Area

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 6 results

  1. Software version: Linux 4.19 Design Idea: Detect screen touch events to determine whether the screen is being used or not in an auto-break application. If the screen detects input events, it will remain on. If no touch events are received for a period of time, the screen will transition from on to a dimmed state, reminding the user that it is about to enter the screen-off mode. If no touch events occur after dimming, the screen will enter the screen-off mode. When a touch event occurs again, the screen will transition from screen-off mode to the on state. Currently, the approach to implement automatic screen-off is to treat touch events as a fixed path that can be applied to familiar boards. To enhance convenience in application, two additional alternative approaches are provided below: ▊ The first implementation method You can apply the evtest command to get the path to/dev/input/event1 (event1 is the name of the touch event on my board). You can then pass the path to your program as a parameter. For example, you can modify your program to accept command-line arguments to specify the path of the device file to open int argc, char *argv[]; Opens a file with the passed in parameters as the device file path int fd = open(argv[1], O_RDONLY); You can compile and run the program, passing it/dev/input/event1 as a command-line argument, like this: ./your_program /dev/input/event1 ▊ The second implementation method is to fix the screen touch node in the device tree. Look for the screen touch node in the device tree and note its address. On the I2C bus, the address of the touch node is simply 2-0038 So we can use grep to filter out touch nodes based on their addresses. ls -l /sys/class/input | grep "0038" | awk -F ' ' '{print $9}' | grep "event" The following command is used in the application to find the touch event based on the touch address. char *command_output = exec("ls -l /sys/class/input | grep '0038' | awk -F ' ' '{print $9}' | grep 'event'"); Use the sprintf function to splice the path containing the event, and then read the event. Examples of using Sprintf: int main() { char str[100]; int num = 123; float f = 3.14; //Write the formatted data to the string sprintf(str, "%d%.2f", num, f); //print the generated string printf("The output is. %s\n", str); return 0; }
  2. 1. GPIO Wake-up The supported system sleep modes can be viewed with cat /sys/power/state. To achieve functionality similar to the 6ul, use the "wake-up" function in ''gpio-keys.c''. Add a GPIO node specifying the wake-up GPIO pin. During sleep, a message indicates only GPIO0 supports wake-up; testing confirmed only GPIO0 can wake up. cat /proc/interrupts indicates that the interrupt for key1 has been successfully registered. Testing has been conducted to verify that both freeze and mem modes can wake up. 2. Network Wake-up Firstly, NIC support for Wake-on-LAN is required. Use the ethtool tool to check NIC information. The default setting for wake-on is ''d'', which means network wake-up is disabled. The ''supports Wake-on'' option is ''ug'', where ''u'' allows any unicast data and ''g'' allows magic packets. The wake-on can be set to ''ug'' for eth0 using the following command: ''ethtool -s eth0 wol ug''. Test for u: echo freeze > /sys/power/state//Enter freeze sleep mode Waking up can be achieved by pinging the IP of this network port in any local area network. Test for g: ethtool -s eth0 wol g//Set wake-on to g At this point, the ping fails, but the mac can be specified through the wol to wake up. Testing revealed that Wake-On-LAN is only possible in freeze mode. Observations showed that after entering mem mode, the network LED does not light up; whereas, in freeze mode, the network LED continues to blink normally. This indicates that the PHY (physical layer) is not functioning in mem mode, and therefore, it cannot trigger an interrupt for wake-up. It is also possible that this interrupt pin is connected to gpio3 _ A2.
  3. In this article, we will introduce the SoMs of the Allwinner series. Allwinner × Forlinx Embedded The cooperation between Forlinx Embedded and Allwinner Technology started in 2019. Up to now, Forlinx Embedded has launched 3 SoMs based on Allwinner processors--FETT507-C, FETA40i-C, and FETT3-C that won unanimous recognition of the market. 01 Allwinner T507 Series FETT507-C SoM is designed and developed based on Allwinner T507 quad-core industrial level processor Cortex-A53 with main frequency 1.5GHz, integrated with G31 GPU, 2GB DDR3L RAM, and 8GB eMMC storage. With Linux, Android, and Forlinx Desktop operating systems, it is suitable for in-vehicle electronics, power, medical care, industrial control, IoT, intelligent terminals, and other fields. 02 Allwinner A40i Series The FETA40i-C SoM is designed based on Allwinner industrial control level processor quad-core Cortex-A7 A40i with main frequency 1.2GHz, integrated with MAli400MP2 GPU, 1GB/2GB DDR3L RAM, 8GB eMMC storage. It supports most current popular video and image formats decoding and has the advantages of stable and reliable industrial-level product performance, cost-effective and low-power consumption, etc. Equipped with Linux and Android operating systems, it is suitable for industrial control products based on visual interaction. 03 Allwinner T3 Series FETT3-C SoM is designed and developed based on Allwinner quad-core car navigation processor Cortex-A7 with main frequency 1.2GHz, integrated with MAli400MP2 GPU, 1GB DDR3L RAM, 8GB eMMC storage. Entire board industrial level running temperature supports most current popular video and image formats decoding and has the advantages of stable and reliable industrial-level product performance, low-power consumption, rich interfaces etc. Equipped with Linux and Android operating systems, it is suitable for in-vehicle electronics, power, medical care, industrial control, IoT, intelligent terminals, and other fields. Above is the big list of Forlinx Embedded’s Allwinner series; the industrial-level quality makes the application more stable and reliable.
  4. The Allwinner T507-H chip is widely used in various fields such as automotive electronics, power, healthcare, industrial control, IoT, and smart terminals. In complex embedded Linux application scenarios, it is important to break down the barriers between ARM boards and Windows devices in order to achieve cross-platform file sharing. Here’s how you can accomplish this: We can use Samba, which is free software for SMB on Linux systems, to share files and printers between different operating systems. Samba makes it easy to share files between different platforms such as Linux, Windows and Mac, which greatly improves the efficiency of file transfer. So, how to set up Samba service on the embedded OKT507-C development board? 01 Compile source code 1.Source code download address: http://ftp.samba.org/pub/samba/ Download the Samba source package and enter the source3 path: 2.Configure: ./configure CC=aarch64-linux-gnu-gcc LD=aarch64-linux-gnu-ld AR=aarch64-linux-gnu-ar --target=arm-none-linux --host=arm-none-linux-gnueabihf samba_cv_CC_NEGATIVE_ENUM_VALUES=yes --cache-file=arm-linux.cache 3. Compile the source code (with only single-threaded compilation, without using the -j parameter): make 4.make install Generate the installation file: Specify the installation path in the Makefile samba-3.4.17/source3$make install 02 Configuration Service 1.Extract the compressed package to the following path: 2.Create a new configuration file at the following path: 3.Edit the contents of the file: 4.Add a library file Copy the dynamic link library file in the following path to the/lib directory of the board: 5.Start the service 03 Application services 1.OKT507-C development board (Linux board) and Windows host to share files: (1) Start the Samba service and configure the IP of the same network segment as the host: (2) Add Samba support in the Windows host: Open the control panel to enter the following interface: Check the following three options: (3) Enter the server IP in the file manager, and press Enter to see the shared path: 2.The Linux board shares directories with the Ubuntu virtual machine: (1) Install cifs-utils: (2) Create a mount point: (3) Mount the shared directory: At this point, we have completed the implementation of Samba service on the embedded OKT507-C development board of Forlinx, and successfully made this Linux board share files with Windows host and Ubuntu virtual machine. Of course, the specific operation of different master control platform boards will be different, but the overall idea is the same. I hope that the method provided in this article can be helpful to the project development of engineers in front of the screen. Originally published at www.forlinx.net.
  5. The pollutants produced by human activities are the main factors causing water pollution. To protect the water environment, we must strengthen the monitoring of sewage discharge, the analysis of surface water, groundwater, industrial wastewater, and other water quality, and ensure the safety of people's water use. Drinking water safety concerns everybody, but many people still do not know its quality. Does the residual chlorine exceed the standard? What is the pH? These important indicators related to drinking water health need to be accurately detected. A water quality detector is a professional instrument used to analyze the content of water quality components, which can measure BOD, COD, ammonia nitrogen, total phosphorus, total nitrogen, turbidity, pH, and dissolved oxygen in water. It plays an important role and has been widely used in water quality detection and water resources protection. FETMX6ULL-C arm core board launched by Forlinx Embedded can be effectively used in water quality detectors to help us better protect drinking water. FETMX6ULL-C core board is a processor-based NXP i.MX6ULL is designed with a low-power ARM Cortex-A7 architecture that runs at speeds up to 800MHz. A low main frequency can reduce the heat generated by the CPU and extend the service life of the CPU. Its stable performance has been verified in long-term use in many fields. FETMX6ULL-C SoM is highly integrated and supports 8x serial ports, 2x network ports, and 2x CAN. The rich interfaces can connect dissolved oxygen sensors (with temperature), pH sensors, conductivity sensors, turbidity sensors, ammonia nitrogen analyzers, total organic carbon analyzers TOC, etc., to facilitate on-site construction and assembly. Dual-lane Ethernet can achieve dual-network redundancy. The 10M/100M adaptive Ethernet interface provides double insurance for the network. The support of WiFi and 4G also makes operation and maintenance more convenient. The software system uses Linux 4.1.15 and has an experienced technical support team to solve problems in the user design, allowing customers to quickly enter the product testing phase. Originally published at www.forlinx.net.
  6. Hi, Guy I have joined this forum some time. Recently, i have just finished a project development. The project is building CMD line(cli) tools for multiple OS, windows10, linux and macos. I just want to share you guys my experience with the 3 platform. BTW, the RTL8722DM dev from following link is what my project is used for. https://www.amebaiot.com/en/amebad-arduino-getting-started/ Basically, windows is the most convenient platform. It has all kind of tools for compiling c, cpp and c# projects. One things need to be considered. 1, if you use visual studio for c# in windows. the tool you have build is not easy to transfer in to the other platforms. To support a visual studio c# project there a lot of works to do in linux and macos. Additionally, you have to set up the toolchain/compiler properly for windows. Linux has no issue to compile my project. But lack of development tools and "sudo" sometimes gives you big problem. For, c and cpp development, i suggest that linux is the best and all project is able to transfer to the other platform. Macos has the most limitations. i am a windows person so using macos to development is a bit trouble for me. And the disc name of macos always has a "space" which is very bad for process command. However, i would say the project made by macos is the most stable and small size one. To summarize, if you trying to make a multiple platform/OS support project. I would recommend to use c/cpp project and start on linux. Please try not to start with windows, windows is the easiest way, but will gives you troubles when trying to support all 3 platform/OS.
  • Create New...