22
33#include < google/protobuf/descriptor.h>
44
5- #include < viam/api/component/board/v1/board.grpc.pb.h>
6- #include < viam/api/component/board/v1/board.pb.h>
7-
8- #include < viam/sdk/common/exception.hpp>
95#include < viam/sdk/common/utils.hpp>
106#include < viam/sdk/resource/resource.hpp>
117
@@ -20,59 +16,6 @@ API API::traits<Board>::api() {
2016 return {kRDK , kComponent , " board" };
2117}
2218
23- Board::status Board::from_proto (const viam::component::board::v1::Status& proto) {
24- Board::status status;
25- for (const auto & analog : proto.analogs ()) {
26- status.analog_reader_values .emplace (analog.first , analog.second );
27- }
28- for (const auto & digital : proto.digital_interrupts ()) {
29- status.digital_interrupt_values .emplace (digital.first , digital.second );
30- }
31- return status;
32- }
33-
34- Board::power_mode Board::from_proto (viam::component::board::v1::PowerMode proto) {
35- switch (proto) {
36- case viam::component::board::v1::POWER_MODE_NORMAL: {
37- return Board::power_mode::normal;
38- }
39- case viam::component::board::v1::POWER_MODE_OFFLINE_DEEP: {
40- return Board::power_mode::offline_deep;
41- }
42- case viam::component::board::v1::POWER_MODE_UNSPECIFIED:
43- default : {
44- throw Exception (ErrorCondition::k_not_supported,
45- " Invalid proto board power_mode to decode" );
46- }
47- }
48- }
49-
50- viam::component::board::v1::Status Board::to_proto (const status& status) {
51- viam::component::board::v1::Status proto;
52- for (const auto & analog : status.analog_reader_values ) {
53- proto.mutable_analogs ()->insert ({analog.first , analog.second });
54- }
55-
56- for (const auto & digital : status.digital_interrupt_values ) {
57- proto.mutable_digital_interrupts ()->insert ({digital.first , digital.second });
58- }
59- return proto;
60- }
61-
62- viam::component::board::v1::PowerMode Board::to_proto (Board::power_mode power_mode) {
63- switch (power_mode) {
64- case Board::power_mode::normal: {
65- return viam::component::board::v1::POWER_MODE_NORMAL;
66- }
67- case Board::power_mode::offline_deep: {
68- return viam::component::board::v1::POWER_MODE_OFFLINE_DEEP;
69- }
70- default : {
71- throw Exception (ErrorCondition::k_not_supported, " Invalid board power_mode to encode" );
72- }
73- }
74- }
75-
7619Board::Board (std::string name) : Component(std::move(name)){};
7720
7821bool operator ==(const Board::status& lhs, const Board::status& rhs) {
0 commit comments