From d7bf3fee48213413ec86f6071a63075da8fff63a Mon Sep 17 00:00:00 2001 From: nuknal Date: Tue, 21 May 2024 17:46:57 +0800 Subject: [PATCH] xlsx --- cmd/parse.go | 3 - extract/aux.go | 5 + extract/aux_ebox.go | 87 +++++---- extract/aux_platform.go | 380 ++++++++++++++++++++-------------------- 4 files changed, 236 insertions(+), 239 deletions(-) diff --git a/cmd/parse.go b/cmd/parse.go index 1c08a7d..ada72e4 100644 --- a/cmd/parse.go +++ b/cmd/parse.go @@ -1,8 +1,6 @@ package cmd import ( - "fmt" - "github.com/sirupsen/logrus" "github.com/spf13/cobra" "starwiz.cn/sjy01/preprocessing/extract" @@ -23,7 +21,6 @@ var parseCmd = &cobra.Command{ } e := extract.NewExtractor(¶ms) // p.ParseAuxPlatformWithHead("demo/ref/辅助数据.dat") - fmt.Println("Reference Time: 2000-01-01 12:00:00 UTC, seconds:", extract.Time2000UTCSec()) err := e.ExtractAux("demo/output/051622/SJY01_PMS_20240516_101236_051622_096.AUX", "demo/temp/1.xlsx") diff --git a/extract/aux.go b/extract/aux.go index 312465b..9e3132a 100644 --- a/extract/aux.go +++ b/extract/aux.go @@ -7,6 +7,11 @@ import ( "github.com/xuri/excelize/v2" ) +// 卫星时间起点 北京时间 2000-01-01 20:00:00 +var ( + ReferenceTime2000 = 946728000 +) + func (e Extractor) ExtractAux(auxfile, xlsxfile string) error { os.Remove(xlsxfile) if err := createAuxXlsx(xlsxfile); err != nil { diff --git a/extract/aux_ebox.go b/extract/aux_ebox.go index 6116f6f..189981e 100644 --- a/extract/aux_ebox.go +++ b/extract/aux_ebox.go @@ -7,11 +7,6 @@ import ( "github.com/xuri/excelize/v2" ) -// 卫星时间起点 北京时间 2000-01-01 20:00:00 -var ( - ReferenceTime2000 = 946728000 -) - // 焦面电箱辅助数据 128 字节 (每 16 行原始图像数据为一组) type AuxFocalBox struct { TransferTime float32 // 执行转移时间 0.5us/bit @@ -159,52 +154,52 @@ func (ab AuxFocalBox) SaveXlsx(f *excelize.File, col, row int) (int, error) { ab.B2WinAddr, ab.B3WinAddr, ab.B4WinAddr, - "面阵模式Linetime时钟周期数", - "面阵模式开窗地址", - "面阵模式开窗大小", - "面阵曝光时间粗调EXP_C", - "面阵曝光时间精调EXP_F", - "面阵模式最小读出行", - "硬盘1温度", - "硬盘2温度", - "保留", - "传感器温度", - "FPGA逻辑版本号", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", ab.CCDWorkMode, ab.RawDiskAvailableCap, ab.ZipDiskAvailableCap, - "原始盘状态", - "原始盘Host初始化状态", - "原始盘SATA控制器状态", - "原始盘SATA错误计数", - "压缩盘状态", - "压缩盘Host初始化状态", - "压缩盘SATA控制器状态", - "压缩盘SATA错误计数", - "保留", - "DDR初始化状态", - "原始图像硬盘状态", - "压缩数据硬盘状态", - "硬盘1读写状态", - "硬盘2读写状态", - "硬盘1初始化状态", - "硬盘2初始化状态", - "保留", - "保留", - "硬盘1禁用标志", - "硬盘2禁用标志", - "保留", - "B2数据移位", - "B1数据移位", - "B4数据移位", - "B3数据移位", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", ab.CommandCount, ab.LastCommandCode, - "指令接收状态", - "错误指令计数", - "错误指令帧编号", - "保留", - "传感器数字电路温度", + "", + "", + "", + "", + "", } for i := 0; i < len(values); i++ { diff --git a/extract/aux_platform.go b/extract/aux_platform.go index 4fc823e..18a39aa 100644 --- a/extract/aux_platform.go +++ b/extract/aux_platform.go @@ -416,164 +416,164 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) { "", "", "", - "锂电池温度", - "相机主镜温度", - "相机次镜温度", - "推进模块温度", - "负X侧相机桁架杆温度", - "正X正Y侧相机桁架杆温度", - "正X负Y侧相机桁架杆温度", - "正X侧相机支撑背板温度", - "负X侧相机支撑背板温度", - "星敏支架温度", - "成像电箱温度", - "正Y帆板温度", - "电源下位机温度", - "配电热控驱动温度", - "电源控制器温度", - "数字太阳敏矢量数据有效位", - "数字太阳敏矢量数据X", - "数字太阳敏矢量数据Y", - "数字太阳敏位置X1", - "数字太阳敏位置X2", - "数字太阳敏位置Y1", - "数字太阳敏位置Y2", - "太阳敏温度", - "数字太阳敏当前正在使用的阈值(源码)", - "数字太阳敏当前正在使用的增益", - "保留", - "保留", - "保留", - "错误码计数", - "单粒子错误计数", - "配电错误码1", - "配电错误码2", - "配电错误码3", - "配电错误码4", - "配电错误码5", - "GPS天内秒", - "GPSUTC时间累计秒", - "太阳阵电流", - "母线电流", - "负载电流", - "蓄电池电压", - "电源母线电压", - "CPU5.2V电压遥测值", - "5.2V配电电压遥测值", - "保留", - "蓄电池组当前电量", - "模式运行时间秒", - "卫星现运行模式", - "组合业务标识", - "当前业务状态", - "中心机指令接收总计数", - "中心机错误指令计数", - "执行指令所在分系统", - "执行指令的指令代码", - "执行延时指令总计数", - "当前延时指令计数", - "执行延时指令所在分系统", - "执行延时指令的指令代码", - "当前延时业务计数", - "成功执行业务计数", - "异常中止业务计数", - "指令执行状态", - "业务异常中止状态", - "测控数传一体机通信状态", - "保留", - "北斗短报文通信状态", - "GPS接收机通信状态", - "数字太阳敏通信状态", - "星敏1通信状态", - "星敏2通信状态", - "光纤陀螺通信状态", - "MEMS陀螺通信状态", - "飞轮1通信状态", - "飞轮2通信状态", - "飞轮3通信状态", - "飞轮4通信状态", - "智能载荷通信状态", - "保留", - "保留", - "电磁阀开关状态", - "业务保存状态", - "卫星类型标识", - "卫星序号标识", - "保留", - "保留", - "保留", - "保留", - "锂电池加热器通断状态", - "相机主镜加热器通断状态", - "相机次镜加热器通断状态", - "推进模块加热器通断状态", - "相机负X侧桁架杆加热器通断状态", - "成像电箱加热器通断状态", - "相机正X正Y侧桁架杆加热器通断状态", - "相机正X负Y侧桁架杆加热器通断状态", - "相机正X侧支撑背板加热器通断状态", - "相机负X侧支撑背板加热器通断状态", - "星敏支架加热器通断状态", - "保留", - "温度修正系数校验状态", - "电源下位机广播帧监视功能", - "当前控温码表", - "默认控温码表", - "飞轮1电源供电状态", - "飞轮2电源供电状态", - "飞轮3电源供电状态", - "SADA1电源供电状态", - "SADA2电源供电状态", - "测控数传电源供电状态", - "保留", - "保留", - "北斗短报文供电状态", - "推进电源供电状态", - "焦面电源供电状态", - "飞轮4电源供电状态", - "星敏1电源供电状态", - "星敏2电源供电状态", - "数字太阳敏电源供电状态", - "导航电源供电状态", - "三轴光纤陀螺电源供电状态", - "MEMS陀螺电源供电状态", - "热控正线状态", - "热控1状态", - "热控2状态", - "保留", - "保留", - "保留", - "锂电池加热器控温模式", - "相机主镜加热器控温模式", - "相机次镜加热器控温模式", - "推进模块加热器控温模式", - "相机负X侧桁架杆加热器控温模式", - "相机正X正Y侧桁架杆加热器控温模式", - "相机正X负Y侧桁架杆加热器控温模式", - "相机正X侧支撑背板加热器控温模式", - "相机负X侧支撑背板加热器控温模式", - "星敏支架加热器控温模式", - "成像电箱加热器控温模式", - "保留", - "保留", - "保留", - "保留", - "保留", - "保留", - "保留", - "接收机时间来源", - "定位模式", - "轨道数据有效标示", - "主备机标志", - "PPS状态", - "GPS最高信噪比", - "BD最高信噪比", - "参与定位的GPS导航星数", - "参与定位的BD导航星数", - "GPS几何精度因子", - "GPS连续工作时间", - "保留", - "保留", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", ap.WGS84PosX, ap.WGS84PosY, ap.WGS84PosZ, @@ -601,11 +601,11 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) { ap.SS1_ExposureTime, ap.SS1_Threshold, ap.SS1_BackgroudV, - "星敏A上电进入boot标志", - "星敏AEDAC打开标志", - "星敏A程序版本", - "星敏A四元数滤波标志", - "星敏A系统内部工作进程代号", + "", + "", + "", + "", + "", ap.SS1_WorkMode, ap.SS1_ExtractStars, ap.SS1_NavStars, @@ -613,22 +613,22 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) { ap.SS1_RegonizedStars, ap.SS1_ExtenalImage, ap.SS1_AttitudeActive, - "星敏A内部软件版本号低3位", - "星敏A产品设备编号低5位", - "星敏A成像传感器温度", - "星敏A在轨EDAC错误计数", + "", + "", + "", + "", ap.SS1_ImgFrmNo, - "星敏A四星寻找阈值", - "星敏A跟踪阈值", - "星敏ASAA阈值", - "星敏ASAA工作模式", - "星敏A动态模式标志位", + "", + "", + "", + "", + "", ap.SS1_XAV, ap.SS1_YAV, ap.SS1_ZAV, - "星敏A星点阈值自适应功能", - "保留", - "星敏A速率质量", + "", + "", + "", ap.SS2_UTCTime, ap.SS2_UTCTimeFrac, ap.SS2_Q1, @@ -638,11 +638,11 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) { ap.SS2_ExposureTime, ap.SS2_Threshold, ap.SS2_BackgroudV, - "星敏B上电进入boot标志", - "星敏BEDAC打开标志", - "星敏B程序版本", - "星敏B四元数滤波标志", - "星敏B系统内部工作进程代号", + "", + "", + "", + "", + "", ap.SS2_WorkMode, ap.SS2_ExtractStars, ap.SS2_NavStars, @@ -650,17 +650,17 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) { ap.SS2_RegonizedStars, ap.SS2_ExtenalImage, ap.SS2_AttitudeActive, - "星敏B内部软件版本号低3位", - "星敏B产品设备编号低5位", - "星敏B成像传感器温度", - "星敏B在轨EDAC错误计数", + "", + "", + "", + "", ap.SS2_ImgFrmNo, - "星敏B四星寻找阈值", - "星敏B跟踪阈值", - "星敏BSAA阈值", - "星敏BSAA工作模式", - "星敏B动态模式标志位", - "保留", + "", + "", + "", + "", + "", + "", ap.FlyWheel1_Vel, ap.FlyWheel1_Amps, ap.FlyWheel2_Vel,