summaryrefslogtreecommitdiff
path: root/shared-module
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-09-18 11:14:59 -0500
committerJeff Epler <jepler@gmail.com>2020-09-21 16:44:26 -0500
commitc39ec1581e3fbc59de7f882adf2e6fbb574fb42e (patch)
tree1830f61f171893329fd5da8f0d6c89c3522e4522 /shared-module
parenta76119afcba6d7ceb4eb1e4baa79745528feeb92 (diff)
_canio: Message: setting data clears rtr, and vice versa
Diffstat (limited to 'shared-module')
-rw-r--r--shared-module/_canio/Message.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/shared-module/_canio/Message.c b/shared-module/_canio/Message.c
index 0caca58f0..a02bd0127 100644
--- a/shared-module/_canio/Message.c
+++ b/shared-module/_canio/Message.c
@@ -59,6 +59,7 @@ const void *common_hal_canio_message_get_data(const canio_message_obj_t *self)
const void common_hal_canio_message_set_data(canio_message_obj_t *self, const void *data, size_t size)
{
+ self->rtr = false;
self->size = size;
memcpy(self->data, data, size);
}
@@ -84,6 +85,9 @@ bool common_hal_canio_message_get_rtr(const canio_message_obj_t *self)
void common_hal_canio_message_set_rtr(canio_message_obj_t *self, bool rtr)
{
self->rtr = rtr;
+ if (rtr) {
+ memset(self->data, 0, self->size);
+ }
}
bool common_hal_canio_message_get_extended(const canio_message_obj_t *self)