Loading ccsrc/Protocols/UpperTester/UpperTesterCamCodec.cc +10 −2 Original line number Original line Diff line number Diff line Loading @@ -51,7 +51,12 @@ int UpperTesterCamCodec::encode (const LibItsCam__TypesAndValues::UtCamTrigger& encoding_buffer.put_c(*static_cast<const unsigned char*>(u.setAccelerationControlStatus())); encoding_buffer.put_c(*static_cast<const unsigned char*>(u.setAccelerationControlStatus())); } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_setExteriorLightsStatus)) { } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_setExteriorLightsStatus)) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamSetExteriorLightsStatus)); encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamSetExteriorLightsStatus)); encoding_buffer.put_c(*static_cast<const unsigned char*>(u.setExteriorLightsStatus())); unsigned char c = *static_cast<const unsigned char*>(u.setExteriorLightsStatus()); unsigned char r = 0x00; for (int i = 0; i < 8; i++, c >>= 1) { // TODO Try to refine the reverse bit operation r = (r << 1) | (c & 0x01); } // End of 'for' statement encoding_buffer.put_c(r); } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_changeHeading)) { } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_changeHeading)) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamChangeHeading)); encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamChangeHeading)); encoding_buffer.put_string(int2oct(u.changeHeading(), 2)); encoding_buffer.put_string(int2oct(u.changeHeading(), 2)); Loading @@ -60,7 +65,10 @@ int UpperTesterCamCodec::encode (const LibItsCam__TypesAndValues::UtCamTrigger& encoding_buffer.put_c((unsigned char)static_cast<const Enum_Type&>(u.setDriveDirection()).as_int()); encoding_buffer.put_c((unsigned char)static_cast<const Enum_Type&>(u.setDriveDirection()).as_int()); } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_changeYawRate)) { } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_changeYawRate)) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamChangeYawRate)); encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamChangeYawRate)); encoding_buffer.put_string(int2oct(u.changeYawRate(), 2)); const short i = u.changeYawRate(); const unsigned char t[2] = { (unsigned char)((i & 0xff00) >> 8), (unsigned char)(i & 0x00ff) }; OCTETSTRING os(2, t); encoding_buffer.put_string(os); } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_setStationType)) { } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_setStationType)) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamSetStationType)); encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamSetStationType)); encoding_buffer.put_string(int2oct(u.setStationType(), 1)); encoding_buffer.put_string(int2oct(u.setStationType(), 1)); Loading Loading
ccsrc/Protocols/UpperTester/UpperTesterCamCodec.cc +10 −2 Original line number Original line Diff line number Diff line Loading @@ -51,7 +51,12 @@ int UpperTesterCamCodec::encode (const LibItsCam__TypesAndValues::UtCamTrigger& encoding_buffer.put_c(*static_cast<const unsigned char*>(u.setAccelerationControlStatus())); encoding_buffer.put_c(*static_cast<const unsigned char*>(u.setAccelerationControlStatus())); } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_setExteriorLightsStatus)) { } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_setExteriorLightsStatus)) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamSetExteriorLightsStatus)); encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamSetExteriorLightsStatus)); encoding_buffer.put_c(*static_cast<const unsigned char*>(u.setExteriorLightsStatus())); unsigned char c = *static_cast<const unsigned char*>(u.setExteriorLightsStatus()); unsigned char r = 0x00; for (int i = 0; i < 8; i++, c >>= 1) { // TODO Try to refine the reverse bit operation r = (r << 1) | (c & 0x01); } // End of 'for' statement encoding_buffer.put_c(r); } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_changeHeading)) { } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_changeHeading)) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamChangeHeading)); encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamChangeHeading)); encoding_buffer.put_string(int2oct(u.changeHeading(), 2)); encoding_buffer.put_string(int2oct(u.changeHeading(), 2)); Loading @@ -60,7 +65,10 @@ int UpperTesterCamCodec::encode (const LibItsCam__TypesAndValues::UtCamTrigger& encoding_buffer.put_c((unsigned char)static_cast<const Enum_Type&>(u.setDriveDirection()).as_int()); encoding_buffer.put_c((unsigned char)static_cast<const Enum_Type&>(u.setDriveDirection()).as_int()); } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_changeYawRate)) { } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_changeYawRate)) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamChangeYawRate)); encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamChangeYawRate)); encoding_buffer.put_string(int2oct(u.changeYawRate(), 2)); const short i = u.changeYawRate(); const unsigned char t[2] = { (unsigned char)((i & 0xff00) >> 8), (unsigned char)(i & 0x00ff) }; OCTETSTRING os(2, t); encoding_buffer.put_string(os); } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_setStationType)) { } else if (u.ischosen(LibItsCam__TypesAndValues::UtCamTrigger::ALT_setStationType)) { encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamSetStationType)); encoding_buffer.put_c(static_cast<const unsigned char>(UpperTesterCamCodec::c_utCamSetStationType)); encoding_buffer.put_string(int2oct(u.setStationType(), 1)); encoding_buffer.put_string(int2oct(u.setStationType(), 1)); Loading