diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index b5a187b8..b54e6782 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -31,6 +31,7 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
+ submodules: recursive
- name: Install tools from asdf config
uses: asdf-vm/actions/install@v3
- name: set java home
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..92d44076
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "documentation"]
+ path = documentation
+ url = git@github.com:SAIC-iSmart-API/documentation.git
diff --git a/ASN.1 schema/ApplicationDataMP.asn1 b/ASN.1 schema/ApplicationDataMP.asn1
deleted file mode 100644
index c143a146..00000000
--- a/ASN.1 schema/ApplicationDataMP.asn1
+++ /dev/null
@@ -1,835 +0,0 @@
---
---
--- Message format for Application Data of the OTA protocol data for EP11
---
--- * Copyright (c) 2012 SAIC. All Rights Reserved.
---
--- 2012-04-28 v1.0 First released version.
---
---
-
-ApplicationDataMP
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
-
-
---
--- MP-UserLoggingInReq
---
-MP-UserLoggingInReq ::= SEQUENCE
-{
- password IA5String(SIZE(6..30)),
- deviceId IA5String(SIZE(1..80)) OPTIONAL
-}
-
---
--- MP-UserLoggingInResp
---
-MP-UserLoggingInResp ::= SEQUENCE
-{
- token IA5String(SIZE(32)) OPTIONAL,
-
- tokenExpiration Timestamp OPTIONAL,
-
- vinList SEQUENCE SIZE(1..256) OF Vin OPTIONAL
-}
-
---
--- Vin
---
-Vin ::= SEQUENCE
-{
-
- vin IA5String(SIZE(17)),
- name OCTET STRING(SIZE(1..128)) OPTIONAL
-
-}
-
---
--- CtlCommandReq
---
- CtlCommandReq ::= SEQUENCE
-{
- pin IA5String(SIZE(32)),
-
- command IA5String(SIZE(3)),
-
---wether TCU need return status
- needStatus BOOLEAN,
-
- config OCTET STRING(SIZE(0..63))
-}
-
---
--- VehicleStatusResp
---
-VehicleStatusResp ::= SEQUENCE
-{
-
- vehicleStatus VehicleStatus
-
-}
-
---
--- VehiclePathResp
---
-VehiclePathResp ::= SEQUENCE
-{
- leftRecordNumber INTEGER(0..255),
-
- pointList SEQUENCE SIZE(1..256) OF Point OPTIONAL
-
-}
-
---
--- Point
---
-Point ::= SEQUENCE
-{
- sequenceNumber INTEGER(0..4294967295),
-
- gpsPosition RvsPoint
-
-}
-
---
--- AlarmSwitchReq
---
-AlarmSwitchReq ::= SEQUENCE
-{
- pin IA5String(SIZE(32)),
-
- alarmSwitchList SEQUENCE SIZE(1..16) OF AlarmSwitch
-
-}
-
---
--- AlarmSwitch
---
-AlarmSwitch ::= SEQUENCE
-{
- alarmType AlarmSettingType,
-
- alarmSwitch BOOLEAN,
-
- functionSwitch BOOLEAN
-}
-
---
--- MP-AlarmReq
---
-MP-AlarmReq ::= SEQUENCE
-{
- id INTEGER(0..281474976710655)
-
-}
-
---
--- MP-AlarmResp
---
-MP-AlarmResp ::= SEQUENCE
-{
- alarmInfo AlarmInfo
-}
-
---
--- AlarmSettingResp
---
-AlarmSettingResp ::= SEQUENCE
-{
-
- alarmSettingList SEQUENCE SIZE(1..16) OF AlarmSetting
-
-}
-
---
--- AlarmSetting
---
-AlarmSetting ::= SEQUENCE
-{
- alarmType AlarmSettingType,
-
- alarmStatus BOOLEAN,
-
- functionStatus BOOLEAN
-}
-
---
--- MessageListReq
---
-MessageListReq ::= SEQUENCE
-{
- startEndNumber StartEndNumber
-}
-
---
--- MessageListResp
---
-MessageListResp ::= SEQUENCE
-{
- recordsNumber INTEGER(0..281474976710655),
-
- messages SEQUENCE SIZE(1..256) OF Message OPTIONAL
-
-}
-
---
--- MessageDetailReq
---
-MessageDetailReq ::= SEQUENCE
-{
- messageId INTEGER(0..281474976710655)
-}
-
---
-
--- MessageDetailResp
---
-MessageDetailResp ::= SEQUENCE
-{
-
- message Message
-
-}
-
---
--- GetUnreadMessageCountResp
---
-GetUnreadMessageCountResp ::= SEQUENCE
-{
- totalNumber INTEGER(0..281474976710655)
-}
-
---
--- MessageNoticeListReq
---
-MessageNoticeListReq ::= SEQUENCE
-{
- startEndNumber StartEndNumber
-}
-
---
--- MessageNoticeListResp
---
-MessageNoticeListResp ::= SEQUENCE
-{
- messages SEQUENCE SIZE(1..256) OF Message OPTIONAL
-
-}
-
---
--- Message
---
-Message ::= SEQUENCE
-{
- messageId INTEGER(0..281474976710655),
-
- messageType IA5String(SIZE(3)),
-
- title OCTET STRING(SIZE(1..128)),
-
- messageTime Timestamp,
-
- sender OCTET STRING(SIZE(1..64)),
-
- contentIdList SEQUENCE SIZE(1..256) OF ContentId OPTIONAL,
-
- content OCTET STRING(SIZE(1..2048)) OPTIONAL
-}
-
---
--- ContentId
---
-ContentId ::= SEQUENCE
-{
- contentId INTEGER(0..281474976710655)
-}
-
---
--- FavoritePOIQueryReq
---
-FavoritePOIQueryReq ::= SEQUENCE
-{
- startEndNumber StartEndNumber
-}
-
-
---
--- FavoritePOIQueryResp
---
-FavoritePOIQueryResp ::= SEQUENCE
-{
- totalNum INTEGER(0..281474976710655),
-
- poiList SEQUENCE SIZE(1..256) OF POI OPTIONAL
-}
-
-
---
--- AddToFavoritePOIReq
---
-AddToFavoritePOIReq ::= SEQUENCE
-{
- poi POI
-}
-
---
--- AddToFavoritePOIResp
---
-AddToFavoritePOIResp ::= SEQUENCE
-{
- poiId INTEGER(0..281474976710655)
-}
-
-
---
--- DeleteFavoritePOIReq
---
-DeleteFavoritePOIReq ::= SEQUENCE
-{
- poiIdList SEQUENCE SIZE(1..65536) OF POIId
-}
-
---
--- POIId
---
-POIId ::= SEQUENCE
-{
- poiId INTEGER(0..281474976710655)
-}
-
-
---
--- POISendToCarReq
---
-POISendToCarReq ::= SEQUENCE
-{
- poiList SEQUENCE SIZE(1..256) OF POI
-}
-
---
--- FuelEconomyRankingReq
---
-FuelEconomyRankingReq ::= SEQUENCE
-{
- rankingType RankingType,
-
- uid IA5String(SIZE(1..50)) OPTIONAL,
-
- startEndNumber StartEndNumber
-
-}
-
---
--- FuelEconomyRankingResp
---
-FuelEconomyRankingResp ::= SEQUENCE
-{
- totalNumber INTEGER(0..281474976710655),
-
- userRankingInfo UserRankingInfo OPTIONAL,
-
- otherUsersRankingInfo SEQUENCE SIZE(1..256) OF UserRankingInfo OPTIONAL,
-
- averageFuelConsumption INTEGER(0..65535) OPTIONAL
-
-
-}
-
---
--- SpeedReportReq
---
-SpeedReportReq ::= SEQUENCE
-{
- startEndNumber StartEndNumber,
-
- beginTime Timestamp,
-
- endTime Timestamp,
-
- unit Unit
-}
-
---
--- SpeedReportResp
---
-SpeedReportResp ::= SEQUENCE
-{
- totalNumber INTEGER(0..281474976710655),
-
- averageSpeed INTEGER(0..65535),
-
- speedInfoList SEQUENCE SIZE(1..256) OF SpeedInfo OPTIONAL
-
-
-}
-
---
--- SpeedInfo
---
-SpeedInfo ::= SEQUENCE
-{
- speed INTEGER(0..65535),
-
- time Timestamp,
-
- unit Unit
-}
-
-
---
--- UserFuelEconomyRankingReq
---
-UserFuelEconomyRankingReq ::= SEQUENCE
-{
- rankingType RankingType,
-
- nikname OCTET STRING(SIZE(1..256)) OPTIONAL,
-
- startEndNumber StartEndNumber
-
-}
-
---
--- UserFuelEconomyRankingResp
---
-UserFuelEconomyRankingResp ::= SEQUENCE
-{
- totalNumber INTEGER(0..281474976710655),
-
- userRankingInfo SEQUENCE SIZE(1..256) OF UserRankingInfo OPTIONAL
-
-
-}
-
-
---
--- UserRankingInfo
---
-UserRankingInfo ::= SEQUENCE
-{
- ranking INTEGER(0..281474976710655),
-
- nikname OCTET STRING(SIZE(1..256)),
-
- model OCTET STRING(SIZE(1..256)) OPTIONAL,
-
- fuelConsumption INTEGER(0..65535),
-
- rankingChange INTEGER(0..281474976710655),
-
- rankingChangeType RankingChangeType
-
-}
-
---
--- CityListDownloadReq
---
- CityListDownloadReq ::= SEQUENCE
-{
- cityType CityType
-
-}
-
---
--- CityListDownloadResp
---
- CityListDownloadResp ::= SEQUENCE
-{
- cityList SEQUENCE SIZE(1..128) OF ProvinceInfo
-
-}
-
---
--- ProvinceInfo
---
-ProvinceInfo ::= SEQUENCE
-{
- regionId IA5String(SIZE(6)),
-
- realName OCTET STRING(SIZE(1..64)),
-
- shortName IA5String(SIZE(1..16)),
-
- cityInfoList SEQUENCE SIZE(1..256) OF CityInfo
-}
-
---
--- CityInfo
---
-CityInfo ::= SEQUENCE
-{
- regionId IA5String(SIZE(6)),
-
- realName OCTET STRING(SIZE(1..64)),
-
- shortName IA5String(SIZE(1..16))
-}
-
---
--- RegionSettingReq
---
-RegionSettingReq ::= SEQUENCE
-{
- regionSettingSwitch RegionSettingSwitch,
-
- regionType RegionType OPTIONAL,
-
- nwPosition BasicPosition OPTIONAL,
-
- sePosition BasicPosition OPTIONAL,
-
- centerPosition BasicPosition OPTIONAL,
-
- radius INTEGER(0..281474976710655) OPTIONAL,
-
- regionId IA5String(SIZE(6)) OPTIONAL
-
-}
-
---
--- RegionSearchResp
---
-RegionSearchResp ::= SEQUENCE
-{
- regionSettingSwitch RegionSettingSwitch,
-
- regionType RegionType OPTIONAL,
-
- nwPosition BasicPosition OPTIONAL,
-
- sePosition BasicPosition OPTIONAL,
-
- centerPosition BasicPosition OPTIONAL,
-
- radius INTEGER(0..281474976710655) OPTIONAL,
-
- regionId IA5String(SIZE(6)) OPTIONAL
-
-}
-
-
-
-
-
-
---
--- POI
---
-POI ::= SEQUENCE
-{
- poiID INTEGER(0..281474976710655) OPTIONAL,
-
- isValid BOOLEAN OPTIONAL,
-
- basicPosition BasicPosition,
-
- cityCode IA5String(SIZE(6)),
-
- addressName OCTET STRING(SIZE(1..512)) OPTIONAL,
-
- phone IA5String(SIZE(1..50)) OPTIONAL,
-
- address OCTET STRING(SIZE(1..512)) OPTIONAL,
-
- postCode NumericString(SIZE(6)) OPTIONAL,
-
- creatTime Timestamp OPTIONAL
-
-}
-
-
---
--- AlarmInfo
---
-AlarmInfo ::= SEQUENCE
-{
- alarmType AlarmType,
-
- abnormalAlarmType AbnormalAlarmType OPTIONAL,
-
- alarmTime Timestamp,
-
- vehicleStatus VehicleStatus
-
-}
-
---
--- VehicleStatus
---
-VehicleStatus ::= SEQUENCE
-{
-
--- GPS Position
- gpsPosition RvsPoint,
-
- vehicleData OCTET STRING(SIZE(1..65536))
-
-}
-
---
--- Query Start Number & End Number
---
-StartEndNumber ::= SEQUENCE
-{
- startNumber INTEGER(0..281474976710655),
-
- endNumber INTEGER(0..281474976710655)
-
-}
-
-
---
--- RvsPoint
---
-RvsPoint ::= SEQUENCE
-{
- wayPoint RvsWayPoint,
-
- timestamp Timestamp,
-
- gpsStatus GPSStatus
-
-}
-
---
--- RvsWayPoint
---
-RvsWayPoint ::= SEQUENCE
-{
- position RvsWGS84Point,
-
- heading INTEGER(0..359),
-
- speed INTEGER(-1000..4500)
-
-
-}
-
---
--- RvsWGS84Point
---
-RvsWGS84Point ::= SEQUENCE
-{
- --WGS84 decimal X 1000000 e.g. latitude 57.123456 => 57123456
- latitude INTEGER (-90000000..90000000),
-
- --WGS84 decimal X 1000000 e.g. longitude 10.123456 => 10123456
- longitude INTEGER (-180000000..180000000),
-
- --altitude,UNIT:meter
- altitude INTEGER (-100..8900)
-
-
-}
-
---
--- Basic Position
---
-BasicPosition ::= SEQUENCE
-{
-
- --WGS84 decimal X 1000000 e.g. latitude 57.123456 => 57123456
- latitude INTEGER (-90000000..90000000),
-
- --WGS84 decimal X 1000000 e.g. longitude 10.123456 => 10123456
- longitude INTEGER (-180000000..180000000)
-}
-
-
-
-
---
--- Timestamp
---
-Timestamp ::= SEQUENCE
-{
-
- -- seconds since 1970-01-01T00:00:00 UTC
- seconds INTEGER(0..4294967295)
-}
-
---
--- GPS Status
---
-GPSStatus ::= ENUMERATED
-{
---NoGpsSignal = 0
- noGpsSignal(0),
-
---TimeFix = 1
- timeFix(1),
-
---Fix2D = 2
- fix2D(2),
-
---Fix3D = 3
- fix3D(3)
-
-}
-
---
--- Alarm Setting Type
---
-AlarmSettingType ::= ENUMERATED
-{
---Abnormal Alarm = 0
- abnormal(0),
-
---Moving Alarm = 1
- moving(1),
-
---Region Alarm = 2
- region(2),
-
---Engin Start Alarm = 3
- enginStart(3),
-
---Engin Start Alarm = 4
- startVehicleStatus(4)
-
-}
-
---
--- Alarm Type
---
-AlarmType ::= ENUMERATED
-{
---Abnormal Alarm = 0
- abnormal(0),
-
---Moving Alarm = 1
- moving(1),
-
---Region Alarm = 2
- region(2),
-
---Engin Start Alarm = 3
- enginStart(3)
-
-}
-
---
--- Abnormal Alarm Type
---
-AbnormalAlarmType ::= ENUMERATED
-{
---CAN Alarm = 1
- can(1),
-
---G-sensor Alarm = 2
- gSensor(2),
-
---Tbox Alarm = 3
- tbox(3),
-
---Battery Alarm = 4
- battery(4)
-
-}
-
---
--- Ranking Type
---
-RankingType ::= ENUMERATED
-{
---year ranking
- year(0),
-
---month ranking
- month(1),
-
---weekly ranking
- week(2)
-
-}
-
---
--- Ranking Change Type
---
-RankingChangeType ::= ENUMERATED
-{
---no change
- noChange(0),
-
---up
- up(1),
-
---down
- down(2)
-
-}
-
-
-
---
--- City Type
---
-CityType ::= ENUMERATED
-{
---interest city
- interest(0),
-
---all city
- all(1)
-
-}
-
-
---
---Region Setting Switch
---
-RegionSettingSwitch ::= ENUMERATED
-{
---off
- off(0),
-
---out on
- outOn(1),
-
---inOn
- inOn(2),
-
---On
- on(3)
-}
-
---
---Region Type
---
-RegionType ::= ENUMERATED
-{
---rectangle
- rectangle(0),
-
---circular
- circular(1),
-
---region
- region(2)
-}
-
---
--- Unit
---
-Unit ::= ENUMERATED
-{
---hour
- hour(0),
-
---day
- day(1),
-
---week
- week(2),
-
-
---month
- month(3)
-
-}
-
-END
\ No newline at end of file
diff --git a/ASN.1 schema/DispatcherBody.asn1 b/ASN.1 schema/DispatcherBody.asn1
deleted file mode 100644
index 8c9d09b8..00000000
--- a/ASN.1 schema/DispatcherBody.asn1
+++ /dev/null
@@ -1,148 +0,0 @@
---
---
--- Message format for Dispatcher Body of the OTA protocol data
---
--- * Copyright (c) 2012 SAIC. All Rights Reserved.
---
--- 2012-04-28 v1.0 First released version.
---
---
-
-OTA_DispatcherBody
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
---
--- Dispatcher Body
---
-DispatcherBody ::= SEQUENCE
-{
--- uniqe identifier of Application
- applicationID INTEGER(0..255),
-
--- VIN,17 ASCII characters
- vin IA5String(SIZE(17)),
-
--- Event Creation Time,use the seconds from 1970-01-01 00:00:00
- eventCreationTime INTEGER(0..2147483647),
-
--- Event ID
- eventID INTEGER(0..2147483647) OPTIONAL,
-
--- Message ID,uniqe identifier of message
- messageID INTEGER(0..255),
-
--- Message Counter
- messageCounter MessageCounter,
-
--- ACK Required,the flag of if the acknowledge signal is required
- ackRequired BOOLEAN OPTIONAL,
-
--- Stateless Dispatcher Message ,true:Stateless,false:not Stateless
- statelessDispatcherMessage BOOLEAN OPTIONAL,
-
--- Calling Request Message
- crqmRequest BOOLEAN OPTIONAL,
-
--- Basic Position
- basicPosition BasicPosition OPTIONAL,
-
--- Network Info
- networkInfo NetworkInfo OPTIONAL,
-
--- SIM Info
- simInfo NumericString(SIZE(19)) OPTIONAL,
-
--- HMI Language ,0:Simplified Chinese;1:English
- hmiLanguage LanguageType OPTIONAL,
-
--- ICC ID, uniqe identifier of SIM card
- iccID NumericString(SIZE(20)),
-
--- Application Data Message Length
- applicationDataLength INTEGER(0..255),
-
--- Application Data Encoding,0:ASN.1 PER unaligned;1:ASN.1 DER;2:ASN.1 BER
- applicationDataEncoding DataEncodingType,
-
--- Application Data Protocol Version
- applicationDataProtocolVersion INTEGER(0..65535),
-
--- Test Flag 01:test;10:prd;11:both
- testFlag INTEGER(1..3)
-}
-
---
--- Message Counter
---
-MessageCounter ::= SEQUENCE
-{
--- Uplink Counter
- uplinkCounter INTEGER(0..255),
-
--- Downlink Counter
- downlinkCounter INTEGER(0..255)
-}
-
---
--- Basic Position
---
-BasicPosition ::= SEQUENCE
-{
-
- --WGS84 decimal X 1000000 e.g. latitude 57.123456 => 57123456
- latitude INTEGER (-90000000..90000000),
-
- --WGS84 decimal X 1000000 e.g. longitude 10.123456 => 10123456
- longitude INTEGER (-180000000..180000000)
-}
-
---
--- Network Info
---
-NetworkInfo ::= SEQUENCE
-{
--- Mobile Country Code for current network
- mccNetwork NumericString(SIZE(3)),
-
--- Mobile Network Code for current network
- mncNetwork NumericString(SIZE(3)),
-
--- Mobile Country Code for the SIM card
- mccSim NumericString(SIZE(3)),
-
--- Mobile Network Code for the SIM card
- mncSim NumericString(SIZE(3)),
-
--- Signal Strength
- signalStrength INTEGER(0..99)
-}
-
---
--- Language Type
---
-LanguageType ::= ENUMERATED
-{
--- 0:Simplified Chinese
- simplifiedChinese(0),
-
--- 1:English
- english(1)
-}
-
---
--- Data Encoding Type
---
-DataEncodingType ::= ENUMERATED
-{
--- 0:ASN.1 PER unaligned
- perUnaligned(0),
--- 1:ASN.1 DER
- der(1),
--- 2:ASN.1 BER
- ber(2)
- }
-
-END
\ No newline at end of file
diff --git a/ASN.1 schema/DispatcherBodyMP.asn1 b/ASN.1 schema/DispatcherBodyMP.asn1
deleted file mode 100644
index 0c6b07d2..00000000
--- a/ASN.1 schema/DispatcherBodyMP.asn1
+++ /dev/null
@@ -1,160 +0,0 @@
---
---
--- Message format for Dispatcher Body of the OTA protocol data
---
--- * Copyright (c) 2012 SAIC. All Rights Reserved.
---
--- 2012-04-28 v1.0 First released version.
---
---
-
-OTA_DispatcherBodyMP
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
---
--- Dispatcher Body (MP)
---
-DispatcherBodyMP ::= SEQUENCE
-{
--- User ID, uniqe identifier of user
- uid IA5String(SIZE(50)) OPTIONAL,
-
--- Token of conversation
- token IA5String(SIZE(32)) OPTIONAL,
-
--- uniqe identifier of Application
- applicationID IA5String(SIZE(3)),
-
--- VIN,17 ASCII characters
- vin IA5String(SIZE(17)) OPTIONAL,
-
--- Event Creation Time,use the seconds from 1970-01-01 00:00:00
- eventCreationTime INTEGER(0..4294967295),
-
--- Event ID
- eventID INTEGER(0..281474976710655) OPTIONAL,
-
--- Message ID,uniqe identifier of message
- messageID INTEGER(0..255),
-
--- Message Counter
- messageCounter MessageCounter,
-
--- ACK Required,the flag of if the acknowledge signal is required
- ackRequired BOOLEAN OPTIONAL,
-
--- Stateless Dispatcher Message ,true:Stateless,false:not Stateless
- statelessDispatcherMessage BOOLEAN OPTIONAL,
-
--- Calling Request Message
- crqmRequest BOOLEAN OPTIONAL,
-
--- Basic Position
- basicPosition BasicPosition OPTIONAL,
-
--- Network Info
- networkInfo NetworkInfo OPTIONAL,
-
--- SIM Info
- simInfo NumericString(SIZE(19)) OPTIONAL,
-
--- HMI Language ,0:Simplified Chinese;1:English
- hmiLanguage LanguageType OPTIONAL,
-
--- ICC ID, uniqe identifier of SIM card
- iccID NumericString(SIZE(20)),
-
--- Application Data Message Length
- applicationDataLength INTEGER(0..4294967295),
-
--- Application Data Encoding,0:ASN.1 PER unaligned;1:ASN.1 DER;2:ASN.1 BER
- applicationDataEncoding DataEncodingType,
-
--- Application Data Protocol Version
- applicationDataProtocolVersion INTEGER(0..65535),
-
--- Test Flag 01:test;10:prd;11:both
- testFlag INTEGER(1..3) OPTIONAL,
-
--- Result from TAP server
- result INTEGER(0..65535) OPTIONAL,
-
--- Error Message
- errorMessage OCTET STRING(SIZE(1..128)) OPTIONAL
-}
-
---
--- Message Counter
---
-MessageCounter ::= SEQUENCE
-{
--- Uplink Counter
- uplinkCounter INTEGER(0..255),
-
--- Downlink Counter
- downlinkCounter INTEGER(0..255)
-}
-
---
--- Basic Position
---
-BasicPosition ::= SEQUENCE
-{
-
- --WGS84 decimal X 1000000 e.g. latitude 57.123456 => 57123456
- latitude INTEGER (-90000000..90000000),
-
- --WGS84 decimal X 1000000 e.g. longitude 10.123456 => 10123456
- longitude INTEGER (-180000000..180000000)
-}
-
---
--- Network Info
---
-NetworkInfo ::= SEQUENCE
-{
--- Mobile Country Code for current network
- mccNetwork NumericString(SIZE(3)),
-
--- Mobile Network Code for current network
- mncNetwork NumericString(SIZE(3)),
-
--- Mobile Country Code for the SIM card
- mccSim NumericString(SIZE(3)),
-
--- Mobile Network Code for the SIM card
- mncSim NumericString(SIZE(3)),
-
--- Signal Strength
- signalStrength INTEGER(0..99)
-}
-
---
--- Language Type
---
-LanguageType ::= ENUMERATED
-{
--- 0:Simplified Chinese
- simplifiedChinese(0),
-
--- 1:English
- english(1)
-}
-
---
--- Data Encoding Type
---
-DataEncodingType ::= ENUMERATED
-{
--- 0:ASN.1 PER unaligned
- perUnaligned(0),
--- 1:ASN.1 DER
- der(1),
--- 2:ASN.1 BER
- ber(2)
- }
-
-END
\ No newline at end of file
diff --git a/ASN.1 schema/DispatcherHeader.asn1 b/ASN.1 schema/DispatcherHeader.asn1
deleted file mode 100644
index 25e5b513..00000000
--- a/ASN.1 schema/DispatcherHeader.asn1
+++ /dev/null
@@ -1,35 +0,0 @@
---
---
--- Message format for Dispatcher Body of the OTA protocol data
---
--- * Copyright (c) 2012 SAIC. All Rights Reserved.
---
--- 2012-04-28 v1.0 First released version.
---
---
-
-OTA_DispatcherHeader
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
---
--- Dispatcher Header
---
-DispatcherHeader ::= SEQUENCE
-{
--- Protocal Version
- protocolVersion INTEGER(0..255),
-
--- Security Context
- securityContext INTEGER(0..65535),
-
--- Dispatcher Message Length
- dispatcherMessageLength INTEGER(0..255),
-
--- Dispatcher Body Encoding
- dispatcherBodyEncoding INTEGER(0..2)
-}
-
-END
\ No newline at end of file
diff --git a/ASN.1 schema/v1_1/ApplicationData.asn1 b/ASN.1 schema/v1_1/ApplicationData.asn1
deleted file mode 100644
index b7b4deae..00000000
--- a/ASN.1 schema/v1_1/ApplicationData.asn1
+++ /dev/null
@@ -1,211 +0,0 @@
-ApplicationDataModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-AlarmSwitchReq ::= SEQUENCE
-{
- pin IA5String(SIZE(32)),
- alarmSwitchList SEQUENCE SIZE(1..16) OF AlarmSwitch,
- description OCTET STRING(SIZE(0..500)) OPTIONAL
-}
-MPUserInfoResp ::= SEQUENCE
-{
- nickName OCTET STRING(SIZE(1..50)) OPTIONAL,
- address OCTET STRING(SIZE(1..500)) OPTIONAL,
- mobilePhone IA5String(SIZE(1..19)) OPTIONAL,
- emergencyName OCTET STRING(SIZE(1..50)) OPTIONAL,
- emergencyMobile IA5String(SIZE(1..19)) OPTIONAL,
- userPhoto IA5String(SIZE(1..128)) OPTIONAL,
- gender OCTET STRING(SIZE(1)) OPTIONAL,
- birthday IA5String(SIZE(8)) OPTIONAL,
- languageType LanguageType OPTIONAL,
- realName OCTET STRING(SIZE(1..150)) OPTIONAL,
- theSecondLevelCountryCode IA5String(SIZE(1..100)) OPTIONAL,
- theThirdLevelCountryCode IA5String(SIZE(1..100)) OPTIONAL,
- theSecondLevelCountryName OCTET STRING(SIZE(1..200)) OPTIONAL,
- theThirdLevelCountryName OCTET STRING(SIZE(1..200)) OPTIONAL,
- email IA5String(SIZE(0..50)) OPTIONAL
-}
-MP_UserLoggingInReq ::= SEQUENCE
-{
- password IA5String(SIZE(6..30)),
- deviceId IA5String(SIZE(1..200)) OPTIONAL
-}
-MP_UserLoggingInResp ::= SEQUENCE
-{
- token IA5String(SIZE(40)) OPTIONAL,
- refreshToken IA5String(SIZE(40)) OPTIONAL,
- tokenExpiration Timestamp OPTIONAL,
- vinList SEQUENCE SIZE(1..256) OF VinInfo OPTIONAL,
- userPhoto IA5String(SIZE(1..128)) OPTIONAL,
- userName IA5String(SIZE(8..12)),
- languageType LanguageType OPTIONAL
-}
-APPUpgradeInfoReq ::= SEQUENCE
-{
- appType APPType,
- appVersion IA5String(SIZE(1..50))
-}
-APPUpgradeInfoResp ::= SEQUENCE
-{
- hasNewVersion BOOLEAN,
- appVersion IA5String(SIZE(1..50)) OPTIONAL,
- forcedUpdate BOOLEAN OPTIONAL,
- updateUrl IA5String(SIZE(1..200)) OPTIONAL,
- updateInfoEn OCTET STRING(SIZE(1..500)) OPTIONAL,
- updateInfoTh OCTET STRING(SIZE(1..500)) OPTIONAL
-}
-MPAppAttributeResp ::= SEQUENCE
-{
- dataAppAttribute IA5String(SIZE(1..65535)) OPTIONAL
-}
-AdvertiseResp ::= SEQUENCE
-{
- advertiseVersion INTEGER(0..281474976710655) OPTIONAL,
- advertises SEQUENCE SIZE(0..255) OF Advertise OPTIONAL
-}
-AbortSendMessageReq ::= SEQUENCE
-{
- messages SEQUENCE SIZE(1..256) OF Message OPTIONAL,
- messageId INTEGER(0..281474976710655) OPTIONAL,
- actionType IA5String(SIZE(1..20)) OPTIONAL
-}
-MessageListReq ::= SEQUENCE
-{
- startEndNumber StartEndNumber,
- messageGroup IA5String(SIZE(1..20)) OPTIONAL
-}
-MessageListResp ::= SEQUENCE
-{
- recordsNumber INTEGER(0..281474976710655),
- messages SEQUENCE SIZE(1..256) OF Message OPTIONAL
-}
-GetUnreadMessageCountResp ::= SEQUENCE
-{
- totalNumber INTEGER(0..281474976710655),
- newsNumber INTEGER(0..281474976710655),
- commandNumber INTEGER(0..281474976710655),
- alarmNumber INTEGER(0..281474976710655)
-}
-SetNotificationCountReq ::= SEQUENCE
-{
- notificationCount INTEGER(0..255)
-}
-PINVerificationReq ::= SEQUENCE
-{
- pin IA5String(SIZE(32))
-}
-AlarmSwitch ::= SEQUENCE
-{
- alarmSettingType MP_AlarmSettingType,
- alarmSwitch BOOLEAN,
- functionSwitch BOOLEAN
-}
-LanguageType ::= ENUMERATED
-{
- thai(0),
- english(1),
- china(2),
- de(3),
- fr(4),
- es(5),
- nl(6),
- nn(7),
- da(8),
- sv(9),
- it(10),
- pt(11),
- pl(12),
- el(13),
- fi(14),
- arabic(15),
- hindi(16)
-}
-Timestamp ::= SEQUENCE
-{
- seconds INTEGER(0..4294967295)
-}
-VinInfo ::= SEQUENCE
-{
- vin IA5String(SIZE(17)),
- name OCTET STRING(SIZE(1..128)) OPTIONAL,
- series IA5String(SIZE(1..10)),
- brandName OCTET STRING(SIZE(1..24)),
- modelName OCTET STRING(SIZE(1..100)),
- vehiclePhoto IA5String(SIZE(1..128)) OPTIONAL,
- isAcivate BOOLEAN,
- isCurrentVehicle INTEGER(0..10) OPTIONAL,
- modelYear IA5String(SIZE(4)) OPTIONAL,
- colorName OCTET STRING(SIZE(1..50)) OPTIONAL,
- modelConfigurationJsonStr IA5String(SIZE(1..1024)) OPTIONAL,
- bindTime Timestamp OPTIONAL,
- tboxSimNo IA5String(SIZE(19)) OPTIONAL
-}
-APPType ::= ENUMERATED
-{
- ios(0),
- android(1)
-}
-Advertise ::= SEQUENCE
-{
- advertiseType IA5String(SIZE(3)) OPTIONAL,
- title OCTET STRING(SIZE(1..128)) OPTIONAL,
- photoUrl IA5String(SIZE(1..255)) OPTIONAL,
- detailsUrl IA5String(SIZE(1..255)) OPTIONAL,
- startTime Timestamp OPTIONAL,
- endTime Timestamp OPTIONAL
-}
-Message ::= SEQUENCE
-{
- messageId INTEGER(0..281474976710655),
- messageType IA5String(SIZE(3)),
- title OCTET STRING(SIZE(1..128)),
- messageTime Timestamp,
- sender OCTET STRING(SIZE(1..64)),
- contentId SEQUENCE SIZE(1..256) OF ContentId OPTIONAL,
- content OCTET STRING(SIZE(1..2048)) OPTIONAL,
- readStatus INTEGER(-128..128) OPTIONAL
-}
-StartEndNumber ::= SEQUENCE
-{
- startNumber INTEGER(0..281474976710655),
- endNumber INTEGER(0..281474976710655)
-}
-Message ::= SEQUENCE
-{
- messageId INTEGER(0..281474976710655),
- messageType IA5String(SIZE(3)),
- title OCTET STRING(SIZE(1..128)),
- messageTime Timestamp,
- sender OCTET STRING(SIZE(1..64)),
- contentId SEQUENCE SIZE(1..256) OF ContentId OPTIONAL,
- content OCTET STRING(SIZE(1..2048)) OPTIONAL,
- readStatus INTEGER(-128..128) OPTIONAL,
- vin IA5String(SIZE(17)) OPTIONAL
-}
-MP_AlarmSettingType ::= ENUMERATED
-{
- abnormal(0),
- moving(1),
- region(2),
- engineStart(3),
- startVehicleStatus(4),
- offCar(5),
- speeding(6)
-}
-Timestamp ::= SEQUENCE
-{
- seconds INTEGER(0..4294967295)
-}
-ContentId ::= SEQUENCE
-{
- contentId INTEGER(0..281474976710655)
-}
-ContentId ::= SEQUENCE
-{
- contentId INTEGER(0..281474976710655),
- description OCTET STRING(SIZE(1..255)) OPTIONAL
-}
-
-END
diff --git a/ASN.1 schema/v1_1/MP_DispatcherBody.asn1 b/ASN.1 schema/v1_1/MP_DispatcherBody.asn1
deleted file mode 100644
index a3716467..00000000
--- a/ASN.1 schema/v1_1/MP_DispatcherBody.asn1
+++ /dev/null
@@ -1,64 +0,0 @@
-MP_DispatcherBodyModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-MP_DispatcherBody ::= SEQUENCE
-{
- uid IA5String(SIZE(50)) OPTIONAL,
- token IA5String(SIZE(40)) OPTIONAL,
- applicationID IA5String(SIZE(3)),
- vin IA5String(SIZE(17)) OPTIONAL,
- eventCreationTime INTEGER(0..4294967295),
- eventID INTEGER(0..281474976710655) OPTIONAL,
- messageID INTEGER(0..255),
- messageCounter MessageCounter OPTIONAL,
- ackRequired BOOLEAN OPTIONAL,
- statelessDispatcherMessage BOOLEAN OPTIONAL,
- crqmRequest BOOLEAN OPTIONAL,
- basicPosition BasicPosition OPTIONAL,
- networkInfo NetworkInfo OPTIONAL,
- simInfo NumericString(SIZE(19)) OPTIONAL,
- hmiLanguage LanguageType OPTIONAL,
- iccID NumericString(SIZE(20)),
- applicationDataLength INTEGER(0..4294967295),
- applicationDataEncoding DataEncodingType OPTIONAL,
- applicationDataProtocolVersion INTEGER(0..65535),
- testFlag INTEGER(1..3) OPTIONAL,
- result INTEGER(0..65535) OPTIONAL,
- errorMessage OCTET STRING(SIZE(1..1024)) OPTIONAL
-}
-MessageCounter ::= SEQUENCE
-{
- uplinkCounter INTEGER(0..255),
- downlinkCounter INTEGER(0..255)
-}
-BasicPosition ::= SEQUENCE
-{
- latitude INTEGER(-90000000..90000000),
- longitude INTEGER(-180000000..180000000)
-}
-NetworkInfo ::= SEQUENCE
-{
- mccNetwork NumericString(SIZE(3)),
- mncNetwork NumericString(SIZE(3)),
- mccSim NumericString(SIZE(3)),
- mncSim NumericString(SIZE(3)),
- signalStrength INTEGER(0..99)
-}
-LanguageType ::= ENUMERATED
-{
- simplifiedChinese(0),
- english(1),
- spanish(2),
- arabic(3),
- hindi(4)
-}
-DataEncodingType ::= ENUMERATED
-{
- perUnaligned(0),
- der(1),
- ber(2)
-}
-
-END
diff --git a/ASN.1 schema/v1_1/MP_DispatcherHeader.asn1 b/ASN.1 schema/v1_1/MP_DispatcherHeader.asn1
deleted file mode 100644
index 2d48e5a8..00000000
--- a/ASN.1 schema/v1_1/MP_DispatcherHeader.asn1
+++ /dev/null
@@ -1,14 +0,0 @@
-MP_DispatcherHeaderModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-MP_DispatcherHeader ::= SEQUENCE
-{
- dispatcherBodyEncoding INTEGER(0..2),
- dispatcherMessageLength INTEGER(0..255),
- protocolVersion INTEGER(0..255),
- securityContext INTEGER(0..255)
-}
-
-END
diff --git a/ASN.1 schema/v2_1/ApplicationData.asn1 b/ASN.1 schema/v2_1/ApplicationData.asn1
deleted file mode 100644
index 8b8d5d80..00000000
--- a/ASN.1 schema/v2_1/ApplicationData.asn1
+++ /dev/null
@@ -1,138 +0,0 @@
-ApplicationDataModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-MP_SecurityAlarmResp ::= SEQUENCE
-{
- securityAlarms SEQUENCE SIZE(1..256) OF SecurityAlarm OPTIONAL
-}
-OTA_RVMVehicleStatusReq ::= SEQUENCE
-{
- vehStatusReqType INTEGER(0..255)
-}
-OTA_RVMVehicleStatusResp25857 ::= SEQUENCE
-{
- statusTime INTEGER(0..2147483647),
- gpsPosition RvsPosition(1),
- basicVehicleStatus RvsBasicStatus25857(1),
- extendedVehicleStatus RvsExtStatus(1) OPTIONAL
-}
-OTA_RVCReq ::= SEQUENCE
-{
- rvcReqType OCTET STRING(SIZE(1)),
- rvcParams SEQUENCE SIZE(1..10) OF RvcReqParam OPTIONAL
-}
-OTA_RVCStatus25857 ::= SEQUENCE
-{
- rvcReqType OCTET STRING(SIZE(1)),
- rvcReqSts OCTET STRING(SIZE(1)),
- failureType INTEGER(0..255) OPTIONAL,
- gpsPosition RvsPosition(1),
- basicVehicleStatus RvsBasicStatus25857(1)
-}
-SecurityAlarm ::= SEQUENCE
-{
- title OCTET STRING(SIZE(1..128)) OPTIONAL,
- content OCTET STRING(SIZE(1..2048)) OPTIONAL,
- messageType IA5String(SIZE(3)),
- vin IA5String(SIZE(17)),
- alertId INTEGER(0..65535),
- alertTime INTEGER(0..2147483647) OPTIONAL,
- latitude INTEGER(-90000000..90000000),
- longitude INTEGER(-180000000..180000000)
-}
-RvsPosition ::= SEQUENCE
-{
- wayPoint RvsWayPoint,
- timestamp4Short Timestamp4Short,
- gpsStatus GPSStatus
-}
-RvsBasicStatus25857 ::= SEQUENCE
-{
- driverDoor BOOLEAN,
- passengerDoor BOOLEAN,
- rearLeftDoor BOOLEAN,
- rearRightDoor BOOLEAN,
- bootStatus BOOLEAN,
- bonnetStatus BOOLEAN,
- lockStatus BOOLEAN,
- driverWindow BOOLEAN OPTIONAL,
- passengerWindow BOOLEAN OPTIONAL,
- rearLeftWindow BOOLEAN OPTIONAL,
- rearRightWindow BOOLEAN OPTIONAL,
- sunroofStatus BOOLEAN OPTIONAL,
- frontRrightTyrePressure INTEGER(0..255) OPTIONAL,
- frontLeftTyrePressure INTEGER(0..255) OPTIONAL,
- rearRightTyrePressure INTEGER(0..255) OPTIONAL,
- rearLeftTyrePressure INTEGER(0..255) OPTIONAL,
- wheelTyreMonitorStatus INTEGER(0..255) OPTIONAL,
- sideLightStatus BOOLEAN,
- dippedBeamStatus BOOLEAN,
- mainBeamStatus BOOLEAN,
- vehicleAlarmStatus INTEGER(0..255) OPTIONAL,
- engineStatus INTEGER(0..255),
- powerMode INTEGER(0..255),
- lastKeySeen INTEGER(0..65535),
- currentjourneyDistance INTEGER(0..65535),
- currentJourneyID INTEGER(0..2147483647),
- interiorTemperature INTEGER(-128..127),
- exteriorTemperature INTEGER(-128..127),
- fuelLevelPrc INTEGER(0..255),
- fuelRange INTEGER(0..65535),
- remoteClimateStatus INTEGER(0..255),
- frontLeftSeatHeatLevel INTEGER(0..255) OPTIONAL,
- frontRightSeatHeatLevel INTEGER(0..255) OPTIONAL,
- canBusActive BOOLEAN,
- timeOfLastCANBUSActivity INTEGER(0..2147483647),
- clstrDspdFuelLvlSgmt INTEGER(0..255),
- mileage INTEGER(0..2147483647),
- batteryVoltage INTEGER(0..65535),
- handBrake BOOLEAN,
- vehElecRngDsp INTEGER(0..255),
- fuelRangeElec INTEGER(0..65535) OPTIONAL,
- rmtHtdRrWndSt INTEGER(0..255),
- extendedData1 INTEGER(0..2147483647) OPTIONAL,
- extendedData2 INTEGER(0..2147483647) OPTIONAL
-}
-RvsExtStatus ::= SEQUENCE
-{
- vehicleAlerts SEQUENCE SIZE(0..64) OF VehicleAlertInfo
-}
-RvcReqParam ::= SEQUENCE
-{
- paramId INTEGER(0..65535),
- paramValue OCTET STRING(SIZE(1..255))
-}
-RvsWayPoint ::= SEQUENCE
-{
- position RvsWGS84Point,
- heading INTEGER(0..359),
- speed INTEGER(-1000..4500),
- hdop INTEGER(0..1000),
- satellites INTEGER(0..16)
-}
-Timestamp4Short ::= SEQUENCE
-{
- seconds INTEGER(0..2147483647)
-}
-GPSStatus ::= ENUMERATED
-{
- noGpsSignal(0),
- timeFix(1),
- fix2D(2),
- fix3D(3)
-}
-VehicleAlertInfo ::= SEQUENCE
-{
- id INTEGER(0..255),
- value INTEGER(0..255)
-}
-RvsWGS84Point ::= SEQUENCE
-{
- latitude INTEGER(-90000000..90000000),
- longitude INTEGER(-180000000..180000000),
- altitude INTEGER(-100..8900)
-}
-
-END
diff --git a/ASN.1 schema/v2_1/MP_DispatcherBody.asn1 b/ASN.1 schema/v2_1/MP_DispatcherBody.asn1
deleted file mode 100644
index 30177a4e..00000000
--- a/ASN.1 schema/v2_1/MP_DispatcherBody.asn1
+++ /dev/null
@@ -1,33 +0,0 @@
-MP_DispatcherBodyModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-MP_DispatcherBody ::= SEQUENCE
-{
- uid IA5String(SIZE(50)) OPTIONAL,
- token IA5String(SIZE(40)) OPTIONAL,
- applicationID IA5String(SIZE(3)),
- vin IA5String(SIZE(17)) OPTIONAL,
- messageID INTEGER(0..255),
- eventCreationTime INTEGER(0..2147483647),
- eventID INTEGER(0..2147483647) OPTIONAL,
- ulMessageCounter INTEGER(0..65535) OPTIONAL,
- dlMessageCounter INTEGER(0..65535) OPTIONAL,
- ackMessageCounter INTEGER(0..65535) OPTIONAL,
- ackRequired BOOLEAN OPTIONAL,
- applicationDataLength INTEGER(0..65535) OPTIONAL,
- applicationDataEncoding DataEncodingType OPTIONAL,
- applicationDataProtocolVersion INTEGER(0..65535) OPTIONAL,
- testFlag INTEGER(1..3) OPTIONAL,
- result INTEGER(0..65535) OPTIONAL,
- errorMessage OCTET STRING(SIZE(1..1024)) OPTIONAL
-}
-DataEncodingType ::= ENUMERATED
-{
- perUnaligned(0),
- der(1),
- ber(2)
-}
-
-END
diff --git a/ASN.1 schema/v2_1/MP_DispatcherHeader.asn1 b/ASN.1 schema/v2_1/MP_DispatcherHeader.asn1
deleted file mode 100644
index 103e8183..00000000
--- a/ASN.1 schema/v2_1/MP_DispatcherHeader.asn1
+++ /dev/null
@@ -1,13 +0,0 @@
-MP_DispatcherHeaderModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-MP_DispatcherHeader ::= SEQUENCE
-{
- dispatcherBodyEncoding INTEGER(0..2),
- dispatcherMessageLength INTEGER(0..255),
- protocolVersion INTEGER(0..255)
-}
-
-END
diff --git a/ASN.1 schema/v3_0/ApplicationData.asn1 b/ASN.1 schema/v3_0/ApplicationData.asn1
deleted file mode 100644
index de2de0fb..00000000
--- a/ASN.1 schema/v3_0/ApplicationData.asn1
+++ /dev/null
@@ -1,99 +0,0 @@
-ApplicationDataModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-OTA_ChrgCtrlReq ::= SEQUENCE
-{
- chrgCtrlReq INTEGER(0..255),
- tboxV2XReq INTEGER(0..255),
- tboxEleccLckCtrlReq INTEGER(0..255)
-}
-OTA_ChrgCtrlStsResp ::= SEQUENCE
-{
- chrgCtrlDspCmd INTEGER(0..255),
- chrgCtrlResp INTEGER(0..255),
- bmsDsChrgCtrlDspCmd INTEGER(0..255) OPTIONAL,
- bmsDsChrgCtrlResp INTEGER(0..255) OPTIONAL,
- ccuEleccLckCtrlDspCmd INTEGER(0..255) OPTIONAL,
- ccuEleccLckCtrlResp INTEGER(0..255) OPTIONAL,
- rvcReqSts OCTET STRING(SIZE(1))
-}
-OTA_ChrgMangDataResp ::= SEQUENCE
-{
- bmsReserCtrlDspCmd INTEGER(0..255),
- bmsReserStHourDspCmd INTEGER(0..255),
- bmsReserStMintueDspCmd INTEGER(0..255),
- bmsReserSpHourDspCmd INTEGER(0..255),
- bmsReserSpMintueDspCmd INTEGER(0..255),
- bmsOnBdChrgTrgtSOCDspCmd INTEGER(0..255),
- bmsEstdElecRng INTEGER(0..65535),
- bmsAltngChrgCrntDspCmd INTEGER(0..255),
- bmsChrgCtrlDspCmd INTEGER(0..255),
- chrgngRmnngTime INTEGER(0..65535),
- chrgngRmnngTimeV INTEGER(0..255),
- bmsChrgOtptCrntReq INTEGER(0..65535),
- bmsChrgOtptCrntReqV INTEGER(0..255) OPTIONAL,
- bmsPackCrnt INTEGER(0..65535),
- bmsPackCrntV INTEGER(0..255) OPTIONAL,
- bmsPackVol INTEGER(0..65535),
- bmsPackSOCDsp INTEGER(0..65535),
- bmsChrgSts INTEGER(0..255),
- bmsChrgSpRsn INTEGER(0..255),
- clstrElecRngToEPT INTEGER(0..65535),
- bmsPTCHeatReqDspCmd INTEGER(0..255),
- bmsPTCHeatResp INTEGER(0..255) OPTIONAL,
- ccuEleccLckCtrlDspCmd INTEGER(0..255) OPTIONAL,
- bmsPTCHeatSpRsn INTEGER(0..255) OPTIONAL,
- bmsDsChrgSpRsn INTEGER(0..255) OPTIONAL,
- disChrgngRmnngTime INTEGER(0..65535) OPTIONAL,
- disChrgngRmnngTimeV INTEGER(0..255) OPTIONAL,
- imcuVehElecRng INTEGER(0..65535) OPTIONAL,
- imcuVehElecRngV INTEGER(0..255) OPTIONAL,
- imcuChrgngEstdElecRng INTEGER(0..65535) OPTIONAL,
- imcuChrgngEstdElecRngV INTEGER(0..255) OPTIONAL,
- imcuDschrgngEstdElecRng INTEGER(0..65535) OPTIONAL,
- imcuDschrgngEstdElecRngV INTEGER(0..255) OPTIONAL,
- chrgngSpdngTime INTEGER(0..65535) OPTIONAL,
- chrgngSpdngTimeV INTEGER(0..255) OPTIONAL,
- chrgngAddedElecRng INTEGER(0..65535) OPTIONAL,
- chrgngAddedElecRngV INTEGER(0..255) OPTIONAL,
- onBdChrgrAltrCrntInptCrnt INTEGER(0..255) OPTIONAL,
- onBdChrgrAltrCrntInptVol INTEGER(0..255) OPTIONAL,
- ccuOnbdChrgrPlugOn INTEGER(0..255) OPTIONAL,
- ccuOffBdChrgrPlugOn INTEGER(0..255) OPTIONAL,
- chrgngDoorPosSts INTEGER(0..255) OPTIONAL,
- chrgngDoorOpenCnd INTEGER(0..255) OPTIONAL,
- chargeStatus RvsChargingStatus(1),
- bmsAdpPubChrgSttnDspCmd INTEGER(0..255)
-}
-RvsChargingStatus ::= SEQUENCE
-{
- realtimePower INTEGER(0..65535),
- chargingGunState BOOLEAN,
- fuelRangeElec INTEGER(0..65535),
- chargingType INTEGER(0..255),
- startTime INTEGER(0..2147483647) OPTIONAL,
- endTime INTEGER(0..2147483647) OPTIONAL,
- chargingPileID IA5String(SIZE(0..64)) OPTIONAL,
- chargingPileSupplier IA5String(SIZE(0..64)) OPTIONAL,
- workingCurrent INTEGER(0..65535) OPTIONAL,
- workingVoltage INTEGER(0..65535) OPTIONAL,
- mileageSinceLastCharge INTEGER(0..65535) OPTIONAL,
- powerUsageSinceLastCharge INTEGER(0..65535) OPTIONAL,
- mileageOfDay INTEGER(0..65535) OPTIONAL,
- powerUsageOfDay INTEGER(0..65535) OPTIONAL,
- staticEnergyConsumption INTEGER(0..65535) OPTIONAL,
- chargingElectricityPhase INTEGER(0..255) OPTIONAL,
- chargingDuration INTEGER(0..2147483647) OPTIONAL,
- lastChargeEndingPower INTEGER(0..65535) OPTIONAL,
- totalBatteryCapacity INTEGER(0..65535) OPTIONAL,
- fotaLowestVoltage INTEGER(0..255) OPTIONAL,
- mileage INTEGER(0..2147483647),
- extendedData1 INTEGER(0..2147483647) OPTIONAL,
- extendedData2 INTEGER(0..2147483647) OPTIONAL,
- extendedData3 IA5String(SIZE(0..1024)) OPTIONAL,
- extendedData4 IA5String(SIZE(0..1024)) OPTIONAL
-}
-
-END
diff --git a/ASN.1 schema/v3_0/MP_DispatcherBody.asn1 b/ASN.1 schema/v3_0/MP_DispatcherBody.asn1
deleted file mode 100644
index 30177a4e..00000000
--- a/ASN.1 schema/v3_0/MP_DispatcherBody.asn1
+++ /dev/null
@@ -1,33 +0,0 @@
-MP_DispatcherBodyModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-MP_DispatcherBody ::= SEQUENCE
-{
- uid IA5String(SIZE(50)) OPTIONAL,
- token IA5String(SIZE(40)) OPTIONAL,
- applicationID IA5String(SIZE(3)),
- vin IA5String(SIZE(17)) OPTIONAL,
- messageID INTEGER(0..255),
- eventCreationTime INTEGER(0..2147483647),
- eventID INTEGER(0..2147483647) OPTIONAL,
- ulMessageCounter INTEGER(0..65535) OPTIONAL,
- dlMessageCounter INTEGER(0..65535) OPTIONAL,
- ackMessageCounter INTEGER(0..65535) OPTIONAL,
- ackRequired BOOLEAN OPTIONAL,
- applicationDataLength INTEGER(0..65535) OPTIONAL,
- applicationDataEncoding DataEncodingType OPTIONAL,
- applicationDataProtocolVersion INTEGER(0..65535) OPTIONAL,
- testFlag INTEGER(1..3) OPTIONAL,
- result INTEGER(0..65535) OPTIONAL,
- errorMessage OCTET STRING(SIZE(1..1024)) OPTIONAL
-}
-DataEncodingType ::= ENUMERATED
-{
- perUnaligned(0),
- der(1),
- ber(2)
-}
-
-END
diff --git a/ASN.1 schema/v3_0/MP_DispatcherHeader.asn1 b/ASN.1 schema/v3_0/MP_DispatcherHeader.asn1
deleted file mode 100644
index 103e8183..00000000
--- a/ASN.1 schema/v3_0/MP_DispatcherHeader.asn1
+++ /dev/null
@@ -1,13 +0,0 @@
-MP_DispatcherHeaderModule
-
-DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-MP_DispatcherHeader ::= SEQUENCE
-{
- dispatcherBodyEncoding INTEGER(0..2),
- dispatcherMessageLength INTEGER(0..255),
- protocolVersion INTEGER(0..255)
-}
-
-END
diff --git a/README.md b/README.md
index fada039a..ba3b1fba 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,11 @@ Implementation of the SAIC API in Java.

