Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
msg.cpp@1:605fa4405e4f, 2019-01-25 (annotated)
- Committer:
- thewiztory
- Date:
- Fri Jan 25 02:10:25 2019 +0000
- Revision:
- 1:605fa4405e4f
- Parent:
- 0:544925185af9
adam
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Ka_myk | 0:544925185af9 | 1 | #include "msg.h" |
Ka_myk | 0:544925185af9 | 2 | |
thewiztory | 1:605fa4405e4f | 3 | #define UINT8_MAX 256 |
Ka_myk | 0:544925185af9 | 4 | |
Ka_myk | 0:544925185af9 | 5 | void Msg::construct_data_msg(uint8_t sensor_id, int data, uint8_t *buffer, int buffer_len) { |
Ka_myk | 0:544925185af9 | 6 | if (buffer_len < 5) |
Ka_myk | 0:544925185af9 | 7 | return; |
Ka_myk | 0:544925185af9 | 8 | |
Ka_myk | 0:544925185af9 | 9 | buffer[0] = sensor_id; |
Ka_myk | 0:544925185af9 | 10 | for (int i = 4; i > 0; i--) { |
Ka_myk | 0:544925185af9 | 11 | buffer[i] = data % UINT8_MAX; |
Ka_myk | 0:544925185af9 | 12 | data /= UINT8_MAX; |
Ka_myk | 0:544925185af9 | 13 | } |
Ka_myk | 0:544925185af9 | 14 | } |
Ka_myk | 0:544925185af9 | 15 | |
Ka_myk | 0:544925185af9 | 16 | void Msg::deconstruct_data_msg(uint8_t *sensor_id, int *data, uint8_t *buffer, int buffer_len) { |
Ka_myk | 0:544925185af9 | 17 | if (buffer_len < 5) |
Ka_myk | 0:544925185af9 | 18 | return; |
thewiztory | 1:605fa4405e4f | 19 | |
thewiztory | 1:605fa4405e4f | 20 | int tmp = 0; |
Ka_myk | 0:544925185af9 | 21 | |
Ka_myk | 0:544925185af9 | 22 | *sensor_id = buffer[0]; |
Ka_myk | 0:544925185af9 | 23 | for (int i = 1; i < 5; i++) { |
thewiztory | 1:605fa4405e4f | 24 | tmp = tmp * UINT8_MAX + buffer[i]; |
Ka_myk | 0:544925185af9 | 25 | } |
thewiztory | 1:605fa4405e4f | 26 | *data = tmp; |
thewiztory | 1:605fa4405e4f | 27 | |
Ka_myk | 0:544925185af9 | 28 | } |