kenwood_thd75/protocol/
service.rs1use crate::error::ProtocolError;
14
15use super::Response;
16
17pub(crate) fn parse_service(
21 mnemonic: &str,
22 payload: &str,
23) -> Option<Result<Response, ProtocolError>> {
24 match mnemonic {
25 "0G" => Some(Ok(Response::ServiceMode {
26 data: payload.to_owned(),
27 })),
28 "0S" => Some(Ok(Response::ServiceCalibrationData {
29 data: payload.to_owned(),
30 })),
31 "1A" | "1D" | "1N" | "1E" | "1V" | "1W" | "1C" | "1U" => {
32 Some(Ok(Response::ServiceCalibrationParam {
33 mnemonic: mnemonic.to_owned(),
34 data: payload.to_owned(),
35 }))
36 }
37 "0R" => Some(Ok(Response::ServiceCalibrationWrite {
38 data: payload.to_owned(),
39 })),
40 "0W" => Some(Ok(Response::ServiceWriteConfig {
41 data: payload.to_owned(),
42 })),
43 "0Y" => Some(Ok(Response::ServiceBandSelect {
44 data: payload.to_owned(),
45 })),
46 "1I" => Some(Ok(Response::ServiceWriteId {
47 data: payload.to_owned(),
48 })),
49 "1F" => Some(Ok(Response::ServiceFlash {
50 data: payload.to_owned(),
51 })),
52 "9E" => Some(Ok(Response::ServiceEepromData {
53 data: payload.to_owned(),
54 })),
55 "9R" => Some(Ok(Response::ServiceEepromAddr {
56 data: payload.to_owned(),
57 })),
58 "2V" => Some(Ok(Response::ServiceVersion {
59 data: payload.to_owned(),
60 })),
61 "1G" => Some(Ok(Response::ServiceHardware {
62 data: payload.to_owned(),
63 })),
64 _ => None,
65 }
66}