+## Documentation
+
+[SAIC API Documentation](https://github.com/SAIC-iSmart-API/documentation)
+
+
## Usage
[MQTT Gateway](saic-java-mqtt-gateway)
@@ -31,6 +36,11 @@ Go to the project directory
cd saic-java-client
```
+Checkout submodules
+```bash
+git submodule update --init --recursive
+```
+
Build and test
```bash
diff --git a/documentation b/documentation
new file mode 160000
index 00000000..137af4b4
--- /dev/null
+++ b/documentation
@@ -0,0 +1 @@
+Subproject commit 137af4b4fa3580f2cb3d98d61e921954110599ad
diff --git a/pom.xml b/pom.xml
index 7621cf36..73651b52 100644
--- a/pom.xml
+++ b/pom.xml
@@ -129,6 +129,11 @@
exec-maven-plugin
3.1.0
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.1.2
+
org.apache.maven.plugins
maven-jar-plugin
diff --git a/saic-java-api-cli/src/main/java/net/heberling/ismart/cli/GetData.java b/saic-java-api-cli/src/main/java/net/heberling/ismart/cli/GetData.java
index 3c06f2f9..c3295ba4 100644
--- a/saic-java-api-cli/src/main/java/net/heberling/ismart/cli/GetData.java
+++ b/saic-java-api-cli/src/main/java/net/heberling/ismart/cli/GetData.java
@@ -23,7 +23,7 @@
import net.heberling.ismart.asn1.v1_1.entity.MP_UserLoggingInReq;
import net.heberling.ismart.asn1.v1_1.entity.MP_UserLoggingInResp;
import net.heberling.ismart.asn1.v1_1.entity.VinInfo;
-import net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgMangDataResp;
+import net.heberling.ismart.asn1.v3_0.entity.OTAChrgMangDataResp;
import org.bn.annotations.ASN1Enum;
import org.bn.annotations.ASN1Sequence;
import org.bn.coders.IASN1PreparedElement;
@@ -89,14 +89,14 @@ public static void main(String[] args) throws IOException {
URI.create("https://tap-eu.soimt.com/TAP.Web/ota.mpv30"),
chargingStatusRequestMessage);
- net.heberling.ismart.asn1.v3_0.Message chargingStatusResponseMessage =
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class)
+ net.heberling.ismart.asn1.v3_0.Message chargingStatusResponseMessage =
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class)
.decodeResponse(chargingStatusResponse);
System.out.println(
toJSON(
anonymized(
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class),
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class),
chargingStatusResponseMessage)));
// we get an eventId back...
@@ -125,13 +125,13 @@ public static void main(String[] args) throws IOException {
chargingStatusRequestMessage);
chargingStatusResponseMessage =
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class)
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class)
.decodeResponse(chargingStatusResponse);
System.out.println(
toJSON(
anonymized(
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class),
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class),
chargingStatusResponseMessage)));
}
}
diff --git a/saic-java-api-cli/src/test/java/net/heberling/ismart/asn1/AbstractMessageCoderTest.java b/saic-java-api-cli/src/test/java/net/heberling/ismart/asn1/AbstractMessageCoderTest.java
index 71e1fec4..ccb4017c 100644
--- a/saic-java-api-cli/src/test/java/net/heberling/ismart/asn1/AbstractMessageCoderTest.java
+++ b/saic-java-api-cli/src/test/java/net/heberling/ismart/asn1/AbstractMessageCoderTest.java
@@ -28,7 +28,7 @@ public class AbstractMessageCoderTest {
file = file.getParentFile();
}
- examplesDirectory = new File(file.getParentFile(), "docs/examples");
+ examplesDirectory = new File(file.getParentFile(), "documentation/docs/examples");
} catch (URISyntaxException e) {
throw new ExceptionInInitializerError(e);
}
diff --git a/saic-java-api-cli/src/test/java/net/heberling/ismart/asn1/v3_0/MessageCoderTest.java b/saic-java-api-cli/src/test/java/net/heberling/ismart/asn1/v3_0/MessageCoderTest.java
index bcf5e5c7..888e4e03 100644
--- a/saic-java-api-cli/src/test/java/net/heberling/ismart/asn1/v3_0/MessageCoderTest.java
+++ b/saic-java-api-cli/src/test/java/net/heberling/ismart/asn1/v3_0/MessageCoderTest.java
@@ -3,7 +3,7 @@
import static org.junit.jupiter.api.Assertions.*;
import net.heberling.ismart.asn1.AbstractMessageCoderTest;
-import net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgMangDataResp;
+import net.heberling.ismart.asn1.v3_0.entity.OTAChrgMangDataResp;
import org.bn.coders.IASN1PreparedElement;
import org.junit.jupiter.api.Test;
@@ -17,7 +17,7 @@ void decodeEncodeRequest_516() {
@Test
void decodeEncodeResponse_516() {
- decodeEncode("516_768_response", new MessageCoder<>(OTA_ChrgMangDataResp.class));
+ decodeEncode("516_768_response", new MessageCoder<>(OTAChrgMangDataResp.class));
}
@Test
@@ -28,6 +28,6 @@ void decodeEncodeRequest_516_with_eventid() {
@Test
void decodeEncodeResponse_516_with_eventid() {
- decodeEncode("516_768_response_with_eventid", new MessageCoder<>(OTA_ChrgMangDataResp.class));
+ decodeEncode("516_768_response_with_eventid", new MessageCoder<>(OTAChrgMangDataResp.class));
}
}
diff --git a/saic-java-api-gateway/src/main/java/net/heberling/ismart/gateway/GetData.java b/saic-java-api-gateway/src/main/java/net/heberling/ismart/gateway/GetData.java
index 25144b44..54c3d612 100644
--- a/saic-java-api-gateway/src/main/java/net/heberling/ismart/gateway/GetData.java
+++ b/saic-java-api-gateway/src/main/java/net/heberling/ismart/gateway/GetData.java
@@ -20,7 +20,7 @@
import net.heberling.ismart.asn1.v1_1.MessageCoder;
import net.heberling.ismart.asn1.v1_1.entity.MP_UserLoggingInReq;
import net.heberling.ismart.asn1.v1_1.entity.MP_UserLoggingInResp;
-import net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgMangDataResp;
+import net.heberling.ismart.asn1.v3_0.entity.OTAChrgMangDataResp;
import org.bn.annotations.ASN1Enum;
import org.bn.coders.IASN1PreparedElement;
@@ -92,8 +92,8 @@ public static String[] startResponse(String[] args) throws IOException {
sendRequest(
URI.create("https://tap-eu.soimt.com/TAP.Web/ota.mpv30"), chargingStatusRequestMessage);
- net.heberling.ismart.asn1.v3_0.Message chargingStatusResponseMessage =
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class)
+ net.heberling.ismart.asn1.v3_0.Message chargingStatusResponseMessage =
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class)
.decodeResponse(chargingStatusResponse);
// System.out.println(chargingStatusResponse);
@@ -134,7 +134,7 @@ public static String[] startResponse(String[] args) throws IOException {
chargingStatusRequestMessage);
chargingStatusResponseMessage =
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class)
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class)
.decodeResponse(chargingStatusResponse);
// System.out.println(chargingStatusResponse);
diff --git a/saic-java-api/pom.xml b/saic-java-api/pom.xml
index afdc39ec..a90257e4 100644
--- a/saic-java-api/pom.xml
+++ b/saic-java-api/pom.xml
@@ -82,7 +82,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v1_1
-f
- ${project.basedir}/../ASN.1 schema/v1_1/MP_DispatcherHeader.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v1_1/MP_DispatcherHeader.asn1
-ns
net.heberling.ismart.asn1.v1_1
@@ -102,7 +102,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v1_1
-f
- ${project.basedir}/../ASN.1 schema/v1_1/MP_DispatcherBody.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v1_1/MP_DispatcherBody.asn1
-ns
net.heberling.ismart.asn1.v1_1
@@ -122,7 +122,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v1_1/entity
-f
- ${project.basedir}/../ASN.1 schema/v1_1/ApplicationData.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v1_1/ApplicationData.asn1
-ns
net.heberling.ismart.asn1.v1_1.entity
@@ -142,7 +142,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v2_1
-f
- ${project.basedir}/../ASN.1 schema/v2_1/MP_DispatcherHeader.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v2_1/MP_DispatcherHeader.asn1
-ns
net.heberling.ismart.asn1.v2_1
@@ -162,7 +162,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v2_1
-f
- ${project.basedir}/../ASN.1 schema/v2_1/MP_DispatcherBody.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v2_1/MP_DispatcherBody.asn1
-ns
net.heberling.ismart.asn1.v2_1
@@ -182,7 +182,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v2_1/entity
-f
- ${project.basedir}/../ASN.1 schema/v2_1/ApplicationData.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v2_1/ApplicationData.asn1
-ns
net.heberling.ismart.asn1.v2_1.entity
@@ -202,7 +202,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v3_0
-f
- ${project.basedir}/../ASN.1 schema/v3_0/MP_DispatcherHeader.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v3_0/MP_DispatcherHeader.asn1
-ns
net.heberling.ismart.asn1.v3_0
@@ -222,7 +222,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v3_0
-f
- ${project.basedir}/../ASN.1 schema/v3_0/MP_DispatcherBody.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v3_0/MP_DispatcherBody.asn1
-ns
net.heberling.ismart.asn1.v3_0
@@ -242,7 +242,7 @@
-o
${project.build.directory}/generated-sources/asn1-java/net/heberling/ismart/asn1/v3_0/entity
-f
- ${project.basedir}/../ASN.1 schema/v3_0/ApplicationData.asn1
+ ${project.basedir}/../documentation/ASN.1 schema/v3_0/ApplicationData.asn1
-ns
net.heberling.ismart.asn1.v3_0.entity
diff --git a/saic-java-client/src/main/java/net/heberling/ismart/abrp/ABRP.java b/saic-java-client/src/main/java/net/heberling/ismart/abrp/ABRP.java
index 14f551cd..4d98f21e 100644
--- a/saic-java-client/src/main/java/net/heberling/ismart/abrp/ABRP.java
+++ b/saic-java-client/src/main/java/net/heberling/ismart/abrp/ABRP.java
@@ -7,7 +7,7 @@
import java.util.Objects;
import java.util.stream.Collectors;
import net.heberling.ismart.asn1.v2_1.entity.OTA_RVMVehicleStatusResp25857;
-import net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgMangDataResp;
+import net.heberling.ismart.asn1.v3_0.entity.OTAChrgMangDataResp;
import org.apache.hc.client5.http.ClientProtocolException;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -27,7 +27,7 @@ public static String updateAbrp(
String abrpApiKey,
String abrpUserToken,
OTA_RVMVehicleStatusResp25857 vehicleStatus,
- OTA_ChrgMangDataResp chargeStatus) {
+ OTAChrgMangDataResp chargeStatus) {
try (CloseableHttpClient httpclient = HttpClients.createDefault()) {
// Request parameters and other properties.
HashMap map = new HashMap<>();
diff --git a/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/ReflectionFeature.java b/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/ReflectionFeature.java
index 9c8fccf0..4182bb10 100644
--- a/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/ReflectionFeature.java
+++ b/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/ReflectionFeature.java
@@ -37,7 +37,7 @@ public void beforeAnalysis(BeforeAnalysisAccess access) {
register(net.heberling.ismart.asn1.v3_0.MP_DispatcherHeader.class);
register(net.heberling.ismart.asn1.v1_1.entity.StartEndNumber.class);
register(net.heberling.ismart.asn1.v2_1.MP_DispatcherBody.class);
- register(net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgMangDataResp.class);
+ register(net.heberling.ismart.asn1.v3_0.entity.OTAChrgMangDataResp.class);
register(net.heberling.ismart.asn1.v3_0.DataEncodingType.class);
register(net.heberling.ismart.asn1.v1_1.entity.VinInfo.class);
register(net.heberling.ismart.asn1.v1_1.entity.AdvertiseResp.class);
diff --git a/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/VehicleHandler.java b/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/VehicleHandler.java
index de7d7558..e339a2c8 100644
--- a/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/VehicleHandler.java
+++ b/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/VehicleHandler.java
@@ -21,9 +21,9 @@
import net.heberling.ismart.asn1.v2_1.entity.OTA_RVMVehicleStatusResp25857;
import net.heberling.ismart.asn1.v2_1.entity.RvcReqParam;
import net.heberling.ismart.asn1.v3_0.Message;
-import net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgCtrlReq;
-import net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgCtrlStsResp;
-import net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgMangDataResp;
+import net.heberling.ismart.asn1.v3_0.entity.OTAChrgCtrlReq;
+import net.heberling.ismart.asn1.v3_0.entity.OTAChrgCtrlStsResp;
+import net.heberling.ismart.asn1.v3_0.entity.OTAChrgMangDataResp;
import org.bn.coders.IASN1PreparedElement;
import org.eclipse.paho.client.mqttv3.IMqttClient;
import org.eclipse.paho.client.mqttv3.MqttException;
@@ -78,7 +78,7 @@ void handleVehicle() throws MqttException, IOException {
OTA_RVMVehicleStatusResp25857 vehicleStatus =
updateVehicleStatus(uid, token, vinInfo.getVin());
- OTA_ChrgMangDataResp chargeStatus = updateChargeStatus(uid, token, vinInfo.getVin());
+ OTAChrgMangDataResp chargeStatus = updateChargeStatus(uid, token, vinInfo.getVin());
final String abrpApiKey = saicMqttGateway.getAbrpApiKey();
final String abrpUserToken = saicMqttGateway.getAbrpUserToken(vinInfo.getVin());
if (abrpApiKey != null && abrpUserToken != null && vehicleStatus != null) {
@@ -193,7 +193,7 @@ private OTA_RVMVehicleStatusResp25857 updateVehicleStatus(String uid, String tok
return vehicleStatusResponseMessage.getApplicationData();
}
- private OTA_ChrgMangDataResp updateChargeStatus(String uid, String token, String vin)
+ private OTAChrgMangDataResp updateChargeStatus(String uid, String token, String vin)
throws IOException, MqttException {
net.heberling.ismart.asn1.v3_0.MessageCoder
chargingStatusRequestMessageEncoder =
@@ -213,14 +213,14 @@ private OTA_ChrgMangDataResp updateChargeStatus(String uid, String token, String
String chargingStatusResponse =
Client.sendRequest(saicUri.resolve("/TAP.Web/ota.mpv30"), chargingStatusRequestMessage);
- net.heberling.ismart.asn1.v3_0.Message chargingStatusResponseMessage =
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class)
+ net.heberling.ismart.asn1.v3_0.Message chargingStatusResponseMessage =
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class)
.decodeResponse(chargingStatusResponse);
LOGGER.debug(
SaicMqttGateway.toJSON(
SaicMqttGateway.anonymized(
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class),
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class),
chargingStatusResponseMessage)));
// we get an eventId back...
@@ -255,13 +255,13 @@ private OTA_ChrgMangDataResp updateChargeStatus(String uid, String token, String
Client.sendRequest(saicUri.resolve("/TAP.Web/ota.mpv30"), chargingStatusRequestMessage);
chargingStatusResponseMessage =
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class)
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class)
.decodeResponse(chargingStatusResponse);
LOGGER.debug(
SaicMqttGateway.toJSON(
SaicMqttGateway.anonymized(
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgMangDataResp.class),
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgMangDataResp.class),
chargingStatusResponseMessage)));
}
vehicleState.handleChargeStatusMessage(chargingStatusResponseMessage);
@@ -393,15 +393,15 @@ private void sendCharging(boolean state)
TimeoutException,
MqttException,
IOException {
- net.heberling.ismart.asn1.v3_0.MessageCoder otaRvcReqMessageCoder =
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgCtrlReq.class);
+ net.heberling.ismart.asn1.v3_0.MessageCoder otaRvcReqMessageCoder =
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgCtrlReq.class);
- OTA_ChrgCtrlReq req = new OTA_ChrgCtrlReq();
+ OTAChrgCtrlReq req = new OTAChrgCtrlReq();
req.setTboxV2XReq(0);
req.setTboxEleccLckCtrlReq(0);
req.setChrgCtrlReq(state ? 1 : 2);
- Message sendCommandRequest =
+ Message sendCommandRequest =
otaRvcReqMessageCoder.initializeMessage(uid, token, vinInfo.getVin(), "516", 768, 7, req);
String sendCommandRequestMessage = otaRvcReqMessageCoder.encodeRequest(sendCommandRequest);
@@ -409,10 +409,10 @@ private void sendCharging(boolean state)
String sendCommandResponseMessage =
Client.sendRequest(saicUri.resolve("/TAP.Web/ota.mpv30"), sendCommandRequestMessage);
- final net.heberling.ismart.asn1.v3_0.MessageCoder
+ final net.heberling.ismart.asn1.v3_0.MessageCoder
otaRvcStatus25857MessageCoder =
- new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTA_ChrgCtrlStsResp.class);
- net.heberling.ismart.asn1.v3_0.Message sendCommandReqestMessage =
+ new net.heberling.ismart.asn1.v3_0.MessageCoder<>(OTAChrgCtrlStsResp.class);
+ net.heberling.ismart.asn1.v3_0.Message sendCommandReqestMessage =
otaRvcStatus25857MessageCoder.decodeResponse(sendCommandResponseMessage);
// ... use that to request the data again, until we have it
diff --git a/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/VehicleState.java b/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/VehicleState.java
index ccfc2876..35da7c90 100644
--- a/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/VehicleState.java
+++ b/saic-java-mqtt-gateway/src/main/java/net/heberling/ismart/mqtt/VehicleState.java
@@ -14,7 +14,7 @@
import net.heberling.ismart.asn1.v1_1.entity.VinInfo;
import net.heberling.ismart.asn1.v2_1.Message;
import net.heberling.ismart.asn1.v2_1.entity.OTA_RVMVehicleStatusResp25857;
-import net.heberling.ismart.asn1.v3_0.entity.OTA_ChrgMangDataResp;
+import net.heberling.ismart.asn1.v3_0.entity.OTAChrgMangDataResp;
import org.eclipse.paho.client.mqttv3.IMqttClient;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
@@ -395,7 +395,7 @@ private static String toRemoteClimate(Integer remoteClimateStatus) {
}
public void handleChargeStatusMessage(
- net.heberling.ismart.asn1.v3_0.Message chargingStatusResponseMessage)
+ net.heberling.ismart.asn1.v3_0.Message chargingStatusResponseMessage)
throws MqttException {
MqttMessage msg =
new MqttMessage(