[2.13.0-arch-opt]v2x code style
This commit is contained in:
@@ -54,6 +54,12 @@ public class MogoServicePaths {
|
||||
@Keep
|
||||
public static final String PATH_AUTO_PILOT = "/auto_pilot/api";
|
||||
|
||||
/**
|
||||
* AiCloud socket 数据透出业务模块
|
||||
*/
|
||||
@Keep
|
||||
public static final String PATH_AI_CLOUD = "/ai_cloud/api";
|
||||
|
||||
/**
|
||||
* 业务Biz 模块
|
||||
*/
|
||||
@@ -93,7 +99,6 @@ public class MogoServicePaths {
|
||||
@Keep
|
||||
public static final String PATH_DATA_CENTER_MODULE = "/data_center/api";
|
||||
|
||||
|
||||
@Keep
|
||||
public static final String PATH_IDENTIFY = "/map/identify";
|
||||
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import java.io.Serializable
|
||||
|
||||
/**
|
||||
* 路口碰撞预警、盲区预警等数据实体
|
||||
*/
|
||||
@Keep
|
||||
class V2XAdvanceWarning: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -446395L
|
||||
}
|
||||
|
||||
/**
|
||||
* 物体唯一标识
|
||||
*/
|
||||
var objectId: String? = null
|
||||
|
||||
/**
|
||||
* 物体类型:
|
||||
* 1-人
|
||||
* 2-自行车
|
||||
* 3-小轿车
|
||||
* 4-摩托车
|
||||
* 5-红绿灯
|
||||
* 6-公交车
|
||||
* 8-卡车
|
||||
* 9-路边摄像头
|
||||
*/
|
||||
var objectType: Int? = -1
|
||||
|
||||
/**
|
||||
* 1-add
|
||||
* 2-update
|
||||
* 3-delete
|
||||
*/
|
||||
var status: Int? = -1
|
||||
|
||||
/**
|
||||
* 大类标识
|
||||
* 1-预警
|
||||
* 2-规划
|
||||
* 3-拥堵
|
||||
* 4-事故
|
||||
*/
|
||||
var typeId: Int? = -1
|
||||
|
||||
/**
|
||||
* 预警下发时间
|
||||
*/
|
||||
var time: Long? = 0
|
||||
|
||||
/**
|
||||
* 预警等级
|
||||
*/
|
||||
var level: Int? = -1
|
||||
|
||||
/**
|
||||
* 危险等级:
|
||||
* 0-保留
|
||||
* 1-模型原始颜色
|
||||
* 2-通知--黄
|
||||
* 3-警告--红
|
||||
*/
|
||||
var threatLevel: Int? = -1
|
||||
|
||||
/**
|
||||
* 目标预警物所在位置
|
||||
*/
|
||||
var position: V2XLocation? = null
|
||||
|
||||
/**
|
||||
* 目标预警物朝向
|
||||
*/
|
||||
var heading: Double? = 0.0
|
||||
|
||||
/**
|
||||
* 目标预警物速度
|
||||
*/
|
||||
var speed: Double? = 0.0
|
||||
|
||||
/**
|
||||
* 目标预警物到自车距离
|
||||
*/
|
||||
var distance: Double? = 0.0
|
||||
|
||||
/**
|
||||
* 道路ID
|
||||
*/
|
||||
var roadId: String? = null
|
||||
|
||||
/**
|
||||
* 车道ID
|
||||
*/
|
||||
var laneId: String? = null
|
||||
|
||||
/**
|
||||
* 车道号:
|
||||
* 中心线编号为0, 中心线右侧编号为负数。
|
||||
* eg: 3车道通行Road的车道编号,0,-1,-2,-3
|
||||
*/
|
||||
var laneNum: Int? = Integer.MIN_VALUE
|
||||
|
||||
/**
|
||||
* 线性经纬度轨迹列表(高德)
|
||||
*/
|
||||
var gdLocusList: List<V2XLocation>? = null
|
||||
|
||||
/**
|
||||
* 轨迹列表(Wgs84坐标系)
|
||||
*/
|
||||
var locusList: List<V2XLocation>? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XAdvanceWarning(objectId=$objectId, objectType=$objectType, status=$status, typeId=$typeId, time=$time, level=$level, threatLevel=$threatLevel, position=$position, heading=$heading, speed=$speed, distance=$distance, roadId=$roadId, laneId=$laneId, laneNum=$laneNum, gdLocusList=$gdLocusList, locusList=$locusList)"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
open class V2XBaseData {
|
||||
|
||||
@JvmField
|
||||
var code = -1
|
||||
@JvmField
|
||||
var msg: String? = null
|
||||
}
|
||||
@@ -1,59 +1,70 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
sealed class V2XEvent {
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
/**
|
||||
* 长链-路口碰撞预警、盲区预警等通用Bean
|
||||
*/
|
||||
class ForwardsWarning(val type: Int = 404000, val data: V2XAdvanceWarning): V2XEvent() {
|
||||
override fun toString(): String {
|
||||
return "ForwardsWarning(type=$type, data=$data)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
data class V2XEvent(
|
||||
@SerializedName("receiveTime")
|
||||
var receiveTime: Long,
|
||||
/**
|
||||
* 长链-最优推荐线种
|
||||
*/
|
||||
class OptimalRoute(val type: Int = 402000, val data: V2XOptimalRoute): V2XEvent() {
|
||||
override fun toString(): String {
|
||||
return "OptimalRoute(type=$type, data=$data)"
|
||||
}
|
||||
}
|
||||
|
||||
@SerializedName("detectTime")
|
||||
var detectTime: Long,
|
||||
/**
|
||||
* 长链-预警目标物
|
||||
*/
|
||||
class Warning(val type: Int = 401018, val data: V2XWarningTarget): V2XEvent() {
|
||||
override fun toString(): String {
|
||||
return "Warning(type=$type, data=$data)"
|
||||
}
|
||||
}
|
||||
|
||||
@SerializedName("id")
|
||||
var id: String?,
|
||||
/**
|
||||
* 长链-道路事件
|
||||
*/
|
||||
class Road(val type: Int = 401012, val data: V2XMarkerCardResult): V2XEvent() {
|
||||
override fun toString(): String {
|
||||
return "Road(type=$type, data=$data)"
|
||||
}
|
||||
}
|
||||
|
||||
@SerializedName("center")
|
||||
var center: Center?,
|
||||
/**
|
||||
* 长链-道路事件云识别
|
||||
*/
|
||||
class RoadAI(val type: Int = 503000, val data: roadwork.Road.RW_PB): V2XEvent() {
|
||||
|
||||
@SerializedName("centerRoad")
|
||||
var centerRoad: CenterRoad?,
|
||||
override fun toString(): String {
|
||||
return "RoadAI(type=$type, data=$data)"
|
||||
}
|
||||
}
|
||||
|
||||
@SerializedName("radius")
|
||||
var radius: Double,
|
||||
/**
|
||||
* 短链-道路标记事件
|
||||
*/
|
||||
class Marker(val data: V2XMarkerResponse): V2XEvent() {
|
||||
|
||||
@SerializedName("poiType")
|
||||
var poiType: String?,
|
||||
override fun toString(): String {
|
||||
return "Marker(data=$data)"
|
||||
}
|
||||
}
|
||||
|
||||
@SerializedName("coordinateType")
|
||||
var coordinateType:Int? = null
|
||||
)
|
||||
/**
|
||||
* 长链-道路事件扩展数据结构
|
||||
*/
|
||||
class RoadEventX(val type: Int = 70001, val data: V2XRoadXData): V2XEvent() {
|
||||
|
||||
@Keep
|
||||
data class Center(
|
||||
@SerializedName("lat")
|
||||
var lat: Double,
|
||||
|
||||
@SerializedName("lon")
|
||||
var lon: Double
|
||||
)
|
||||
|
||||
@Keep
|
||||
data class CenterRoad(
|
||||
@SerializedName("bearing")
|
||||
var bearing: Double,
|
||||
|
||||
@SerializedName("laneNo")
|
||||
var laneNo: Long,
|
||||
|
||||
@SerializedName("roadId")
|
||||
var roadId: String?,
|
||||
|
||||
@SerializedName("roadName")
|
||||
var roadName: String?,
|
||||
|
||||
@SerializedName("tileId")
|
||||
var tileId: Long
|
||||
)
|
||||
override fun toString(): String {
|
||||
return "RoadEventX(type=$type, data=$data)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
|
||||
|
||||
@Keep
|
||||
data class V2XEventResult (
|
||||
@SerializedName("result")
|
||||
var result: Result?
|
||||
): BaseData()
|
||||
|
||||
@Keep
|
||||
data class Result(
|
||||
@SerializedName("eventList")
|
||||
var v2XEventList: List<V2XEventData>?
|
||||
)
|
||||
|
||||
@Keep
|
||||
data class V2XEventData(
|
||||
@SerializedName("receiveTime")
|
||||
var receiveTime: Long,
|
||||
|
||||
@SerializedName("detectTime")
|
||||
var detectTime: Long,
|
||||
|
||||
@SerializedName("id")
|
||||
var id: String?,
|
||||
|
||||
@SerializedName("center")
|
||||
var center: Center?,
|
||||
|
||||
@SerializedName("centerRoad")
|
||||
var centerRoad: CenterRoadData?,
|
||||
|
||||
@SerializedName("radius")
|
||||
var radius: Double,
|
||||
|
||||
@SerializedName("poiType")
|
||||
var poiType: String?,
|
||||
|
||||
@SerializedName("coordinateType")
|
||||
var coordinateType:Int? = null
|
||||
)
|
||||
|
||||
@Keep
|
||||
data class Center(
|
||||
@SerializedName("lat")
|
||||
var lat: Double,
|
||||
|
||||
@SerializedName("lon")
|
||||
var lon: Double
|
||||
)
|
||||
|
||||
@Keep
|
||||
data class CenterRoadData(
|
||||
@SerializedName("bearing")
|
||||
var bearing: Double,
|
||||
|
||||
@SerializedName("laneNo")
|
||||
var laneNo: Long,
|
||||
|
||||
@SerializedName("roadId")
|
||||
var roadId: String?,
|
||||
|
||||
@SerializedName("roadName")
|
||||
var roadName: String?,
|
||||
|
||||
@SerializedName("tileId")
|
||||
var tileId: Long
|
||||
)
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import java.io.Serializable
|
||||
|
||||
@Keep
|
||||
class V2XLocation: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
var lon: Double = 0.0
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
var lat: Double = 0.0
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XLocation(lon=$lon, lat=$lat)"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,825 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import com.mogo.eagle.core.data.map.entity.MarkerExploreWay
|
||||
import com.mogo.eagle.core.data.map.entity.MarkerLocation
|
||||
import java.io.Serializable
|
||||
|
||||
@Keep
|
||||
class V2XMarkerCardResult: V2XBaseData(), Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -92L
|
||||
}
|
||||
|
||||
/**
|
||||
* 要查询的数据类型
|
||||
* CARD_TYPE_USER_DATA:用户相关数据
|
||||
* CARD_TYPE_ROAD_CONDITION:路况数据
|
||||
* CARD_TYPE_LIVE:正播相关数据
|
||||
*/
|
||||
var dataType: List<String>? = null
|
||||
|
||||
/**
|
||||
* 车聊聊数据集合
|
||||
*/
|
||||
var carChat: List<V2XMarkerCarChat>? = null
|
||||
|
||||
/**
|
||||
* 分享的音乐数据集合
|
||||
*/
|
||||
var shareMusic: List<V2XMarkerShareMusic>? = null
|
||||
|
||||
/**
|
||||
* 新鲜事分享的数据集合
|
||||
*/
|
||||
var noveltyInfo: List<V2XMarkerNoveltyInfo>? = null
|
||||
|
||||
/**
|
||||
* 在线车辆数据集合
|
||||
*/
|
||||
var onlineCar: List<V2XMarkerOnlineCar>? = null
|
||||
|
||||
/**
|
||||
* 探路数据集合
|
||||
*/
|
||||
var exploreWay: List<MarkerExploreWay>? = null
|
||||
|
||||
/**
|
||||
* 服务端下发消息时间
|
||||
*/
|
||||
var messageTime: Long = 0
|
||||
|
||||
override fun toString(): String {
|
||||
return "MarkerCardResult(dataType=$dataType, carChat=$carChat, shareMusic=$shareMusic, noveltyInfo=$noveltyInfo, onlineCar=$onlineCar, exploreWay=$exploreWay, messageTime=$messageTime)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerCarChat: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -92L
|
||||
}
|
||||
|
||||
/**
|
||||
* 卡片类型
|
||||
*/
|
||||
var type: String? = null
|
||||
|
||||
/**
|
||||
* 地址信息
|
||||
*/
|
||||
var location: V2XMarkerLocation? = null
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
*/
|
||||
var userInfo: V2XMarkerUserInfo? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerCarChat(type=$type, location=$location, userInfo=$userInfo)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerShareMusic: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
*/
|
||||
var type: String? = null
|
||||
|
||||
/**
|
||||
* 音乐专辑信息
|
||||
*/
|
||||
var bookInfo: String? = null
|
||||
|
||||
/**
|
||||
* 歌曲ID
|
||||
*/
|
||||
var id = 0
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
var likeNumber = 0
|
||||
|
||||
/**
|
||||
* 位置信息
|
||||
*/
|
||||
var location: V2XMarkerLocation? = null
|
||||
|
||||
/**
|
||||
* 已弃用
|
||||
*/
|
||||
var mediaId: String? = null
|
||||
|
||||
/**
|
||||
* 歌曲封面-已弃用
|
||||
*/
|
||||
var mediaImg: String? = null
|
||||
|
||||
/**
|
||||
* 歌曲名字
|
||||
*/
|
||||
var mediaName: String? = null
|
||||
|
||||
/**
|
||||
* 歌手名字
|
||||
*/
|
||||
var mediaSinger: String? = null
|
||||
|
||||
/**
|
||||
* 播放地址
|
||||
*/
|
||||
var mediaUrl: String? = null
|
||||
|
||||
/**
|
||||
* 分享文案
|
||||
*/
|
||||
var shareContentText: String? = null
|
||||
|
||||
/**
|
||||
* 分享类型
|
||||
*/
|
||||
var shareType = 0
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
*/
|
||||
var userInfo: V2XMarkerUserInfo? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerShareMusic(bookInfo=$bookInfo, id=$id, likeNumber=$likeNumber, location=$location, mediaId=$mediaId, mediaImg=$mediaImg, mediaName=$mediaName, mediaSinger=$mediaSinger, mediaUrl=$mediaUrl, shareContentText=$shareContentText, shareType=$shareType, type=$type, userInfo=$userInfo)"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新鲜事儿Marker数据
|
||||
*/
|
||||
@Keep
|
||||
class V2XMarkerNoveltyInfo: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
*/
|
||||
var type: String? = null
|
||||
|
||||
/**
|
||||
* 车机唯一标识
|
||||
*/
|
||||
var sn: String? = null
|
||||
|
||||
/**
|
||||
* 标记坐标
|
||||
*/
|
||||
var location: V2XMarkerLocation? = null
|
||||
|
||||
/**
|
||||
* POI类型
|
||||
*/
|
||||
var poiType: String? = null
|
||||
|
||||
/**
|
||||
* 新鲜事分享内容
|
||||
*/
|
||||
var contentData: ContentData? = null
|
||||
|
||||
@Keep
|
||||
class ContentData: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 信息ID
|
||||
*/
|
||||
var infoId: String? = null
|
||||
|
||||
/**
|
||||
* 分享内容
|
||||
*/
|
||||
var content: String? = null
|
||||
|
||||
/**
|
||||
* 分享内容左上角图标
|
||||
*/
|
||||
var iconUrl: String? = null
|
||||
|
||||
/**
|
||||
* 分享内容图片
|
||||
*/
|
||||
var imgUrl: String? = null
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
var likeNum: Long = 0
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
var title: String? = null
|
||||
|
||||
/**
|
||||
* 加油站油价
|
||||
*/
|
||||
var gasPrices: String? = null
|
||||
|
||||
/**
|
||||
* 是否显示导航
|
||||
*/
|
||||
var isDisplayNavigation = false
|
||||
|
||||
/**
|
||||
* 是否显示好友主页
|
||||
*/
|
||||
var isDesplayHost = false
|
||||
|
||||
/**
|
||||
* 是否是新鲜的
|
||||
*/
|
||||
var isFabulous = false
|
||||
|
||||
/**
|
||||
* 分享类型
|
||||
*/
|
||||
var styleType: String? = null
|
||||
|
||||
/**
|
||||
* 上报类型:
|
||||
* 1-用户上报
|
||||
* 2-后台上报
|
||||
* 3-三方上报
|
||||
*/
|
||||
var uploadType: String? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "ContentData(content=$content, iconUrl=$iconUrl, imgUrl=$imgUrl, infoId=$infoId, likeNum=$likeNum, title=$title, gasPrices=$gasPrices, isDisplayNavigation=$isDisplayNavigation, isDesplayHost=$isDesplayHost, isFabulous=$isFabulous, styleType=$styleType, uploadType=$uploadType)"
|
||||
}
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerNoveltyInfo(type=$type, sn=$sn, location=$location, poiType=$poiType, contentData=$contentData)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerOnlineCar: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
*/
|
||||
var type: String? = null
|
||||
|
||||
/**
|
||||
* 车辆位置
|
||||
*/
|
||||
var location: V2XMarkerLocation? = null
|
||||
|
||||
/**
|
||||
* focus:false-未关注,true-关注
|
||||
*/
|
||||
var focus: Boolean? = null
|
||||
|
||||
/**
|
||||
* 用户数据
|
||||
*/
|
||||
var userInfo: V2XMarkerUserInfo? = null
|
||||
|
||||
/**
|
||||
* 车辆数据
|
||||
*/
|
||||
var carInfo: V2XMarkerCarInfo? = null
|
||||
|
||||
/**
|
||||
* 车辆路线
|
||||
*/
|
||||
var pois: List<V2XMarkerCarPois>? = null
|
||||
|
||||
/**
|
||||
* 动态数据
|
||||
*/
|
||||
var dynamicData: V2XMarkerDynamicData? = null
|
||||
|
||||
/**
|
||||
* 爱好数据集合
|
||||
*/
|
||||
var hobbyData: V2XMarkerHobbyDatum? = null
|
||||
|
||||
/**
|
||||
* 活动范围数据集合
|
||||
*/
|
||||
var activitiesScope: List<V2XMarkerActivitiesScope>? = null
|
||||
|
||||
/**
|
||||
* 匹配度
|
||||
*/
|
||||
var compatibility = 0
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerOnlineCar(type=$type, location=$location, focus=$focus, userInfo=$userInfo, carInfo=$carInfo, pois=$pois, dynamicData=$dynamicData, hobbyData=$hobbyData, activitiesScope=$activitiesScope, compatibility=$compatibility)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerExploreWay: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
*/
|
||||
var type: String? = null
|
||||
|
||||
/**
|
||||
* 信息ID
|
||||
*/
|
||||
var infoId: String? = null
|
||||
|
||||
/**
|
||||
* POI类型
|
||||
*/
|
||||
var poiType: String? = null
|
||||
|
||||
/**
|
||||
* 车辆唯一标识
|
||||
*/
|
||||
var sn: String? = null
|
||||
|
||||
/**
|
||||
* 位置信息
|
||||
*/
|
||||
var location: MarkerLocation? = null
|
||||
|
||||
/**
|
||||
* 车辆方位
|
||||
*/
|
||||
var direction = 0
|
||||
|
||||
/**
|
||||
* 是否可直播(1为可直播,0不可直播)
|
||||
*/
|
||||
var canLive: String? = "0"
|
||||
|
||||
/**
|
||||
* 是图片还是视频(1视频,0图片)
|
||||
*/
|
||||
var fileType = 0
|
||||
|
||||
/**
|
||||
* 车辆详细地址
|
||||
*/
|
||||
var addr: String? = null
|
||||
|
||||
/**
|
||||
* 事件下发的时间
|
||||
*/
|
||||
var generateTime: Long = 0L
|
||||
|
||||
/**
|
||||
* 城市名称
|
||||
*/
|
||||
var cityName: String? = null
|
||||
|
||||
/**
|
||||
* 距离
|
||||
*/
|
||||
var distance = 0.0
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
*/
|
||||
var userInfo: V2XMarkerUserInfo? = null
|
||||
|
||||
/**
|
||||
* 视频地址和图片地址
|
||||
*/
|
||||
var items: List<MarkerExploreWayItem>? = null
|
||||
|
||||
/**
|
||||
* 上报类型:
|
||||
* 1-用户上报
|
||||
* 2-后台上报
|
||||
* 3-三方上报
|
||||
*/
|
||||
var uploadType: String? = null
|
||||
|
||||
/**
|
||||
* 是否是新鲜的
|
||||
*/
|
||||
var isFabulous = false
|
||||
|
||||
/**
|
||||
* 需要用户判断是否拥堵 进行UGC问答
|
||||
*/
|
||||
var infoCheckNode = 0
|
||||
|
||||
var coordinateType: Int? = null
|
||||
|
||||
/**
|
||||
* polygon字段,用来表示事件围栏
|
||||
*/
|
||||
var polygon: List<V2XLocation>? = null
|
||||
|
||||
|
||||
/**
|
||||
* 事件的高精坐标
|
||||
*/
|
||||
var gpsLocation: V2XLocation? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerExploreWay(infoId=$infoId, type=$type, poiType=$poiType, sn=$sn, location=$location, direction=$direction, canLive=$canLive, fileType=$fileType, addr=$addr, generateTime=$generateTime, cityName=$cityName, distance=$distance, userInfo=$userInfo, items=$items, uploadType=$uploadType, isFabulous=$isFabulous, infoCheckNode=$infoCheckNode, coordinateType=$coordinateType)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerUserInfo: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 自车车机唯一标识
|
||||
*/
|
||||
var sn: String? = null
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
var userId: Long = 0
|
||||
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
var userName: String? = null
|
||||
|
||||
/**
|
||||
* 用户头像
|
||||
*/
|
||||
var userHead: String? = null
|
||||
|
||||
/**
|
||||
* gender": "男|女|无(也可以0|1|2根据实际库存返回即可)
|
||||
*/
|
||||
var gender: String? = null
|
||||
|
||||
/**
|
||||
* 年龄段,可以为空,与车聊聊一致
|
||||
*/
|
||||
var age: Int? = null
|
||||
|
||||
/**
|
||||
* 末次活跃周驾驶行为平均得分
|
||||
*/
|
||||
var lastActiveweekAvgscore: String? = null
|
||||
|
||||
/**
|
||||
* 车辆安全标签
|
||||
*/
|
||||
var safeLabel: String? = null
|
||||
|
||||
/**
|
||||
* 1-老司机
|
||||
* 2-安全驾驶
|
||||
* 3-危险驾驶
|
||||
*/
|
||||
var safeLabelType = 0
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerUserInfo(sn=$sn, userId=$userId, userName=$userName, userHead=$userHead, gender=$gender, age=$age, lastActiveweekAvgscore=$lastActiveweekAvgscore, safeLabel=$safeLabel, safeLabelType=$safeLabelType)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerCarInfo: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 车品牌Logo资源链接
|
||||
*/
|
||||
var carBrandLogoUrl: String? = null
|
||||
|
||||
/**
|
||||
* 车型名称
|
||||
*/
|
||||
var carTypeName: String? = null
|
||||
|
||||
/**
|
||||
* 车类型:
|
||||
* 0-普通车辆
|
||||
* 1-警车
|
||||
* 2-救护车
|
||||
* 3-失控车
|
||||
* 4-道路救援车
|
||||
*/
|
||||
var vehicleType: Int = 0
|
||||
|
||||
/**
|
||||
* 车辆直播相关信息
|
||||
*/
|
||||
var carLiveInfo: CarLiveInfo? = null
|
||||
|
||||
@Keep
|
||||
class CarLiveInfo: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* rtmp视频直播地址rtmp://
|
||||
*/
|
||||
var videoUrl: String? = null
|
||||
|
||||
/**
|
||||
* 直播频道【直播心跳接口参数】C_1
|
||||
*/
|
||||
var videoChannel: String? = null
|
||||
|
||||
/**
|
||||
* 直播源sn
|
||||
*/
|
||||
var videoSn: String? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "CarLiveInfo(videoUrl=$videoUrl, videoChannel=$videoChannel, videoSn=$videoSn)"
|
||||
}
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerCarInfo(carBrandLogoUrl=$carBrandLogoUrl, carTypeName=$carTypeName, vehicleType=$vehicleType, carLiveInfo=$carLiveInfo)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerCarPois: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 位置信息,返回的值不为空并且长度为2的倍数
|
||||
*/
|
||||
var coordinates: List<*>? = null
|
||||
|
||||
/**
|
||||
* 车的朝向角度
|
||||
*/
|
||||
var angle = 0.0
|
||||
|
||||
/**
|
||||
* 地区code
|
||||
*/
|
||||
var adcode: String? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerCarPois(coordinates=$coordinates, angle=$angle, adcode=$adcode)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerDynamicData: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* QQ音乐,懒人听书,乐听头条 2 为书籍听书,3 为新闻,1 为qq音乐
|
||||
*/
|
||||
var type = 0
|
||||
|
||||
/**
|
||||
* qq音乐id,书的bookId
|
||||
*/
|
||||
var mediaId: String? = null
|
||||
|
||||
/**
|
||||
* qq音乐url 懒人听书为“”
|
||||
*/
|
||||
var mediaUrl: String? = null
|
||||
|
||||
/**
|
||||
* 歌曲名 ,当前播放书名,新闻标题内容
|
||||
*/
|
||||
var mediaName: String? = null
|
||||
|
||||
/**
|
||||
* 演唱歌手,当前章节,新闻来源
|
||||
*/
|
||||
var mediaSinger: String? = null
|
||||
|
||||
/**
|
||||
* 歌曲封面,书籍封面,新闻预览图
|
||||
*/
|
||||
var mediaImg: String? = null
|
||||
|
||||
/**
|
||||
* 音乐类别,类似经典 ,流行只有qq特有
|
||||
*/
|
||||
var mediaType: String? = null
|
||||
|
||||
/**
|
||||
* 音频总时长
|
||||
*/
|
||||
var maxTime = 0
|
||||
|
||||
/**
|
||||
* 懒人听书json串
|
||||
*/
|
||||
var bookInfo: String? = null
|
||||
|
||||
/**
|
||||
* 当前播放时长,可以不加,播放进度单独独立出来
|
||||
*/
|
||||
var curTime = 0
|
||||
|
||||
/**
|
||||
* 是否是本地音频,只有qq音乐
|
||||
*/
|
||||
var isLocalMedia = false
|
||||
|
||||
/**
|
||||
* 播放模式,顺序,单曲循环,随机
|
||||
*/
|
||||
var mediaPlayMode = 0
|
||||
|
||||
/**
|
||||
* 1 播放 2 缓冲 0 暂停/停止 -1 播放错误
|
||||
*/
|
||||
var playState = 0
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerDynamicData(type=$type, mediaId=$mediaId, mediaUrl=$mediaUrl, mediaName=$mediaName, mediaSinger=$mediaSinger, mediaImg=$mediaImg, mediaType=$mediaType, maxTime=$maxTime, bookInfo=$bookInfo, curTime=$curTime, isLocalMedia=$isLocalMedia, mediaPlayMode=$mediaPlayMode, playState=$playState)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerHobbyDatum: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 最喜欢的两位歌手
|
||||
*/
|
||||
var singerTop2: List<MarkerOnlineTag>? = null
|
||||
|
||||
/**
|
||||
* 最喜欢的两种音乐类型
|
||||
*/
|
||||
var songTypeTop2: List<MarkerOnlineTag>? = null
|
||||
|
||||
/**
|
||||
* 最喜欢的资讯类型
|
||||
*/
|
||||
var newsType: List<MarkerOnlineTag>? = null
|
||||
|
||||
/**
|
||||
* 最喜欢听的两本书
|
||||
*/
|
||||
var listenBookTop2: List<MarkerOnlineTag>? = null
|
||||
|
||||
/**
|
||||
* 是否喜爱社交
|
||||
*/
|
||||
var ifSociety: List<MarkerOnlineTag>? = null
|
||||
|
||||
@Keep
|
||||
class MarkerOnlineTag: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 社交内容
|
||||
*/
|
||||
var content: String? = null
|
||||
|
||||
/**
|
||||
* 是否选中
|
||||
*/
|
||||
var isCheck: Boolean = false
|
||||
|
||||
override fun toString(): String {
|
||||
return "MarkerOnlineTag(content=$content, isCheck=$isCheck)"
|
||||
}
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerHobbyDatum(singerTop2=$singerTop2, songTypeTop2=$songTypeTop2, newsType=$newsType, listenBookTop2=$listenBookTop2, ifSociety=$ifSociety)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerActivitiesScope: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 活动范围内容
|
||||
*/
|
||||
var content: String? = null
|
||||
|
||||
/**
|
||||
* 是否选中
|
||||
*/
|
||||
var isCheck: Boolean = false
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerActivitiesScope(content=$content, isCheck=$isCheck)"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 道路情报,V2X预警,地图道路事件POI,违章停车POI等
|
||||
*/
|
||||
@Keep
|
||||
class MarkerExploreWayItem: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 缩略图
|
||||
*/
|
||||
var thumbnail: String? = null
|
||||
|
||||
/**
|
||||
* 正式图
|
||||
*/
|
||||
var url: String? = null
|
||||
|
||||
/**
|
||||
* 描述字段
|
||||
*/
|
||||
var content: String? = null
|
||||
|
||||
/**
|
||||
* 违章停车人数
|
||||
*/
|
||||
var illegalCount = 0.0
|
||||
|
||||
override fun toString(): String {
|
||||
return "MarkerExploreWayItem(thumbnail=$thumbnail, url=$url, content=$content, illegalCount=$illegalCount)"
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class V2XMarkerLocation: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
var lat: Double = 0.0
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
var lon: Double = 0.0
|
||||
|
||||
/**
|
||||
* 车头角度,可以没有
|
||||
*/
|
||||
var angle: Double = 0.0
|
||||
|
||||
/**
|
||||
* 具体的位置信息
|
||||
*/
|
||||
var address: String? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerLocation(lat=$lat, lon=$lon, angle=$angle, address=$address)"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import com.elegant.network.BaseResp
|
||||
import java.io.Serializable
|
||||
|
||||
@Keep
|
||||
class V2XMarkerResponse: BaseResp(), Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 响应的数据集
|
||||
*/
|
||||
var result: V2XMarkerCardResult? = null
|
||||
|
||||
/**
|
||||
* TODO 不知道啥含义,可以忽略
|
||||
*/
|
||||
var sign: String? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XMarkerResponse(result=$result, sign=$sign)"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import java.io.Serializable
|
||||
|
||||
/**
|
||||
* 最优路线推荐
|
||||
*/
|
||||
@Keep
|
||||
class V2XOptimalRoute: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 自车SN
|
||||
*/
|
||||
var sn: String? = null
|
||||
|
||||
/**
|
||||
* 道路ID
|
||||
*/
|
||||
var road_id: String? = null
|
||||
|
||||
/**
|
||||
* 车道ID-2D路段
|
||||
*/
|
||||
var current_lane_id: String? = null
|
||||
|
||||
/**
|
||||
* 车道号:中心线编号为0, 中心线右侧编号为负数,3车道通行Road的车道编号,0,-1,-2,-3
|
||||
*/
|
||||
var current_lane_num = 0
|
||||
|
||||
/**
|
||||
* 最优车道平均速度
|
||||
*/
|
||||
var most_speed = 0.0
|
||||
|
||||
/**
|
||||
* 车道号:中心线编号为0, 中心线右侧编号为负数,3车道通行Road的车道编号,0,-1,-2,-3
|
||||
*/
|
||||
var most_lane_num = 0
|
||||
|
||||
/**
|
||||
* Wgs84坐标系,线性经纬度轨迹列表
|
||||
*/
|
||||
var locus_list: List<V2XLocation>? = null
|
||||
|
||||
/**
|
||||
* 高德坐标系Gcj,线性经纬度轨迹列表
|
||||
*/
|
||||
var gd_locus_list: List<V2XLocation>? = null
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
|
||||
|
||||
@Keep
|
||||
data class V2XRoadXData(
|
||||
val poiType: String? = null,
|
||||
val center: Point? = null,
|
||||
val centerRoad: CenterRoad? = null,
|
||||
val congestionLanes: List<Congestion>? = null,
|
||||
val coordinateType: Int? = -1,
|
||||
val id: String? = null,
|
||||
val index: String? = null,
|
||||
val obstacles: List<Obstacle>? = null,
|
||||
val polygon: List<Point>? = null,
|
||||
val type: Int? = 0,
|
||||
val detectTime: Long? = 0L,
|
||||
val crossId: String? = null
|
||||
)
|
||||
|
||||
@Keep
|
||||
data class CenterRoad(
|
||||
val bearing: Double? = 0.0,
|
||||
val laneNo: Int? = null,
|
||||
val roadId: String? = null,
|
||||
val roadName: String? = null,
|
||||
val tileId: Int? = 0,
|
||||
val heading: String? = null
|
||||
)
|
||||
|
||||
@Keep
|
||||
data class Congestion(
|
||||
val laneId: Int? = null,
|
||||
val level: Int? = null
|
||||
)
|
||||
|
||||
@Keep
|
||||
data class Obstacle(
|
||||
val boundBox: List<PointX>? = null,
|
||||
val center: Point? = null,
|
||||
val id: Int? = null,
|
||||
val polygon: List<Point>? = null,
|
||||
val score: Double? = null,
|
||||
val type: Int? = null
|
||||
)
|
||||
|
||||
|
||||
@Keep
|
||||
data class Point(
|
||||
val lon: Double? = null,
|
||||
val lat: Double? = null
|
||||
)
|
||||
|
||||
@Keep
|
||||
data class PointX(
|
||||
val x: Double? = null,
|
||||
val y: Double? = null
|
||||
)
|
||||
@@ -0,0 +1,175 @@
|
||||
package com.mogo.eagle.core.data.v2x
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import java.io.Serializable
|
||||
|
||||
/**
|
||||
* 预警目标物数据模型
|
||||
*/
|
||||
@Keep
|
||||
class V2XWarningTarget: Serializable {
|
||||
|
||||
companion object {
|
||||
private const val serialVersionUID = -93L
|
||||
}
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
* 行人-1
|
||||
* 自行车-2
|
||||
* 摩托车-4
|
||||
* 骑行车辆-11
|
||||
*/
|
||||
var type = 0
|
||||
|
||||
/**
|
||||
* 目标物纬度
|
||||
*/
|
||||
var lat = 0.0
|
||||
|
||||
/**
|
||||
* 目标物经度
|
||||
*/
|
||||
var lon = 0.0
|
||||
|
||||
/**
|
||||
* 目标物颜色
|
||||
*/
|
||||
var targetColor: String? = null
|
||||
|
||||
/**
|
||||
* 目标物距自车距离
|
||||
*/
|
||||
var distance = 0.0
|
||||
|
||||
/**
|
||||
* 预测碰撞点位置-纬度
|
||||
*/
|
||||
var collisionLat = 0.0
|
||||
|
||||
/**
|
||||
* 预测碰撞点位置-经度
|
||||
*/
|
||||
var collisionLon = 0.0
|
||||
|
||||
/**
|
||||
* 目标物行驶朝向
|
||||
*/
|
||||
var angle = 0.0
|
||||
|
||||
/**
|
||||
* 目标物方位
|
||||
* 方位:前 后 左 右
|
||||
*/
|
||||
var direction = 0
|
||||
|
||||
/**
|
||||
* 目标物速度
|
||||
*/
|
||||
var speed = 0f
|
||||
|
||||
/**
|
||||
* 停止线经纬度
|
||||
*/
|
||||
var stopLines: List<V2XLocation>? = null
|
||||
|
||||
/**
|
||||
* 自车到停止线距离
|
||||
*/
|
||||
var stopLineDistance = 0.0
|
||||
|
||||
/**
|
||||
* 道路唯一标识
|
||||
*/
|
||||
var roadId: String? = null
|
||||
|
||||
/**
|
||||
* 车道唯一标识
|
||||
*/
|
||||
var laneId: String? = null
|
||||
|
||||
/**
|
||||
* 识别物体唯一标识
|
||||
*/
|
||||
var uuid: String? = null
|
||||
|
||||
/**
|
||||
* 红绿灯颜色
|
||||
*/
|
||||
var color: String? = null
|
||||
|
||||
/**
|
||||
* 车ID 暂不使用
|
||||
*/
|
||||
var carId: String? = null
|
||||
|
||||
/**
|
||||
* 预警文案
|
||||
*/
|
||||
var warningContent: String? = null
|
||||
|
||||
/**
|
||||
* 车头朝向
|
||||
*/
|
||||
var heading = 0.0
|
||||
|
||||
/**
|
||||
* 系统时间 暂时没用
|
||||
*/
|
||||
var systemTime: Long = 0
|
||||
|
||||
/**
|
||||
* 定位卫星时间 暂时没用
|
||||
*/
|
||||
var satelliteTime: Long = 0
|
||||
|
||||
/**
|
||||
* 预警蒙层等展示时长
|
||||
*/
|
||||
var showTime: Long = 0
|
||||
|
||||
/**
|
||||
* 设计划线宽度与道路同宽
|
||||
*/
|
||||
var roadwidth = 0f
|
||||
|
||||
/**
|
||||
* 自组字段, tts播报
|
||||
*/
|
||||
var tts: String? = null
|
||||
|
||||
/**
|
||||
* 自车位置
|
||||
*/
|
||||
var carLocation: V2XLocation? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "V2XWarningEntity{" +
|
||||
"type=" + type +
|
||||
", lat=" + lat +
|
||||
", lon=" + lon +
|
||||
", targetColor='" + targetColor + '\'' +
|
||||
", distance=" + distance +
|
||||
", collisionLat=" + collisionLat +
|
||||
", collisionLon=" + collisionLon +
|
||||
", angle=" + angle +
|
||||
", direction=" + direction +
|
||||
", speed=" + speed +
|
||||
", stopLines=" + stopLines +
|
||||
", stopLineDistance=" + stopLineDistance +
|
||||
", roadId='" + roadId + '\'' +
|
||||
", laneId='" + laneId + '\'' +
|
||||
", uuid='" + uuid + '\'' +
|
||||
", color='" + color + '\'' +
|
||||
", carId='" + carId + '\'' +
|
||||
", warningContent='" + warningContent + '\'' +
|
||||
", heading=" + heading +
|
||||
", systemTime=" + systemTime +
|
||||
", satelliteTime=" + satelliteTime +
|
||||
", showTime=" + showTime +
|
||||
", roadwidth=" + roadwidth +
|
||||
", tts='" + tts + '\'' +
|
||||
", carLocation=" + carLocation +
|
||||
'}'
|
||||
}
|
||||
}
|
||||
59
core/mogo-core-data/src/main/proto/road.proto
Normal file
59
core/mogo-core-data/src/main/proto/road.proto
Normal file
@@ -0,0 +1,59 @@
|
||||
syntax = "proto2";
|
||||
|
||||
package roadwork;
|
||||
|
||||
message RW_PB {
|
||||
required Roadwork_PB roadwork =1;
|
||||
optional Header header = 2;
|
||||
}
|
||||
|
||||
message Roadwork_PB{
|
||||
optional string id = 1; // 对应id
|
||||
required int32 score = 2; // 置信度
|
||||
required int64 detect_time = 3; // 发送时间
|
||||
required int32 poi_type = 4; // poi 类型
|
||||
optional int32 type = 5; // 事件类型
|
||||
required Center_PB center = 6; // 中心点坐标
|
||||
repeated GPSPoint_PB polygon = 7; // 多边形范围
|
||||
repeated Road_PB road = 8; // 车道集合信息
|
||||
}
|
||||
|
||||
message GPSPoint_PB {
|
||||
required double lat = 1; // 纬度
|
||||
required double lon = 2; // 经度
|
||||
optional double hgt = 3; // 高程
|
||||
}
|
||||
|
||||
message Road_PB{
|
||||
required string road_id = 1; // 路段id
|
||||
required string lane_no = 2; // 车道号
|
||||
required string tile_id = 3; // 瓦片id
|
||||
required int32 bearing = 4; // 方向角,正北是0度 顺时针
|
||||
}
|
||||
|
||||
message Center_PB{
|
||||
required Road_PB road = 1; // 道路信息
|
||||
required GPSPoint_PB point = 2; // 坐标
|
||||
}
|
||||
|
||||
// header
|
||||
|
||||
message Time {
|
||||
optional uint32 sec = 1; // 秒
|
||||
optional uint32 nsec = 2; // 纳秒
|
||||
}
|
||||
|
||||
message Header {
|
||||
// Sequence number for each message. Each module maintains its own counter for
|
||||
// sequence_num, always starting from 1 on boot.
|
||||
optional uint32 seq = 1;
|
||||
|
||||
// Message publishing time in seconds.
|
||||
optional Time stamp = 2;
|
||||
|
||||
// frame id
|
||||
optional string frame_id = 3;
|
||||
|
||||
// Module name.
|
||||
optional string module_name = 4;
|
||||
}
|
||||
Reference in New Issue
Block a user