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
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(&params)
// 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")

View File

@@ -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 {

View File

@@ -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++ {

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.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,