syntax = "proto3";
option go_package = "../protogo";

/**  卫星信息相关的接口  **/
// 后端返回：卫星列表-带根数
// tableId: Satellite_Element_List
message RetSatelliteElement{
  int32 id = 1;
  string name = 2;
  string norad = 3;
  string code = 4; // 国际编号
  string codeCenter = 5; // 中心编号
  string dt = 6; // 星历时间
  string updateDt = 7; // 更新时间
  double e = 8;
  double a = 9;
  double i = 10;
  double o = 11;
  double w = 12;
  double m = 13;
  double period = 14; // 轨道周期
  string tle = 15; // 根数原文
}

// 前端请求：卫星删除
// tableId: Satellite_Del
message ReqSatelliteDel{
  repeated int32 id = 1;
  int32 uid = 2; // 当前登录的用户id
}

// 前端请求：卫星根数添加或更新，也是卫星添加或更新
// tableId: Satellite_Element_Update
message ReqSatelliteElementUpdate{
  string tle = 1; // 一条tle
  int32 uid = 2; // 当前登录的用户id
}

// 前端请求：卫星基本信息更新
// tableId: Satellite_Info_Update
message ReqSatelliteInfoUpdate{
  int32 id = 1; // 卫星id
  int32 uid = 2; // 当前登录的用户id
  string cnName = 3;
  string enName = 4;
  string country = 5;
  string type = 6; // 类型
  string purpose = 7; // 用途、工作性质
  string observeGrade = 8; //观测等级
  string launchDt = 9; //发射时间
  string launchPlace = 10; // 发射地点
  string carrierRocket = 11; // 运载火箭
  string ageLimit = 12; // 设计年限
  string manager = 13; // 管理单位
  string contractor = 14; // 承制商
  string platform = 15; // 卫星平台
  string payload = 16; // 载荷
  string booster = 17; // 推进器
  string power = 18; // 星载电源
  string mass = 19; // 质量
  string orbitType = 20; // 轨道类型
  string remark = 21; // 备注
}

// 后端返回：卫星列表-带基本信息
// tableId: Satellite_Info_List
message RetSatelliteInfoElement{
  int32 id = 1; // 卫星id
  string cnName = 3;
  string enName = 4;
  string country = 5;
  string type = 6; // 类型
  string purpose = 7; // 用途、工作性质
  string observeGrade = 8; //观测等级
  string launchDt = 9; //发射时间
  string launchPlace = 10; // 发射地点
  string carrierRocket = 11; // 运载火箭
  string ageLimit = 12; // 设计年限
  string manager = 13; // 管理单位
  string contractor = 14; // 承制商
  string platform = 15; // 卫星平台
  string payload = 16; // 载荷
  string booster = 17; // 推进器
  string power = 18; // 星载电源
  string mass = 19; // 质量
  string orbitType = 20; // 轨道类型
  string remark = 21; // 备注
}

// 前端请求：卫星工作参数更新
// tableId: Satellite_Param_Update
message ReqSatelliteParamUpdate{
  int32 id = 1; // 卫星id
  int32 uid = 2; // 当前登录的用户id
  string feedSource = 3; // 馈源:L/S
  string polarization = 4; // 极化方式:右/左
  double trackAcceptFreq = 5; // 接收机频率:(950-2150MHz)
  double trackAcceptThreshold = 6; // 接收机门限:(0-5)
  bool track = 7; // 是否自跟:boolean
  int32 sampleChannel = 8; // 采集通道号
  int32 rfAttenuation = 9; // 采样射频衰减
  int32 midFreqGain = 10; // 中频增益
  double centerRadioFreq = 11; // 中心射频频率
  int32 checkSignalBound = 12; // 检测信号带宽:KHz
  int32 sampleRate = 13; // 采祥率
  int32 checkSignalRange = 14; // 信号幡度门限:(0-30dB)
  int32 signalAnalyseType = 15; // 信号分析类型
}

// 后端返回：卫星列表-带工作参数
// tableId: Satellite_Param_List
message RetSatelliteParamElement{
  int32 id = 1; // 卫星id
  string feedSource = 3; // 馈源:L/S
  string polarization = 4; // 极化方式:右/左
  double trackAcceptFreq = 5; // 接收机频率:(950-2150MHz)
  double trackAcceptThreshold = 6; // 接收机门限:(0-5)
  bool track = 7; // 是否自跟:boolean
  int32 sampleChannel = 8; // 采集通道号
  int32 rfAttenuation = 9; // 采样射频衰减
  int32 midFreqGain = 10; // 中频增益
  double centerRadioFreq = 11; // 中心射频频率
  int32 checkSignalBound = 12; // 检测信号带宽:KHz
  int32 sampleRate = 13; // 采祥率
  int32 checkSignalRange = 14; // 信号幡度门限:(0-30dB)
  int32 signalAnalyseType = 15; // 信号分析类型
}

// 前端请求：根据根数获取已录入的卫星信息
// tableId: Satellite_Find_By_Element
message ReqSatelliteFind{
  int32 id = 1; // 可选，通过卫星id；返回一个值或没有
  string norad = 2; // 可选，通过卫星编号 返回一个值或没有
  repeated string element = 3; // 可选，通过卫星根数 返回多个值或没有
  enum RetType{
    Info = 0; // 返回卫星列表-带基本信息  RetSatelliteInfoElement
    Element = 1; // 返回卫星列表-带根数 RetSatelliteElement
    Param = 2; // 返回卫星列表-带工作参数 RetSatelliteParamElement
  }
  RetType retType = 4;
}