其他

浅谈android设备sysfs接口硬件调用之手电筒,马达,呼吸灯

这篇文章我们来介绍下几个sysfs接口的调用。 事实上,驱动接口一般有两种方式调用:ioctl()和read()/write()。 前一种要么能读懂内核源码,要么照抄strace用户空间驱动得到的调用,因此不做研究。 需要注意的是,由于安卓内核碎片化过于严重,各个厂商之间的代码差异过大,因此直接和内核交互来调用驱动并不是一个通用思路。但是对于某些特定设备的驱动调用却是个简单可行的方法,比如noth

USB TYPE-C电源传输(PD)基础流程概述

USB Type-C和Power Delivery规范允许设备和主机进行电源协商,为设备提供3A(5V,9V,15V)和5A(20V)最大100W的电源功率。 除了电源协商之外,规范还引入了备用(Alternate)模式,因此USB Type-C主机和设备可以通过USB-C型连接器和电缆传输高速数据信号实现功能的转换; 在USB Type-C和Power Delivery规范中,电源(提供者

永久免费商用正版字体列表大全:除了思源字体、阿里巴巴普惠体,还有哪些免费商用字体?

对于免费字体,除了思源字体,还有阿里巴巴普惠体,思源字体是开源免费的,若要发售则必需搭配其他产品一起商用,不能单纯销售这一字体。如你在软件中使用这一字体,或你的作品中使用这一字体,均是可以商用的,如果是免费产品,则更加不受限制。 可能很多自媒体作者都知道我们经常使用到的很多字体也是要收费的,如微软雅黑字体,每年通过字体收费赚走上百亿。微软用的是我们的汉字,还向我们收费,这就是微软的商业模式,还有之

论如何在Segmentation fault时优雅地结束程序

作为开发者,咱自然是不喜欢程序发生Segfault的“喜报”的,但是万一有些用户非闹着要在酒吧里点炒饭,程序还是大概率会崩。(不崩才怪呢喵!) glibc下还好,崩了最起码显示个cmdline,bionic就可能啥也没有了。 于是,虽然咱不希望出问题,最起码出问题时程序走的安详点,不要出现啥信息也没有的“死不瞑目”的场面。 然后就是捕捉段错误的原理了: 众所周知,段错误是当前这段错误,程序其他段大

开源项目规范化指北

前言: 又是迟来的更新喵~ 说实话咱自ruri开始开发以来就一直在想规范化问题了,虽然大概率不会有人帮咱写代码,(termux-container拆成三个项目结果都是咱自己维护可真寂寞),不过一个规范的项目自己看着也会心情愉悦嘛喵~ 话不多说咱还是开始今天的正文。 (虽然可能会很水) 项目使用方法规范化: 尤其对于只有命令行的项目,一个易懂的命令格式/调用方法十分重要。 曾有人问过,如果有人对Qe

docker基础镜像是怎么开发出来的

在讨论如何开发Docker基础镜像之前,明白Docker镜像的层次结构、使用Dockerfile来构建镜像、理解基础镜像的重要性 是关键。Docker基础镜像是指那些没有父镜像的镜像,通常包含了操作系统的最小安装或者是特定语言环境的运行时间。 基础镜像通常由操作系统供应商、开源项目或社区成员维护和发布。例如,官方的 Ubuntu、Alpine 或 CentOS 镜像,它们都可以从 Docker H

C语言实现简单的pstree(子进程查询)功能

前言: 最近开发ruri打算加个容器进程信息显示,由于ruri是C语言写的便决定还是用C实现。 于是查半天。。。没查到一点相关内容。 都欺负萌新是吧呜呜呜~ 然后就去看man proc了,有个特殊的文件/proc/${pid}/task/${tid}/children能记录子进程号,不过需要内核开启相关配置才行。。。。 欺负萌新是吧呜呜呜~ 行吧,还是自己写唔喵。 已知条件: 子进程pid永远大于

209 长度最小的子数组

不遗漏: 使用滑动窗口的思路,让每一个元素分别作子数组首元素,寻找满足要求的最短子数组,慢慢加长子数组长度即可。 但是超时了。 后面分析发现其实就是双层循环,思路都固定了直接看题解。 正确的思路其实应该是 先移动窗口开始位置,然后移动结束位置。这样就省略更换开始位置后重新移动结束位置的过程,原理就在于当移动开始位置时的序列和肯定是大于等于要求的最短子数组,而开始位置右移就相当于减小序列和。 这里

chrome 安装 yapi 扩展教程

因不明原因,yapi 的扩展被 chrome 官方下架了,大家只能使用本地安装的方式了。 如果不方便下载 zip,可以采用源码安装方式 源码安装 最新版本 3.1 修复了js报错问题 安装方法 1.下载扩展 zip 下载链接 首先手动下载 zip 文件,然后解压 2.打开 chrome://extensions 必须开启开发者模式     3.然后点击加载已解

终端控制码表by沨鸾

建议先用printf/echo -e测试下。 更改光标风格,仅在Termux有效: 输出RGB颜色,TTY下无效: 256色: 常见: 前景色 背景色

Clang/GCC安全编译与代码优化选项(合集)

好久不见喵~ 实在想不出开头就不想了,本期文章咱们来讲讲Clang/GCC的安全编译与代码优化选项。 注意:优化选项建立在代码正确的前提下,且最好不要在使用GDB等工具调试时开启任何优化选项。 LTO(Link-Time Optimization): 中文是链接时优化,最初由LLVM实现,可做到在编译时跨模块执行代码优化,功能有: 函数自动内联 去除无用代码 全局优化 LTO有大型LTO(mo

小型C语言项目:从手写configure脚本开始的构建系统编写

我们在开发C语言项目的构建系统部分时,单用Makefile可能会出现很多难题: 我想使用一个CFLAG来提高安全性,可有些编译器不支持怎么办? 我想用的头文件不同平台有不同版本怎么办? 我想在编译前检查依赖库怎么办? 老实说,一个build.sh或许是个很好的选择。 或者你会说,为啥不用meson/CMake?因为咱是传统派23333 GNU项目一般都用configure来生成项目配置,但咱懒得学

使用binfmt_misc和QEMU编写跨架构容器

经过“非常简单”的开发过程,咱终于把binfmt_misc支持加入了ruri新版本中: 可以看到修改并不多,嗯。(心虚) 好了我们还是来讲讲binfmt_misc的应用吧: 简介: binfmt_misc是一个内核级别的除对标准同架构ELF以及#!开头的脚本外的可执行文件进行exec(2)的支持,需要内核开启CONFIG_BINFMT_MISC。 需要注意的是binfmt_misc只是将某个支持

在arm64设备上使用qemu(kvm)运行aarch64 ubuntu虚拟机

最近咱换了k40外观增强版,这一代联发科芯片漏洞不是一般的多,不仅有mtkclient中众所周知的bootrom漏洞,老版本系统lk中的cpu地址还是错的,真是“红米配天玑,越用越懵逼”。 不过lk的漏洞导致这手机在miui12.5下是能开kvm的,嗯,不折腾会死星人狂喜。 所以就有了这篇通用的在支持kvm的arm64设备上运行ubuntu虚拟机的文章,好了咱们开始: 首先创建一个img镜像并格式

uniapp 图片体积太大,压缩文件

function compressImage(file, maxWidth, maxHeight, quality, callback) { // 创建FileReader读取文件 let reader = new FileReader(); reader.readAsDataURL(file); reader.onload = e => {

如何优雅地从Lxc镜像偷rootfs

首先我们拿到一个lxc镜像的链接,咱觉得bfsu的速度就很不错。 https://mirrors.bfsu.edu.cn/lxc-images/images 点进去,顺着目录就能找到rootfs.tar.xz,下载就完了。 本文完,就这么简单。 当然不是啊喂!我们要做到自动获取rootfs链接。 镜像列表: 目前咱就搜集了这几个。 index文件: 在镜像的/meta/1.0/index-sys

内置RC振荡器/抗干扰能力强VK1668 SOP24数码管驱动控制器/LED驱动器原厂技术支持

产品品牌:永嘉微电/VINKA 产品型号:VK1668 封装形式:SOP24 概述 VK1668是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3线 串行接口、数据锁存器、LED 驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴 极,可支持13SEGx4GRID、12SEGx5GRID、11SEGx6GRID、10SEGx7GRID的点阵LED显示 面板,

C语言的一些`守序善良`的写法

很显然,这些写法大多并不规范,也不被提倡。 很显然,咱并没有在windows下试过这些代码,而且实测大部分在线编程网站用的是Linux,可以接受GNU C扩展支持。 如果有人问我为什么折腾,为什么以折腾这些无聊的东西作为目标,那他们完全可以问,为什么要登上最高峰?为什么人类要登月?………我选择去折腾,我,选择去折腾!(逃) 趋近符号: 很出名的写法,比如: 这将str中最后一个;的位置设置为结尾

智慧工地算法视频分析服务器区域入侵检测AI视频分析技术在煤矿的实战应用

智慧煤矿中应用的智慧矿山算法视频分析服务器,依托于人工智能算法对矿井下的视频资料进行深入的分析与处理。这项技术能够利用图像识别和模式识别等方法,实时监测视频中的重要信息,包括工作人员的行为、设备运行状况以及环境指标等,为煤矿的安全作业和预防事故提供了强有力的技术支持。 1、人员行为监测 煤矿井下环境复杂,人员行为的不规范往往会导致安全事故的发生。AI视频智能分析技术可以实时监测井下人员的行为

AI大模型高效开发神器来了 ,解读ModelArts 8大能力

随着国资委、工信部等持续推动工业企业开展人工智能创新应用,以及AI大模型为代表的新一代AI技术在快速发展,赋能各行各业,开展AI的创新应用对领先的工业企业已经是必答题。,在IDC《中国工业AI综合解决方案2024年厂商评估》中,华为在战略、能力、市场份额三个维度取得第一,位于领导者类别,越来越多的工业企业选择华为云Stack开展AI应用创新。 大模型应用已从“技术出发”走向“场景出发”,深入千行

flashback实现数据快速复原

flashback实现数据快速复原 MyFlash 限制 仅支持 5.6 与 5.7 版本 binlog 格式必须为 row,且 binlog_row_image=full 只能回滚DML(增、删、改) 第零步:确定日志 第一步:下载myflash 官网:Meituan-Dianping/MyFlash: flashback mysql data to any point 提示 成功

联想拯救者电池模式切换

联想电脑管家切换电池模式,BatterySetting只有常规和快充,没有养护 运行打开:regedit打开地址:计算机HKEY_LOCAL_MACHINESOFTWARELenovoPcManagerBatteryCache修改:IsBatteryPolymer 值 为【0】 原值为【1】 十六进制 打开电脑管家安装地址:C:Program Files (x86)LenovoPCManager【

后缀数组求 LCP 和相关证明

后缀数组求 LCP 和相关证明 一些定义 (text{SA}(i)) 排名为 (i) 的后缀左端点;(text{rank}(i)) 左端点为 (i) 的后缀排名;(text{suf}(i)) 左端点为 (i) 的后缀; (text{lcp}(S,T)),串 (S) 和 (T) 的最长公共前缀,即 (max left { x |forall yle x, S_{y}=S_{y}}right.); (

c  中的<>的作用是什么

c  中的<>的作用:1. 头文件包含;2. 模板参数;3. 预处理器宏替换;4. 泛型编程中的类型参数;5. 模板化编程中的参数列表;6. 其他特定语境中的约定。在 C 语言中,尖括号 < > 用于包含标准库头文件或者系统提供的头文件。例如,#include <stdio.h> 用于包含标准输入输出库的头文件。 1. 头文件包含 在 C 语言中,

诛仙2:为爱成神|单机安装教程|虚拟机一键端|GM工具包

今天给大家带来一款单机游戏的架设:诛仙2:为爱成神。游戏版本:v2.2.8 只适用于单机娱乐,此教程是本人亲测所写,踩坑无数,如果你是小白跟着教程走也是可以搭建成功           亲测视频演示 https://githubs.xyz/show/291.mp4   游戏安装步骤 此游戏架设需要安装虚拟机,没有

USB 几种常规眼图测试(USB 信号完整性测试)

USB眼图测试通常用于评估USB信号的质量和传输性能。眼图测试主要分为以下几类: High speed 测试 PHY测试:这是USB物理层(PHY)的眼图测试,主要针对信号完整性和抖动等参数进行测量。PHY测试会直接分析数据线(如D+/D-)的信号波形,评估信号在传输过程中受到的干扰、失真以及反射。通过这些测试,可以确定PHY是否符合USB标准的信号要求。(针对的device或者host)

项目实战:Qt+OpenCV仿射变换工具v1.1.0(支持打开图片、输出棋盘角点、调整偏移点、导出变换后的图等等)

需求   1.打开图片;  2.矫正识别角点;  3.opencv摄像头操作子线程处理;  4.支持设置棋盘格的行列角点数;   背景   深入研究图像拼接细分支算法,产出的效果查看工具,验证算法单步思路。   相关博客   《项目实战:Qt+Opencv相机标定工具v1.3.0(支持打开摄像头、视频文件和网络地址,支持标定过程查看、删除和

OFFICE快速全屏

Ctrl+Shift+F1  

离岗检测视频分析网关AI智能分析在岗离岗检测算法的原理与应用

在岗离岗检测算法是一项利用计算机视觉和深度学习技术的应用,它通过解析监控视频流来辨认和追踪人员,进而确定他们是否处于特定的工作区域内。算法网关视频分析网关在众多领域中都有着重要的应用价值,特别是在那些需要确认员工在岗状态的场景中,例如在工厂、仓库、银行、医院等场所。 一、核心原理 算法通过摄像头捕获图像或视频数据,然后利用图像处理技术进行预处理,如去噪和增强。接着,深度学习模型(如卷积神经网络C

思维题配套题解

配套题单:CodeForces 思维题目 CF79D Password 你有 (n) 个灯泡,一开始都未点亮。 同时你有 (l) 个长度,分别为 (a_1 sim a_l)。 每次你可以选择一段连续的子序列,且长度为某个 (a_i),并将这些灯泡的明灭状态取反。 求最少的操作次数,使得最后有且仅有 (k) 个位置是亮的,这些位置已经给定,为 (x_1 sim x_k)。 Hint 考

<<  <  1  2  3  4  5  6  7  >  >>