MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / SetChannelValue

Method SetChannelValue

lib/mdflib/mdflib/src/ichannel.cpp:762–812  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

760
761template <>
762void IChannel::SetChannelValue(const std::string &value, bool valid,
763 uint64_t array_index) {
764 switch (DataType()) {
765 case ChannelDataType::UnsignedIntegerLe:
766 SetUnsignedValueLe(std::stoull(value), valid, array_index);
767 break;
768
769 case ChannelDataType::UnsignedIntegerBe:
770 SetUnsignedValueBe(std::stoull(value), valid, array_index);
771 break;
772
773 case ChannelDataType::SignedIntegerLe:
774 SetSignedValueLe(std::stoll(value), valid, array_index);
775 break;
776
777 case ChannelDataType::SignedIntegerBe:
778 SetSignedValueBe(std::stoll(value), valid, array_index);
779 break;
780
781 case ChannelDataType::FloatLe:
782 SetFloatValueLe(std::stod(value), valid, array_index);
783 break;
784
785 case ChannelDataType::FloatBe:
786 SetFloatValueBe(std::stod(value), valid, array_index);
787 break;
788
789 case ChannelDataType::StringUTF8:
790 case ChannelDataType::StringAscii:
791 case ChannelDataType::StringUTF16Le:
792 case ChannelDataType::StringUTF16Be:
793 SetTextValue(value, valid);
794 break;
795
796 case ChannelDataType::MimeStream:
797 case ChannelDataType::MimeSample:
798 case ChannelDataType::ByteArray: {
799 // The input string needs to be copied to a byte array.
800 auto byte_array = MdfHelper::TextToByteArray(value);
801 SetByteArray(byte_array, valid);
802 break;
803 }
804
805 case ChannelDataType::CanOpenDate:
806 case ChannelDataType::CanOpenTime:
807 default:
808 // Cannot find any good text to date/time
809 SetValid(false, array_index);
810 break;
811 }
812}
813
814template <>
815void IChannel::SetChannelValue(const std::vector<uint8_t> &value, bool valid,

Callers 5

TEST_FFunction · 0.45
TEST_FFunction · 0.45
TEST_FFunction · 0.45
TEST_FFunction · 0.45
TEST_FFunction · 0.45

Calls 1

sizeMethod · 0.45

Tested by 5

TEST_FFunction · 0.36
TEST_FFunction · 0.36
TEST_FFunction · 0.36
TEST_FFunction · 0.36
TEST_FFunction · 0.36