2222*/
2323/* *************************************************************************/
2424PixelsModel::PixelsModel () {
25- _msg_pixels_add = wippersnapper_pixels_PixelsAdd_init_zero;
26- _msg_pixels_remove = wippersnapper_pixels_PixelsRemove_init_zero;
27- _msg_pixels_write = wippersnapper_pixels_PixelsWrite_init_zero;
28- _msg_pixels_added = wippersnapper_pixels_PixelsAdded_init_zero;
25+ _msg_pixels_add = wippersnapper_pixels_PixelsAdd_init_zero;
26+ _msg_pixels_remove = wippersnapper_pixels_PixelsRemove_init_zero;
27+ _msg_pixels_write = wippersnapper_pixels_PixelsWrite_init_zero;
28+ _msg_pixels_added = wippersnapper_pixels_PixelsAdded_init_zero;
2929}
3030
3131/* *************************************************************************/
3232/* !
3333 @brief Destructs a PixelsModel object
3434*/
3535/* *************************************************************************/
36- PixelsModel::~PixelsModel () {
37- }
36+ PixelsModel::~PixelsModel () {}
3837
3938/* *************************************************************************/
4039/* !
@@ -45,6 +44,9 @@ PixelsModel::~PixelsModel() {
4544*/
4645/* *************************************************************************/
4746bool PixelsModel::DecodePixelsAdd (pb_istream_t *stream) {
47+ _msg_pixels_add = wippersnapper_pixels_PixelsAdd_init_zero;
48+ return pb_decode (stream, wippersnapper_pixels_PixelsAdd_fields,
49+ &_msg_pixels_add);
4850}
4951
5052/* *************************************************************************/
@@ -54,6 +56,7 @@ bool PixelsModel::DecodePixelsAdd(pb_istream_t *stream) {
5456*/
5557/* *************************************************************************/
5658wippersnapper_pixels_PixelsAdd *PixelsModel::GetPixelsAddMsg () {
59+ return &_msg_pixels_add;
5760}
5861
5962/* *************************************************************************/
@@ -65,6 +68,9 @@ wippersnapper_pixels_PixelsAdd *PixelsModel::GetPixelsAddMsg() {
6568*/
6669/* *************************************************************************/
6770bool PixelsModel::DecodePixelsRemove (pb_istream_t *stream) {
71+ _msg_pixels_remove = wippersnapper_pixels_PixelsRemove_init_zero;
72+ return pb_decode (stream, wippersnapper_pixels_PixelsRemove_fields,
73+ &_msg_pixels_remove);
6874}
6975
7076/* *************************************************************************/
@@ -74,6 +80,7 @@ bool PixelsModel::DecodePixelsRemove(pb_istream_t *stream) {
7480*/
7581/* *************************************************************************/
7682wippersnapper_pixels_PixelsRemove *PixelsModel::GetPixelsRemoveMsg () {
83+ return &_msg_pixels_remove;
7784}
7885
7986/* *************************************************************************/
@@ -85,6 +92,9 @@ wippersnapper_pixels_PixelsRemove *PixelsModel::GetPixelsRemoveMsg() {
8592*/
8693/* *************************************************************************/
8794bool PixelsModel::DecodePixelsWrite (pb_istream_t *stream) {
95+ _msg_pixels_write = wippersnapper_pixels_PixelsWrite_init_zero;
96+ return pb_decode (stream, wippersnapper_pixels_PixelsWrite_fields,
97+ &_msg_pixels_write);
8898}
8999
90100/* *************************************************************************/
@@ -94,6 +104,7 @@ bool PixelsModel::DecodePixelsWrite(pb_istream_t *stream) {
94104*/
95105/* *************************************************************************/
96106wippersnapper_pixels_PixelsWrite *PixelsModel::GetPixelsWriteMsg () {
107+ return &_msg_pixels_write;
97108}
98109
99110/* *************************************************************************/
@@ -107,6 +118,21 @@ wippersnapper_pixels_PixelsWrite *PixelsModel::GetPixelsWriteMsg() {
107118*/
108119/* *************************************************************************/
109120bool PixelsModel::EncodePixelsAdded (char *pin_data, bool success) {
121+ // Fill the message
122+ _msg_pixels_added = wippersnapper_pixels_PixelsAdded_init_zero;
123+ _msg_pixels_added.is_success = success;
124+ strncpy (_msg_pixels_added.pixels_pin_data , pin_data,
125+ sizeof (_msg_pixels_added.pixels_pin_data ));
126+
127+ // Encode it!
128+ size_t sz_msg;
129+ if (!pb_get_encoded_size (&sz_msg, wippersnapper_pixels_PixelsAdded_fields,
130+ &_msg_pixels_added))
131+ return false ;
132+ uint8_t buf[sz_msg];
133+ pb_ostream_t msg_stream = pb_ostream_from_buffer (buf, sizeof (buf));
134+ return pb_encode (&msg_stream, wippersnapper_pixels_PixelsAdded_fields,
135+ &_msg_pixels_added);
110136}
111137
112138/* *************************************************************************/
@@ -116,4 +142,5 @@ bool PixelsModel::EncodePixelsAdded(char *pin_data, bool success) {
116142*/
117143/* *************************************************************************/
118144wippersnapper_pixels_PixelsAdded *PixelsModel::GetPixelsAddedMsg () {
145+ return &_msg_pixels_added;
119146}
0 commit comments