This commit is contained in:
nuknal
2024-05-21 17:46:57 +08:00
parent db650cdaa9
commit d7bf3fee48
4 changed files with 236 additions and 239 deletions

View File

@@ -1,8 +1,6 @@
package cmd package cmd
import ( import (
"fmt"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"starwiz.cn/sjy01/preprocessing/extract" "starwiz.cn/sjy01/preprocessing/extract"
@@ -23,7 +21,6 @@ var parseCmd = &cobra.Command{
} }
e := extract.NewExtractor(&params) e := extract.NewExtractor(&params)
// p.ParseAuxPlatformWithHead("demo/ref/辅助数据.dat") // 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", err := e.ExtractAux("demo/output/051622/SJY01_PMS_20240516_101236_051622_096.AUX",
"demo/temp/1.xlsx") "demo/temp/1.xlsx")

View File

@@ -7,6 +7,11 @@ import (
"github.com/xuri/excelize/v2" "github.com/xuri/excelize/v2"
) )
// 卫星时间起点 北京时间 2000-01-01 20:00:00
var (
ReferenceTime2000 = 946728000
)
func (e Extractor) ExtractAux(auxfile, xlsxfile string) error { func (e Extractor) ExtractAux(auxfile, xlsxfile string) error {
os.Remove(xlsxfile) os.Remove(xlsxfile)
if err := createAuxXlsx(xlsxfile); err != nil { if err := createAuxXlsx(xlsxfile); err != nil {

View File

@@ -7,11 +7,6 @@ import (
"github.com/xuri/excelize/v2" "github.com/xuri/excelize/v2"
) )
// 卫星时间起点 北京时间 2000-01-01 20:00:00
var (
ReferenceTime2000 = 946728000
)
// 焦面电箱辅助数据 128 字节 (每 16 行原始图像数据为一组) // 焦面电箱辅助数据 128 字节 (每 16 行原始图像数据为一组)
type AuxFocalBox struct { type AuxFocalBox struct {
TransferTime float32 // 执行转移时间 0.5us/bit TransferTime float32 // 执行转移时间 0.5us/bit
@@ -159,52 +154,52 @@ func (ab AuxFocalBox) SaveXlsx(f *excelize.File, col, row int) (int, error) {
ab.B2WinAddr, ab.B2WinAddr,
ab.B3WinAddr, ab.B3WinAddr,
ab.B4WinAddr, ab.B4WinAddr,
"面阵模式Linetime时钟周期数", "",
"面阵模式开窗地址", "",
"面阵模式开窗大小", "",
"面阵曝光时间粗调EXP_C", "",
"面阵曝光时间精调EXP_F", "",
"面阵模式最小读出行", "",
"硬盘1温度", "",
"硬盘2温度", "",
"保留", "",
"传感器温度", "",
"FPGA逻辑版本号", "",
ab.CCDWorkMode, ab.CCDWorkMode,
ab.RawDiskAvailableCap, ab.RawDiskAvailableCap,
ab.ZipDiskAvailableCap, ab.ZipDiskAvailableCap,
"原始盘状态", "",
"原始盘Host初始化状态", "",
"原始盘SATA控制器状态", "",
"原始盘SATA错误计数", "",
"压缩盘状态", "",
"压缩盘Host初始化状态", "",
"压缩盘SATA控制器状态", "",
"压缩盘SATA错误计数", "",
"保留", "",
"DDR初始化状态", "",
"原始图像硬盘状态", "",
"压缩数据硬盘状态", "",
"硬盘1读写状态", "",
"硬盘2读写状态", "",
"硬盘1初始化状态", "",
"硬盘2初始化状态", "",
"保留", "",
"保留", "",
"硬盘1禁用标志", "",
"硬盘2禁用标志", "",
"保留", "",
"B2数据移位", "",
"B1数据移位", "",
"B4数据移位", "",
"B3数据移位", "",
ab.CommandCount, ab.CommandCount,
ab.LastCommandCode, ab.LastCommandCode,
"指令接收状态", "",
"错误指令计数", "",
"错误指令帧编号", "",
"保留", "",
"传感器数字电路温度", "",
} }
for i := 0; i < len(values); i++ { for i := 0; i < len(values); i++ {

View File

@@ -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.WGS84PosX,
ap.WGS84PosY, ap.WGS84PosY,
ap.WGS84PosZ, ap.WGS84PosZ,
@@ -601,11 +601,11 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) {
ap.SS1_ExposureTime, ap.SS1_ExposureTime,
ap.SS1_Threshold, ap.SS1_Threshold,
ap.SS1_BackgroudV, ap.SS1_BackgroudV,
"星敏A上电进入boot标志", "",
"星敏AEDAC打开标志", "",
"星敏A程序版本", "",
"星敏A四元数滤波标志", "",
"星敏A系统内部工作进程代号", "",
ap.SS1_WorkMode, ap.SS1_WorkMode,
ap.SS1_ExtractStars, ap.SS1_ExtractStars,
ap.SS1_NavStars, ap.SS1_NavStars,
@@ -613,22 +613,22 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) {
ap.SS1_RegonizedStars, ap.SS1_RegonizedStars,
ap.SS1_ExtenalImage, ap.SS1_ExtenalImage,
ap.SS1_AttitudeActive, ap.SS1_AttitudeActive,
"星敏A内部软件版本号低3位", "",
"星敏A产品设备编号低5位", "",
"星敏A成像传感器温度", "",
"星敏A在轨EDAC错误计数", "",
ap.SS1_ImgFrmNo, ap.SS1_ImgFrmNo,
"星敏A四星寻找阈值", "",
"星敏A跟踪阈值", "",
"星敏ASAA阈值", "",
"星敏ASAA工作模式", "",
"星敏A动态模式标志位", "",
ap.SS1_XAV, ap.SS1_XAV,
ap.SS1_YAV, ap.SS1_YAV,
ap.SS1_ZAV, ap.SS1_ZAV,
"星敏A星点阈值自适应功能", "",
"保留", "",
"星敏A速率质量", "",
ap.SS2_UTCTime, ap.SS2_UTCTime,
ap.SS2_UTCTimeFrac, ap.SS2_UTCTimeFrac,
ap.SS2_Q1, ap.SS2_Q1,
@@ -638,11 +638,11 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) {
ap.SS2_ExposureTime, ap.SS2_ExposureTime,
ap.SS2_Threshold, ap.SS2_Threshold,
ap.SS2_BackgroudV, ap.SS2_BackgroudV,
"星敏B上电进入boot标志", "",
"星敏BEDAC打开标志", "",
"星敏B程序版本", "",
"星敏B四元数滤波标志", "",
"星敏B系统内部工作进程代号", "",
ap.SS2_WorkMode, ap.SS2_WorkMode,
ap.SS2_ExtractStars, ap.SS2_ExtractStars,
ap.SS2_NavStars, ap.SS2_NavStars,
@@ -650,17 +650,17 @@ func (ap AuxPlatform) SaveXlsx(f *excelize.File, col, row int) (int, error) {
ap.SS2_RegonizedStars, ap.SS2_RegonizedStars,
ap.SS2_ExtenalImage, ap.SS2_ExtenalImage,
ap.SS2_AttitudeActive, ap.SS2_AttitudeActive,
"星敏B内部软件版本号低3位", "",
"星敏B产品设备编号低5位", "",
"星敏B成像传感器温度", "",
"星敏B在轨EDAC错误计数", "",
ap.SS2_ImgFrmNo, ap.SS2_ImgFrmNo,
"星敏B四星寻找阈值", "",
"星敏B跟踪阈值", "",
"星敏BSAA阈值", "",
"星敏BSAA工作模式", "",
"星敏B动态模式标志位", "",
"保留", "",
ap.FlyWheel1_Vel, ap.FlyWheel1_Vel,
ap.FlyWheel1_Amps, ap.FlyWheel1_Amps,
ap.FlyWheel2_Vel, ap.FlyWheel2_Vel,