利用Python的xlrd和xlwt功能,开发小程序用于实现硬件GPIO译码 工作日志

待完成:

增加CA的位置识别,完成WCDMA、CDMA、GSM 译码动作

02/12  完成输入表格建立,完成译码基本框架

输入逻辑说明:

State 表示 天线的状态,取值0~30

Up/Down 表示 上下天线 取值 0~1 : 0表示上天线 1表示下天线

CA表示线控是GPIO 是单频段线控 还是 CA频段线控 取值 0~3  :0 单频段,3表示4CC

Band 表示 同一个天线状态,最多可以同时支持的频段各数

GPIO表示当前的天线状态读输入GPIO

以LTE为例如下表所示:

实现效果:输出实现代码转换

import sys
import xlrd
import xlwt

# define var
# state_max -Antenna State max Up+Down Antenna
# C1 -Used for cell value transfer
# ca_label  -Ca state mark
# nrows,ncols = number of row and col
# GPIO_Input_Value - Input of CrossMipi GPIO_Value

data = xlrd.open_workbook("Crossmipi_Gpio.xlsx")
inputtable = data.sheet_by_name("GPIO_Input_LTE")

wdata=xlwt.Workbook()
woutputtable=wdata.add_sheet(‘GPIO_Output‘)

nrows=inputtable.nrows
ncols=inputtable.ncols

state_max=nrows-2
band_config=[]

i=0
j=0
k=0
m=0

c1=0

gpio_input_value=[0,0,0,0]

# Find differrent band config in the cell
for i in range(state_max):
    for j in range(7):
        if inputtable.cell_value(i+2,j+3)!=0:
            band_config.append([])
            band_config[m]=inputtable.cell_value(i+2,j+3)
            m=m+1

band_config=list(set(band_config))

for k in range(len(band_config)):
    for i in range(state_max):
        for j in range(7):
            # band_config[k] GPIO_Input value
            if inputtable.cell_value(i+2,j+3)==band_config[k]:
                for m in range(4):
                    gpio_input_value[m]=(gpio_input_value[m] or inputtable.cell_value(i+2,m+10))
    c1=gpio_input_value[0]*8+gpio_input_value[1]*4+gpio_input_value[2]*2+gpio_input_value[3]

    woutputtable.write(k+2,2,band_config[k])
    woutputtable.write(k+2,3,c1)
    c1=0
    gpio_input_value=[0.0,0.0,0.0,0.0]

wdata.save(‘Crossmipi_Output_GPIO.xlsx‘)
时间: 2024-08-06 12:38:45

利用Python的xlrd和xlwt功能,开发小程序用于实现硬件GPIO译码 工作日志的相关文章

Python安装xlrd和xlwt的步骤以及使用报错的解决方法

一.安装xlrd和xlwt功能模块步骤 1.使用python -V查看python的版本号,并查看python安装环境,是否安装成功: 2.可以通过官网(python官网:https://pypi.python.org/pypi)或者其他手段获取到功能模块的安装程序包: 3.将程序包解压,并放在python->Lib文件下   4.在cmd命令窗口中,进入E:\Python\Python36\Lib目录下,分别进入xlrd和xlwt的目录下,执行python setup.py install命令

Python_Tips[1] -> 利用 Python 的字典实现 Switch 功能

利用 Python 的字典实现 Switch 功能 Python是没有switch语句的,当遇到需要实现switch语句的功能时,一般可以用if/else进行代替,但是还有一种更加简洁的实现方法,利用字典进行实现,将需要选择的条件设为字典的键,选择的结果设为值,通过字典键索取值的方式实现switch的功能. 1 def hello(): 2 print('Hello!') 3 4 def world(): 5 print('World!') 6 7 d = {'Hello': hello, 8

一款可支持物流查询带营销功能的小程序商城 附源码

零基础快速部署一款可支持物流查询带营销功能的小程序商城只要有基础的计算机能力都可以开发自己的小程序商城,让技术门槛降低,服务更多用户,创造无限价值!只需三步,就可开发自己的小程序商城,带拼团砍价秒杀分销优惠券等强大功能一.注册小程序账号,认证小程序.开通微信支付商户付款功能https://mp.weixin.qq.com二.下载安装小程序商城源码,部署服务器http://github.crmeb.net/u/crmeb三.后台配置 小程序基本参数,小程序域名,支付配置,下载小程序开发工具,提交源

使用mpvue开发小程序教程(二)

在上篇文章中,我们介绍了使用mpvue开发小程序所需要的一些开发环境的搭建,并创建了第一个mpvue小程序代码骨架并将其运行起来.在本文中,我们来研究熟悉一下mpvue项目的主要目录和文件结构. 在Visual Studio Code里面打开项目文件夹,我们可以看到类似如下的文件结构: firstapp ├── package.json ├── project.config.json ├── static ├── src │ ├── components │ ├── pages │ ├── ut

共享链模式开发小程序商城

微信里头的共享链是一款营销工具,解决实体店现有的营销方案难以刺激消费者.被电商的打压导致实体店的生意越来越难做.外卖成本越来越高等痛点."共享链"基于区块链技术理念而开发,以消费奖励的方式,让消费者重复消费,主动分享,持续关注.达到提升商家销量的目的.共享链模式开发小程序商城:151-1222-4001(微/电) 举例,顾客到某水果店购买商品后通过共享链支付成功后进入共享链小程序,该小程序里面会显示消费者的消费金额,奖励金额和已经到账金额,之后其他消费者也到该水果店消费,那共享链系统会

开发小程序(填坑之路,遇到一点就更新一点)

1.开发小程序发送请求时,报错不在以下合法列表中: 在开发工具详情中设置: 请参考微信官方文档:关于小程序网络相关API说明 2.如果你需要权限验证(如登录后访问),小程序不像浏览器能帮你自动携带cookie信息,那么你需要自己写在将cookie写入请求hedear中,不然每次请求都通不过权限验证. wx.request({ url: `${API_URL}/${type}`, data: Object.assign({}, params), method: 'POST', header: {

wepy开发小程序eslint报错error 'getApp' is not defined no-undef

wepy开发小程序使用getApp().globalData保存全局数据很方便,但是会在控制台看到很多报错:"error 'getApp' is not defined no-undef",这是eslint报错. 解决办法:在.eslintrc.js文件中加入   globals: { getApp: true } wepy开发小程序eslint报错error 'getApp' is not defined no-undef 原文地址:https://www.cnblogs.com/s

跨端开发小程序

在微信小程序中,每个页面都是由.js..wxss..wxmk和.json四个部分构成,代码结构比较复杂.另外,由于对ES6语法和sass等css预处理支持的不友好,导致开发效率很低,所以早早就有用vue.js来开发小程序的框架,比如webpy和mpvue,但是基本都是单纯的开发微信小程序. 可是,随着微信小程序.网页H5.头条小程序.百度小程序.支付宝小程序.快运用.原生APP的增多,每个都独立开发的话,每个前端估计都要吐血了,所以,就出现了跨端开发的框架.现在基本对多端支持足够好的,就是tar

Python中xlrd和xlwt模块使用方法

本文主要介绍python中如何使用xlrd.xlwt模块操作excel表格,其中xlrd是读excel,xlwt是写excel的库. 安装xlrd和xlwt模块 默认情况下python是没有xlrd和xlwt模块,需要自行安装.模块安装建议使用pip自动安装.安装方法参考<Python自动安装第三方模块> xlrd模块使用 测试使用excel文档名称为Demo.xlsx,内容如下: 代码如下: # -*- coding: utf-8 -*- import xlrd import xlwt fr