当前位置: 首页 > news >正文

Android SPRD 工模测试修改

  • 设备有两颗led灯,工模测试需全亮
vendor/sprd/proprietories-source/factorytest/testitem/led.cpp@@ -13,6 +13,10 @@ typedef enum{#define LED_BLUE                       "/sys/class/leds/blue/brightness"#define LED_RED                               "/sys/class/leds/red/brightness"#define LED_GREEN                      "/sys/class/leds/green/brightness"
+//mh@start
+#define AW_LED_BLUE                    "/sys/class/leds/aw_blue/brightness"
+#define AW_LED_RED                            "/sys/class/leds/aw_red/brightness"
+#define AW_LED_GREEN                   "/sys/class/leds/aw_green/brightness"...+static void *aw_led_thread(void *)
+{
+       int pos = 3;
+       int loop = led_blue;
+       char *ledn = AW_LED_BLUE;
+       char *title;
+       UI_COLOR color = CL_BLUE;
+       usleep(500*1000);
+
+       while(1 == thread_run) {
+               switch(led_color(loop++%color_num)){
+                       case led_blue:
+                               ledn = AW_LED_BLUE;
+                               color = CL_BLUE;
+                               title = TEXT_LED_BLUE;
+                               LOGD("get led name: %s! loop = %d!", ledn, loop);
+                               break;
+                       case led_red:
+                               ledn = AW_LED_RED;
+                               color = CL_RED;
+                               title = TEXT_LED_RED;
+                               LOGD("get led name: %s! loop = %d!", ledn, loop);
+                               break;
+                       case led_green:
+                               ledn = AW_LED_GREEN;
+                               color = CL_GREEN;
+                               title = TEXT_LED_GREEN;
+                               LOGD("get led name: %s! loop = %d!", ledn, loop);
+                               break;
+               }
+               LedSetValue(ledn, 200);
+               ui_set_color(color);
+               ui_show_text(6, pos, title);
+               gr_flip();
+               usleep(500*1000);
+               LedSetValue(ledn, 0);
+               ui_clear_rows(6, 2);
+               gr_flip();
+       }
+
+       return NULL;
+}
 int test_led_start(void){int ret;
@@ -95,6 +142,7 @@ int test_led_start(void)LOGD("mmitest start");thread_run=1;pthread_create(&thead, NULL, led_thread, NULL);
+    pthread_create(&thead, NULL, aw_led_thread, NULL);usleep(10*1000);ret = ui_handle_button(TEXT_PASS,NULL,TEXT_FAIL);thread_run=0;
  • 添加按键
device/sprd/sharkle/sl8541e_1h10_go/rootdir/prodnv/PCBA.conf@@ -82,6 +82,9 @@ sensor        Temperature     Temperaturekey    Power   116key    VolumeDown      114key    VolumeUp        115
-key    Menu    580
-key    Home    172
-key    Back    158
+#mh@start
+#key   Menu    580
+#key   Home    172
+#key   Back    158
+key    PlayPause       164
+key    F1      59
vendor/sprd/proprietories-source/factorytest/factorytest.h@@ -262,7 +262,9 @@ enum key_typeKEY_TYPE_HOME,KEY_TYPE_MENU,KEY_TYPE_BACK,
-       KEY_TYPE_NUM
+       KEY_TYPE_NUM,
+    KEY_TYPE_PLAYPAUSE,
+    KEY_TYPE_F1
vendor/sprd/proprietories-source/factorytest/parse_conf.cpp@@ -128,6 +128,9 @@ int get_key_Num(char* s)if(!strcmp(s,"Menu")) return KEY_TYPE_MENU;if(!strcmp(s,"Home")) return KEY_TYPE_HOME;if(!strcmp(s,"Back")) return KEY_TYPE_BACK;
+   //mh@start
+   if(!strcmp(s,"PlayPause")) return KEY_TYPE_PLAYPAUSE;
+   if(!strcmp(s,"F1")) return KEY_TYPE_F1;return -1;}@@ -174,6 +177,13 @@ int parse_key_entries(char *buf)case KEY_TYPE_BACK:strncpy(key_info[key_cnt].key_shown,TEXT_KEY_BACK,strlen(TEXT_KEY_BACK));break;
+            //mh@20241214
+            case KEY_TYPE_PLAYPAUSE:
+                strncpy(key_info[key_cnt].key_shown,TEXT_KEY_PLAYPAUSE,strlen(TEXT_KEY_PLAYPAUSE));
+                               break;
+            case KEY_TYPE_F1:
+                strncpy(key_info[key_cnt].key_shown,TEXT_KEY_F1,strlen(TEXT_KEY_F1));
+                               break;default:LOGD("invalid key");
vendor/sprd/proprietories-source/factorytest/res/string_cn.h
@@ -122,6 +122,8 @@#define TEXT_KEY_BACK                                  "返回键"#define TEXT_KEY_HOMEPAGE                              "主页键"#define TEXT_KEY_CAMERA                                        "相机键"
+#define TEXT_KEY_PLAYPAUSE              "播放暂停键"
+#define TEXT_KEY_F1                     "F1键"vendor/sprd/proprietories-source/factorytest/res/string_en.h@@ -123,6 +123,8 @@#define TEXT_KEY_BACK                                  "Back Key"#define TEXT_KEY_HOMEPAGE                              "Homepage Key"#define TEXT_KEY_CAMERA                                        "Camera Key"
+#define TEXT_KEY_PLAYPAUSE              "PlayPause Key"
+#define TEXT_KEY_F1                     "F1 Key"
  • 去掉任意测试项
    support 改为0
device/sprd/sharkle/project/rootdir/prodnv/PCBA.conf#id   support   case
0	1	LCD
1	1	TP
2	1	MULTITOUCH
3	1	KEY
4	1	VIBRATOR
5	1	BACKLIGHT
6	0	FCAMERA
7	1	BCAMERA
8	1	FLASH
...

相关文章:

Android SPRD 工模测试修改

设备有两颗led灯,工模测试需全亮 vendor/sprd/proprietories-source/factorytest/testitem/led.cpp -13,6 13,10 typedef enum{#define LED_BLUE "/sys/class/leds/blue/brightness"#define LED_RED …...

H3C CN3360B光纤存储交换机配置案例

这几天在项目里面遇到了一台光纤存储交换机,需要划Zone来实现服务器外接存储 接下来我就分享我在项目中的配置 我是通过交换机串口进去的,也可以通过网口,串口的配置我就不介绍了 网口配置的地址是:10.77.77.77/24 登入方式&…...

问题:Flask应用中的用户会话(Session)管理失效

我来分享一个常见的PythonWeb开发问题: 问题:Flask应用中的用户会话(Session)管理失效 这是一个在Flask开发中经常遇到的问题。当用户登录后,有时会话会意外失效,导致用户需要重复登录。 解决方案: 1. 首先&#x…...

Backend - C# 操作数据库 DB(ADO.NET、LINQ to SQL、EF)

目录 一、ADO.NET(传统) 二、LINQ to SQL(已过时) 三、EF(推荐) 常见的操作数据库的方法:有三种,分别是 ADO.NET、LINQ to SQL、EF 一、ADO.NET(传统) ADO.NE…...

JMeter + Grafana +InfluxDB性能监控 (二)

您可以通过JMeter、Grafana 和 InfluxDB来搭建一个炫酷的基于JMeter测试数据的性能测试监控平台。 下面,笔者详细介绍具体的搭建过程。 安装并配置InfluxDB 您可以从清华大学开源软件镜像站等获得InfluxDB的RPM包,这里笔者下载的是influxdb-1.8.0.x86_…...

springCloud实战

一、Feign的实战 1、使用 1.1步骤 ①引入feign依赖 ②在启动类上加上EnableFeignClients注解,开启Feign客户端 ③编写FeignClient接口 1.2开启feign调用日志 只需在yml配置文件中开启配置即可 feign:client:default:loggerLevel: FULL #feign接口被调用时的…...

从优化算法到分布式训练-提升AI模型收敛速度的系统性分析【附核心实战代码】

本文收录于专栏:精通AI实战千例专栏合集 https://blog.csdn.net/weixin_52908342/category_11863492.html从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 每一个案例都附带关键代码,详细讲解供大家学习,希望可以帮…...

如何在 Windows 10/11 上录制带有音频的屏幕 [3 种简单方法]

无论您是在上在线课程还是参加在线会议,您都可能需要在 Windows 10/11 上录制带有音频的屏幕。互联网上提供了多种可选方法。在这里,本博客收集了 3 种最简单的方法来指导您如何在 Windows 10/11 上使用音频进行屏幕录制。请继续阅读以探索! …...

鸿蒙应用开发(2)

鸿蒙应用开发启航计划-CSDN博客 鸿蒙应用开发(1)-CSDN博客 没看过前两篇的,建议请先看上面。 如果你学习完了前两篇,那么你学习这篇文章,就很容易理解了。 这一篇文章将介绍声明式UI的 渲染控制。你需要了解的是&…...

单片机-LED点阵实验

要将第一个点点亮,则 1 脚接高电平 a 脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第 1 脚要接高电平,而(a、b、c、d、e、f、g、h )这些引脚接低电平,那么第一行就会点亮&…...

微服务-Nacos(注册中心)

Nacos Nacos可以看作注册中心配置中心&#xff0c;比Eureka更加强大。 注册中心 在父工程中引入SpringCloudAlibaba的版本依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId&g…...

【Linux知识】shell编程知识科普

文章目录 概述文件格式语法及例子 文件读写文件读取文件写入错误处理 后台执行shell1. 使用 & 符号2. 使用 nohup 命令3. 使用 screen 或 tmux使用 screen使用 tmux 4. 使用 disown 命令5. 使用系统服务管理器&#xff08;如 systemd&#xff09; 概述 Linux shell脚本文件…...

小程序学习06——uniapp组件常规引入和easycom引入语法

目录 一 组件注册 1.1 组件全局注册 1.2 组件全局引入 1.3 组件局部引入 页面引入组件方式 1.3.1 传统vue规范&#xff1a; 1.3.2 通过uni-app的easycom 二 组件的类型 2.1 基础组件列表 一 组件注册 1.1 组件全局注册 &#xff08;a&#xff09;新建compoents文件…...

平安产险安徽分公司携手安徽中医药临床研究中心附属医院 共筑儿童安全防护网

为响应金融知识普及教育号召&#xff0c;平安产险安徽分公司联动安徽中医药临床研究中心附属医院&#xff0c;于近日在朝霞小学举办了一场儿童安全防范与健康守护活动。此次活动旨在提升学生的安全防范意识&#xff0c;守护儿童健康成长&#xff0c;同时有力推动金融知识与传统…...

C语言练习:求数组的最大值与最小值

文章目录 1. 提出任务2. 完成任务2.1 方法一&#xff1a;通过返回结构体指针来间接返回结果2.1.1 编写程序&#xff0c;实现功能2.1.2 运行程序&#xff0c;查看结果 2.2 方法二&#xff1a;通过参数传递数组&#xff0c;并在函数中修改传入的参数2.2.1 编写程序&#xff0c;实…...

c++ thread线程join、detach、joinable方法

(621条消息) 线程中断Thread的interrupt()方法_thread interrupt_萝卜阿咕咕的博客-CSDN博客 C/C编程&#xff1a;std::thread 详解-CSDN博客 #include <iostream> #include <thread>void do_some_work() {std::cout<<"Hello Concurrent World\n"…...

【算法刷题】leetcode hot 100 哈希篇

文章目录 1. 两数之和49. 字母异位词分组128. 最长连续序列总结 1. 两数之和 leetcode&#xff1a;https://leetcode.cn/problems/two-sum/description/?envTypestudy-plan-v2&envIdtop-100-liked暴力解决&#xff1a; public int[] twoSum(int[] nums, int target) {for …...

linux系统(ubuntu,uos等)连接鸿蒙next(mate60)设备

以前在linux上是用adb连接&#xff0c;现在升级 到了鸿蒙next&#xff0c;adb就不好用了。得用Hdc来了&#xff0c;在windows上安装了hisuit用的好好的&#xff0c;但是到了linux(ubuntu2204)下载安装了 下载中心 | 华为开发者联盟-HarmonyOS开发者官网&#xff0c;共建鸿蒙生…...

支付宝实名认证

实名认证后台服务主要涉及两个接口&#xff1a;人脸核身初始化接口、人脸核身结果查询接口 import com.alibaba.fastjson.JSONObject; import com.alipay.api.*; import com.alipay.api.domain.DatadigitalFincloudGeneralsaasFaceVerificationInitializeModel; import com.ali…...

GO随想:GO的并发等待

协程并发等待技术——WaitGroup 类型和 errgroup 包 waitgroup 阻塞等待多个并发任务执行完成。WaitGroup 类型主要包含下面几个方法。 func (wg *WaitGroup) Add(delta int) func (wg *WaitGroup) Done() func (wg *WaitGroup) Wait() 第一个是 Add 方法&#xff0c;在任务运…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

Easy Excel

Easy Excel 一、依赖引入二、基本使用1. 定义实体类&#xff08;导入/导出共用&#xff09;2. 写 Excel3. 读 Excel 三、常用注解说明&#xff08;完整列表&#xff09;四、进阶&#xff1a;自定义转换器&#xff08;Converter&#xff09; 其它自定义转换器没生效 Easy Excel在…...

基于 HTTP 的单向流式通信协议SSE详解

SSE&#xff08;Server-Sent Events&#xff09;详解 &#x1f9e0; 什么是 SSE&#xff1f; SSE&#xff08;Server-Sent Events&#xff09; 是 HTML5 标准中定义的一种通信机制&#xff0c;它允许服务器主动将事件推送给客户端&#xff08;浏览器&#xff09;。与传统的 H…...