From 454ed04ff10f22b93a707e9afc7caf0646922134 Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Thu, 30 Nov 2017 11:54:55 -0800 Subject: [PATCH 1/9] Added priority attribude to the messages --- .gitignore | 7 +++++++ lib/v1.0/C/pprz_transport.c | 4 ++++ lib/v2.0/C/pprz_transport.c | 4 ++++ message_definitions/v1.0/messages.dtd | 1 + message_definitions/v1.0/messages.xml | 10 +++++----- message_definitions/v1.0/pprz_schema.xsd | 1 + tools/generator/C/include_v1.0/pprzlink_transport.h | 2 ++ tools/generator/C/include_v2.0/pprzlink_transport.h | 2 ++ tools/generator/gen_messages_v1_0_c.py | 1 + tools/generator/gen_messages_v2_0_c.py | 1 + tools/generator/pprz_parse.py | 4 +++- tools/generator/pprz_schema.xsd | 1 + 12 files changed, 32 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 7416d7a..a3dbb39 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,10 @@ /build /var /.idea/ + +# Eclipse IDE settings files +.cproject +.project +.pydevproject +.settings/* + diff --git a/lib/v1.0/C/pprz_transport.c b/lib/v1.0/C/pprz_transport.c index 147c68e..5627ceb 100644 --- a/lib/v1.0/C/pprz_transport.c +++ b/lib/v1.0/C/pprz_transport.c @@ -55,6 +55,9 @@ static void accumulate_checksum(struct pprz_transport *trans, const uint8_t byte trans->ck_b_tx += trans->ck_a_tx; } +static void put_priority(struct spprz_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), + long fd __attribute__((unused)), uint8_t prio __attribute__((unused))) {} + static void put_bytes(struct pprz_transport *trans, struct link_device *dev, long fd, enum TransportDataType type __attribute__((unused)), enum TransportDataFormat format __attribute__((unused)), const void *bytes, uint16_t len) @@ -127,6 +130,7 @@ void pprz_transport_init(struct pprz_transport *t) t->trans_tx.overrun = (overrun_t) overrun; t->trans_tx.count_bytes = (count_bytes_t) count_bytes; t->trans_tx.impl = (void *)(t); + t->trans_tx.put_priority = (put_priority_t) put_priority; } diff --git a/lib/v2.0/C/pprz_transport.c b/lib/v2.0/C/pprz_transport.c index 625e284..f87c806 100644 --- a/lib/v2.0/C/pprz_transport.c +++ b/lib/v2.0/C/pprz_transport.c @@ -59,6 +59,9 @@ static void accumulate_checksum(struct pprz_transport *trans, const uint8_t byte trans->ck_b_tx += trans->ck_a_tx; } +static void put_priority(struct spprz_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), + long fd __attribute__((unused)), uint8_t prio __attribute__((unused))) {} + static void put_bytes(struct pprzlink_msg *msg, long fd, enum TransportDataType type __attribute__((unused)), enum TransportDataFormat format __attribute__((unused)), const void *bytes, uint16_t len) @@ -130,6 +133,7 @@ void pprz_transport_init(struct pprz_transport *t) t->trans_tx.overrun = (overrun_t) overrun; t->trans_tx.count_bytes = (count_bytes_t) count_bytes; t->trans_tx.impl = (void *)(t); + t->trans_tx.put_priority = (put_priority_t) put_priority; } diff --git a/message_definitions/v1.0/messages.dtd b/message_definitions/v1.0/messages.dtd index 9998c67..55dbd49 100644 --- a/message_definitions/v1.0/messages.dtd +++ b/message_definitions/v1.0/messages.dtd @@ -12,6 +12,7 @@ name CDATA #REQUIRED id CDATA #REQUIRED link CDATA #IMPLIED + priority CDATA #IMPLIED > diff --git a/message_definitions/v1.0/messages.xml b/message_definitions/v1.0/messages.xml index 3473098..5e8d1c1 100644 --- a/message_definitions/v1.0/messages.xml +++ b/message_definitions/v1.0/messages.xml @@ -14,7 +14,7 @@ - + Answer to PING datalink message, to measure latencies @@ -2052,7 +2052,7 @@ - + @@ -2307,13 +2307,13 @@ - + - + @@ -2322,7 +2322,7 @@ - + diff --git a/message_definitions/v1.0/pprz_schema.xsd b/message_definitions/v1.0/pprz_schema.xsd index e811ee2..af1ad00 100644 --- a/message_definitions/v1.0/pprz_schema.xsd +++ b/message_definitions/v1.0/pprz_schema.xsd @@ -19,6 +19,7 @@ + diff --git a/tools/generator/C/include_v1.0/pprzlink_transport.h b/tools/generator/C/include_v1.0/pprzlink_transport.h index 4b0823a..c18600f 100644 --- a/tools/generator/C/include_v1.0/pprzlink_transport.h +++ b/tools/generator/C/include_v1.0/pprzlink_transport.h @@ -88,6 +88,7 @@ typedef void (*start_message_t)(void *, struct link_device *, long, uint8_t); typedef void (*end_message_t)(void *, struct link_device *, long); typedef void (*overrun_t)(void *, struct link_device *); typedef void (*count_bytes_t)(void *, struct link_device *, uint8_t); +typedef void (*put_priority_t)(void *, struct link_device *, long, uint8_t); /** Generic transmission transport header */ @@ -101,6 +102,7 @@ struct transport_tx { overrun_t overrun; ///< overrun count_bytes_t count_bytes; ///< count bytes to send void *impl; ///< pointer to parent implementation + put_priority_t put_priority; ///< set a message priority }; #ifdef __cplusplus diff --git a/tools/generator/C/include_v2.0/pprzlink_transport.h b/tools/generator/C/include_v2.0/pprzlink_transport.h index fbf05f9..2787325 100644 --- a/tools/generator/C/include_v2.0/pprzlink_transport.h +++ b/tools/generator/C/include_v2.0/pprzlink_transport.h @@ -89,6 +89,7 @@ typedef void (*start_message_t)(struct pprzlink_msg *, long, uint8_t); typedef void (*end_message_t)(struct pprzlink_msg *, long); typedef void (*overrun_t)(struct pprzlink_msg *); typedef void (*count_bytes_t)(struct pprzlink_msg *, uint8_t); +typedef void (*put_priority_t)(void *, struct link_device *, long, uint8_t); /** Generic transmission transport header */ @@ -102,6 +103,7 @@ struct transport_tx { overrun_t overrun; ///< overrun count_bytes_t count_bytes; ///< count bytes to send void *impl; ///< pointer to parent implementation + put_priority_t put_priority; ///< set a message priority }; #ifdef __cplusplus diff --git a/tools/generator/gen_messages_v1_0_c.py b/tools/generator/gen_messages_v1_0_c.py index 61d47ac..19b3d9e 100644 --- a/tools/generator/gen_messages_v1_0_c.py +++ b/tools/generator/gen_messages_v1_0_c.py @@ -69,6 +69,7 @@ def generate_messages_h(directory, name, xml): if (trans->check_available_space(trans->impl, dev, _FD_ADDR, trans->size_of(trans->impl, 0${{fields:${array_extra_length}+${length}}} +2 /* msg header overhead */))) { trans->count_bytes(trans->impl, dev, trans->size_of(trans->impl, 0${{fields:${array_extra_length}+${length}}} +2 /* msg header overhead */)); trans->start_message(trans->impl, dev, _FD, 0${{fields:${array_extra_length}+${length}}} +2 /* msg header overhead */); + trans->put_priority(trans->impl, dev, _FD, DL_TYPE_UINT8, ${msg_priority} /* msg priority */); trans->put_bytes(trans->impl, dev, _FD, DL_TYPE_UINT8, DL_FORMAT_SCALAR, &ac_id, 1); trans->put_named_byte(trans->impl, dev, _FD, DL_TYPE_UINT8, DL_FORMAT_SCALAR, DL_${msg_name}, "${msg_name}"); ${{fields:${array_byte}trans->put_bytes(trans->impl, dev, _FD, DL_TYPE_${type_upper}, ${dl_format}, (void *) _${field_name}, ${length}); diff --git a/tools/generator/gen_messages_v2_0_c.py b/tools/generator/gen_messages_v2_0_c.py index d7284ff..1e2c6c0 100644 --- a/tools/generator/gen_messages_v2_0_c.py +++ b/tools/generator/gen_messages_v2_0_c.py @@ -134,6 +134,7 @@ def generate_one(directory, xml, m): if (msg->trans->check_available_space(msg, _FD_ADDR, size)) { msg->trans->count_bytes(msg, size); msg->trans->start_message(msg, _FD, /* msg header overhead */4${{fields:${array_extra_length}+${length}}}); + msg->trans->put_priority(trans->impl, dev, _FD, DL_TYPE_UINT8, ${msg_priority} /* msg priority */); msg->trans->put_bytes(msg, _FD, DL_TYPE_UINT8, DL_FORMAT_SCALAR, &(msg->sender_id), 1); msg->trans->put_named_byte(msg, _FD, DL_TYPE_UINT8, DL_FORMAT_SCALAR, msg->receiver_id, NULL); uint8_t comp_class = (msg->component_id & 0x0F) << 4 | (${class_id} & 0x0F); diff --git a/tools/generator/pprz_parse.py b/tools/generator/pprz_parse.py index acba11e..6914fb7 100644 --- a/tools/generator/pprz_parse.py +++ b/tools/generator/pprz_parse.py @@ -76,9 +76,10 @@ def __init__(self, name, type, xml, description=''): class PPRZMsg(object): - def __init__(self, name, id, linenumber, description=''): + def __init__(self, name, id, linenumber, description='', priority=1): self.msg_name = name self.linenumber = linenumber + self.msg_priority = priority self.id = int(id) self.description = description self.fields = [] @@ -131,6 +132,7 @@ def start_element(name, attrs): elif in_element == "protocol.msg_class.message": check_attrs(attrs, ['name', 'id'], 'message') if self.current_class == self.class_name: + priority = attrs['priority'] if 'priority' in attrs else 1 self.message.append(PPRZMsg(attrs['name'], attrs['id'], p.CurrentLineNumber)) elif in_element == "protocol.msg_class.message.field": check_attrs(attrs, ['name', 'type'], 'field') diff --git a/tools/generator/pprz_schema.xsd b/tools/generator/pprz_schema.xsd index e811ee2..a556184 100644 --- a/tools/generator/pprz_schema.xsd +++ b/tools/generator/pprz_schema.xsd @@ -19,6 +19,7 @@ + From 5adc3a96e17117c2536070ccc25eb293830cfbf1 Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Thu, 30 Nov 2017 12:03:20 -0800 Subject: [PATCH 2/9] Compilation fixes --- lib/v2.0/C/pprz_transport.c | 4 ++-- tools/generator/C/include_v2.0/pprzlink_transport.h | 2 +- tools/generator/gen_messages_v1_0_c.py | 2 +- tools/generator/gen_messages_v2_0_c.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/v2.0/C/pprz_transport.c b/lib/v2.0/C/pprz_transport.c index f87c806..b73f1bd 100644 --- a/lib/v2.0/C/pprz_transport.c +++ b/lib/v2.0/C/pprz_transport.c @@ -59,8 +59,8 @@ static void accumulate_checksum(struct pprz_transport *trans, const uint8_t byte trans->ck_b_tx += trans->ck_a_tx; } -static void put_priority(struct spprz_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), - long fd __attribute__((unused)), uint8_t prio __attribute__((unused))) {} +static void put_priority(struct pprzlink_msg *msg __attribute__((unused)), long fd __attribute__((unused)), + uint8_t prio __attribute__((unused))) {} static void put_bytes(struct pprzlink_msg *msg, long fd, enum TransportDataType type __attribute__((unused)), enum TransportDataFormat format __attribute__((unused)), diff --git a/tools/generator/C/include_v2.0/pprzlink_transport.h b/tools/generator/C/include_v2.0/pprzlink_transport.h index 2787325..bb0c0c6 100644 --- a/tools/generator/C/include_v2.0/pprzlink_transport.h +++ b/tools/generator/C/include_v2.0/pprzlink_transport.h @@ -89,7 +89,7 @@ typedef void (*start_message_t)(struct pprzlink_msg *, long, uint8_t); typedef void (*end_message_t)(struct pprzlink_msg *, long); typedef void (*overrun_t)(struct pprzlink_msg *); typedef void (*count_bytes_t)(struct pprzlink_msg *, uint8_t); -typedef void (*put_priority_t)(void *, struct link_device *, long, uint8_t); +typedef void (*put_priority_t)(struct pprzlink_msg *, long, uint8_t); /** Generic transmission transport header */ diff --git a/tools/generator/gen_messages_v1_0_c.py b/tools/generator/gen_messages_v1_0_c.py index 19b3d9e..fd24e44 100644 --- a/tools/generator/gen_messages_v1_0_c.py +++ b/tools/generator/gen_messages_v1_0_c.py @@ -69,7 +69,7 @@ def generate_messages_h(directory, name, xml): if (trans->check_available_space(trans->impl, dev, _FD_ADDR, trans->size_of(trans->impl, 0${{fields:${array_extra_length}+${length}}} +2 /* msg header overhead */))) { trans->count_bytes(trans->impl, dev, trans->size_of(trans->impl, 0${{fields:${array_extra_length}+${length}}} +2 /* msg header overhead */)); trans->start_message(trans->impl, dev, _FD, 0${{fields:${array_extra_length}+${length}}} +2 /* msg header overhead */); - trans->put_priority(trans->impl, dev, _FD, DL_TYPE_UINT8, ${msg_priority} /* msg priority */); + trans->put_priority(trans->impl, dev, _FD, ${msg_priority} /* msg priority */); trans->put_bytes(trans->impl, dev, _FD, DL_TYPE_UINT8, DL_FORMAT_SCALAR, &ac_id, 1); trans->put_named_byte(trans->impl, dev, _FD, DL_TYPE_UINT8, DL_FORMAT_SCALAR, DL_${msg_name}, "${msg_name}"); ${{fields:${array_byte}trans->put_bytes(trans->impl, dev, _FD, DL_TYPE_${type_upper}, ${dl_format}, (void *) _${field_name}, ${length}); diff --git a/tools/generator/gen_messages_v2_0_c.py b/tools/generator/gen_messages_v2_0_c.py index 1e2c6c0..55ff0b4 100644 --- a/tools/generator/gen_messages_v2_0_c.py +++ b/tools/generator/gen_messages_v2_0_c.py @@ -134,7 +134,7 @@ def generate_one(directory, xml, m): if (msg->trans->check_available_space(msg, _FD_ADDR, size)) { msg->trans->count_bytes(msg, size); msg->trans->start_message(msg, _FD, /* msg header overhead */4${{fields:${array_extra_length}+${length}}}); - msg->trans->put_priority(trans->impl, dev, _FD, DL_TYPE_UINT8, ${msg_priority} /* msg priority */); + msg->trans->put_priority(msg, _FD, ${msg_priority} /* msg priority */); msg->trans->put_bytes(msg, _FD, DL_TYPE_UINT8, DL_FORMAT_SCALAR, &(msg->sender_id), 1); msg->trans->put_named_byte(msg, _FD, DL_TYPE_UINT8, DL_FORMAT_SCALAR, msg->receiver_id, NULL); uint8_t comp_class = (msg->component_id & 0x0F) << 4 | (${class_id} & 0x0F); From ac1e4e0636078b245b317b34a49e1843d38183ff Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Thu, 30 Nov 2017 12:04:45 -0800 Subject: [PATCH 3/9] Compilation fixes --- lib/v1.0/C/pprz_transport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/v1.0/C/pprz_transport.c b/lib/v1.0/C/pprz_transport.c index 5627ceb..eae3970 100644 --- a/lib/v1.0/C/pprz_transport.c +++ b/lib/v1.0/C/pprz_transport.c @@ -55,7 +55,7 @@ static void accumulate_checksum(struct pprz_transport *trans, const uint8_t byte trans->ck_b_tx += trans->ck_a_tx; } -static void put_priority(struct spprz_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), +static void put_priority(struct pprz_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), long fd __attribute__((unused)), uint8_t prio __attribute__((unused))) {} static void put_bytes(struct pprz_transport *trans, struct link_device *dev, long fd, From 627598d388f1031026ba12d5356a4383c5854b78 Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Thu, 30 Nov 2017 12:14:08 -0800 Subject: [PATCH 4/9] Compilation fixes --- tools/generator/pprz_parse.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/generator/pprz_parse.py b/tools/generator/pprz_parse.py index 6914fb7..857337b 100644 --- a/tools/generator/pprz_parse.py +++ b/tools/generator/pprz_parse.py @@ -79,6 +79,7 @@ class PPRZMsg(object): def __init__(self, name, id, linenumber, description='', priority=1): self.msg_name = name self.linenumber = linenumber + print(priority) self.msg_priority = priority self.id = int(id) self.description = description @@ -133,7 +134,7 @@ def start_element(name, attrs): check_attrs(attrs, ['name', 'id'], 'message') if self.current_class == self.class_name: priority = attrs['priority'] if 'priority' in attrs else 1 - self.message.append(PPRZMsg(attrs['name'], attrs['id'], p.CurrentLineNumber)) + self.message.append(PPRZMsg(attrs['name'], attrs['id'], p.CurrentLineNumber, priority=priority)) elif in_element == "protocol.msg_class.message.field": check_attrs(attrs, ['name', 'type'], 'field') if self.current_class == self.class_name: From 662d2a312e4aaa825e7918e002a55732a7923a51 Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Thu, 30 Nov 2017 13:48:42 -0800 Subject: [PATCH 5/9] Compilation fixes --- message_definitions/v1.0/messages.xml | 4 ++-- tools/generator/pprz_parse.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/message_definitions/v1.0/messages.xml b/message_definitions/v1.0/messages.xml index 5e8d1c1..a9679fc 100644 --- a/message_definitions/v1.0/messages.xml +++ b/message_definitions/v1.0/messages.xml @@ -4,7 +4,7 @@ - + version encoded as: MAJOR * 10000 + MINOR * 100 + PATCH version description as string from paparazzi_version @@ -14,7 +14,7 @@ - + Answer to PING datalink message, to measure latencies diff --git a/tools/generator/pprz_parse.py b/tools/generator/pprz_parse.py index 857337b..d36bb0d 100644 --- a/tools/generator/pprz_parse.py +++ b/tools/generator/pprz_parse.py @@ -79,7 +79,6 @@ class PPRZMsg(object): def __init__(self, name, id, linenumber, description='', priority=1): self.msg_name = name self.linenumber = linenumber - print(priority) self.msg_priority = priority self.id = int(id) self.description = description @@ -134,7 +133,7 @@ def start_element(name, attrs): check_attrs(attrs, ['name', 'id'], 'message') if self.current_class == self.class_name: priority = attrs['priority'] if 'priority' in attrs else 1 - self.message.append(PPRZMsg(attrs['name'], attrs['id'], p.CurrentLineNumber, priority=priority)) + self.message.append(PPRZMsg(attrs['name'], attrs['id'], p.CurrentLineNumber, priority=int(priority))) elif in_element == "protocol.msg_class.message.field": check_attrs(attrs, ['name', 'type'], 'field') if self.current_class == self.class_name: From 1ba10f19566a65c5691a4bb658ba2ec95bc16ed2 Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Thu, 30 Nov 2017 14:09:03 -0800 Subject: [PATCH 6/9] Finally working --- message_definitions/v1.0/messages.xml | 2 +- tools/generator/gen_messages_v2_0_c.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/message_definitions/v1.0/messages.xml b/message_definitions/v1.0/messages.xml index a9679fc..b7df80f 100644 --- a/message_definitions/v1.0/messages.xml +++ b/message_definitions/v1.0/messages.xml @@ -4,7 +4,7 @@ - + version encoded as: MAJOR * 10000 + MINOR * 100 + PATCH version description as string from paparazzi_version diff --git a/tools/generator/gen_messages_v2_0_c.py b/tools/generator/gen_messages_v2_0_c.py index 55ff0b4..80cc2e2 100644 --- a/tools/generator/gen_messages_v2_0_c.py +++ b/tools/generator/gen_messages_v2_0_c.py @@ -196,7 +196,7 @@ def generate_one(directory, xml, m): #endif // _VAR_MESSAGES_${class_name}_${msg_name}_H_ -''', {'msg_name' : m.msg_name, 'description' : m.description ,'class_id' : xml.class_id, 'class_name' : xml.class_name, 'id' : m.id, 'fields' : m.fields, 'message' : xml.message}) +''', {'msg_name' : m.msg_name, 'description' : m.description ,'class_id' : xml.class_id, 'class_name' : xml.class_name, 'id' : m.id, 'fields' : m.fields, 'message' : xml.message, 'msg_priority': m.msg_priority}) def generate(output, xml): From 341a355c682d6878a2d075efe749ebe4eb858c40 Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Thu, 30 Nov 2017 14:21:59 -0800 Subject: [PATCH 7/9] Finally compiles --- message_definitions/v1.0/pprz_schema.xsd | 1 + tools/generator/pprz_schema.xsd | 1 + 2 files changed, 2 insertions(+) diff --git a/message_definitions/v1.0/pprz_schema.xsd b/message_definitions/v1.0/pprz_schema.xsd index af1ad00..e60525d 100644 --- a/message_definitions/v1.0/pprz_schema.xsd +++ b/message_definitions/v1.0/pprz_schema.xsd @@ -68,6 +68,7 @@ + diff --git a/tools/generator/pprz_schema.xsd b/tools/generator/pprz_schema.xsd index a556184..39193e1 100644 --- a/tools/generator/pprz_schema.xsd +++ b/tools/generator/pprz_schema.xsd @@ -68,6 +68,7 @@ + From 35210e0d48a4f2e39ceb139fc677ee65f6bb12c0 Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Fri, 1 Dec 2017 18:04:36 -0800 Subject: [PATCH 8/9] Minor fix --- tools/generator/pprz_parse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/generator/pprz_parse.py b/tools/generator/pprz_parse.py index d36bb0d..2619f97 100644 --- a/tools/generator/pprz_parse.py +++ b/tools/generator/pprz_parse.py @@ -132,7 +132,7 @@ def start_element(name, attrs): elif in_element == "protocol.msg_class.message": check_attrs(attrs, ['name', 'id'], 'message') if self.current_class == self.class_name: - priority = attrs['priority'] if 'priority' in attrs else 1 + priority = attrs.get('priority', 1) self.message.append(PPRZMsg(attrs['name'], attrs['id'], p.CurrentLineNumber, priority=int(priority))) elif in_element == "protocol.msg_class.message.field": check_attrs(attrs, ['name', 'type'], 'field') From 41d9511ad2b3bb7acb226dcc7928788272acb68c Mon Sep 17 00:00:00 2001 From: Michal Podhradsky Date: Sat, 9 Dec 2017 11:58:30 -0800 Subject: [PATCH 9/9] Added empty 'put_priority' functions --- lib/v1.0/C/ivy_transport.c | 4 ++++ lib/v1.0/C/pprzlog_transport.c | 4 ++++ lib/v1.0/C/short_transport.c | 4 ++++ lib/v1.0/C/xbee_transport.c | 4 ++++ lib/v2.0/C/ivy_transport.c | 4 ++++ lib/v2.0/C/pprzlog_transport.c | 4 ++++ lib/v2.0/C/short_transport.c | 4 ++++ lib/v2.0/C/xbee_transport.c | 4 ++++ 8 files changed, 32 insertions(+) diff --git a/lib/v1.0/C/ivy_transport.c b/lib/v1.0/C/ivy_transport.c index ffdcc4c..47d9be4 100644 --- a/lib/v1.0/C/ivy_transport.c +++ b/lib/v1.0/C/ivy_transport.c @@ -32,6 +32,9 @@ #include #include +static void put_priority(struct ivy_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), + long fd __attribute__((unused)), uint8_t prio __attribute__((unused))) {} + static void put_bytes(struct ivy_transport *trans, struct link_device *dev __attribute__((unused)), long fd __attribute__((unused)), enum TransportDataType type __attribute__((unused)), enum TransportDataFormat format __attribute__((unused)), const void *bytes, uint16_t len) @@ -196,4 +199,5 @@ void ivy_transport_init(struct ivy_transport *t) t->device.char_available = (char_available_t) null_function; t->device.get_byte = (get_byte_t) null_function; t->device.periph = (void *)(t); + t->trans_tx.put_priority = (put_priority_t) put_priority; } diff --git a/lib/v1.0/C/pprzlog_transport.c b/lib/v1.0/C/pprzlog_transport.c index 1a145b1..f0acb0b 100644 --- a/lib/v1.0/C/pprzlog_transport.c +++ b/lib/v1.0/C/pprzlog_transport.c @@ -51,6 +51,9 @@ static void accumulate_checksum(struct pprzlog_transport *trans, const uint8_t b trans->ck += byte; } +static void put_priority(struct pprzlog_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), + long fd __attribute__((unused)), uint8_t prio __attribute__((unused))) {} + static void put_bytes(struct pprzlog_transport *trans, struct link_device *dev, long fd, enum TransportDataType type __attribute__((unused)), enum TransportDataFormat format __attribute__((unused)), const void *bytes, uint16_t len) @@ -122,5 +125,6 @@ void pprzlog_transport_init(struct pprzlog_transport *t, get_time_usec_t get_tim t->trans_tx.count_bytes = (count_bytes_t) count_bytes; t->trans_tx.impl = (void *)(t); t->get_time_usec = get_time_usec; + t->trans_tx.put_priority = (put_priority_t) put_priority; } diff --git a/lib/v1.0/C/short_transport.c b/lib/v1.0/C/short_transport.c index 9d87748..a5d3977 100644 --- a/lib/v1.0/C/short_transport.c +++ b/lib/v1.0/C/short_transport.c @@ -29,6 +29,9 @@ #include #include "pprzlink/short_transport.h" +static void put_priority(struct short_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), + long fd __attribute__((unused)), uint8_t prio __attribute__((unused))) {} + static void put_bytes(struct short_transport *trans __attribute__((unused)), struct link_device *dev, long fd, enum TransportDataType type __attribute__((unused)), enum TransportDataFormat format __attribute__((unused)), const void *bytes, uint16_t len) @@ -86,5 +89,6 @@ void short_transport_init(struct short_transport *t) t->trans_tx.overrun = (overrun_t) overrun; t->trans_tx.count_bytes = (count_bytes_t) count_bytes; t->trans_tx.impl = (void *)(t); + t->trans_tx.put_priority = (put_priority_t) put_priority; } diff --git a/lib/v1.0/C/xbee_transport.c b/lib/v1.0/C/xbee_transport.c index 0c14a8d..fa56a06 100644 --- a/lib/v1.0/C/xbee_transport.c +++ b/lib/v1.0/C/xbee_transport.c @@ -90,6 +90,9 @@ /** Xbee protocol implementation */ +static void put_priority(struct xbee_transport *trans __attribute__((unused)), struct link_device *dev __attribute__((unused)), + long fd __attribute__((unused)), uint8_t prio __attribute__((unused))) {} + static void accumulate_checksum(struct xbee_transport *trans, const uint8_t byte) { trans->cs_tx += byte; @@ -218,6 +221,7 @@ void xbee_transport_init(struct xbee_transport *t, struct link_device *dev, uint t->trans_tx.overrun = (overrun_t) overrun; t->trans_tx.count_bytes = (count_bytes_t) count_bytes; t->trans_tx.impl = (void *)(t); + t->trans_tx.put_priority = (put_priority_t) put_priority; // Empty buffer before init process while (dev->char_available(dev->periph)) { diff --git a/lib/v2.0/C/ivy_transport.c b/lib/v2.0/C/ivy_transport.c index 3c59b64..e6b348a 100644 --- a/lib/v2.0/C/ivy_transport.c +++ b/lib/v2.0/C/ivy_transport.c @@ -37,6 +37,9 @@ static struct ivy_transport * get_ivy_trans(struct pprzlink_msg *msg) return (struct ivy_transport *)(msg->trans->impl); } +static void put_priority(struct pprzlink_msg *msg __attribute__((unused)), long fd __attribute__((unused)), + uint8_t prio __attribute__((unused))) {} + static void put_bytes(struct pprzlink_msg *msg, long fd __attribute__((unused)), enum TransportDataType type __attribute__((unused)), enum TransportDataFormat format __attribute__((unused)), const void *bytes, uint16_t len) @@ -204,4 +207,5 @@ void ivy_transport_init(struct ivy_transport *t) t->device.char_available = (char_available_t) null_function; t->device.get_byte = (get_byte_t) null_function; t->device.periph = (void *)(t); + t->trans_tx.put_priority = (put_priority_t) put_priority; } diff --git a/lib/v2.0/C/pprzlog_transport.c b/lib/v2.0/C/pprzlog_transport.c index fd9f2db..2ea2f79 100644 --- a/lib/v2.0/C/pprzlog_transport.c +++ b/lib/v2.0/C/pprzlog_transport.c @@ -51,6 +51,9 @@ static struct pprzlog_transport * get_pprzlog_trans(struct pprzlink_msg *msg) return (struct pprzlog_transport *)(msg->trans->impl); } +static void put_priority(struct pprzlink_msg *msg __attribute__((unused)), long fd __attribute__((unused)), + uint8_t prio __attribute__((unused))) {} + static void accumulate_checksum(struct pprzlog_transport *trans, const uint8_t byte) { trans->ck += byte; @@ -124,5 +127,6 @@ void pprzlog_transport_init(struct pprzlog_transport *t, get_time_usec_t get_tim t->trans_tx.count_bytes = (count_bytes_t) count_bytes; t->trans_tx.impl = (void *)(t); t->get_time_usec = get_time_usec; + t->trans_tx.put_priority = (put_priority_t) put_priority; } diff --git a/lib/v2.0/C/short_transport.c b/lib/v2.0/C/short_transport.c index ae43775..e5975bb 100644 --- a/lib/v2.0/C/short_transport.c +++ b/lib/v2.0/C/short_transport.c @@ -29,6 +29,9 @@ #include #include "pprzlink/short_transport.h" +static void put_priority(struct pprzlink_msg *msg __attribute__((unused)), long fd __attribute__((unused)), + uint8_t prio __attribute__((unused))) {} + static void put_bytes(struct pprzlink_msg *msg, long fd, enum TransportDataType type __attribute__((unused)), enum TransportDataFormat format __attribute__((unused)), const void *bytes, uint16_t len) @@ -83,5 +86,6 @@ void short_transport_init(struct short_transport *t) t->trans_tx.overrun = (overrun_t) overrun; t->trans_tx.count_bytes = (count_bytes_t) count_bytes; t->trans_tx.impl = (void *)(t); + t->trans_tx.put_priority = (put_priority_t) put_priority; } diff --git a/lib/v2.0/C/xbee_transport.c b/lib/v2.0/C/xbee_transport.c index e06037b..df2d905 100644 --- a/lib/v2.0/C/xbee_transport.c +++ b/lib/v2.0/C/xbee_transport.c @@ -115,6 +115,9 @@ static void set_xbee_receiver_addr(uint8_t *buf, uint8_t offset, uint8_t addr) buf[offset+1] = (receiver & 0xFF); } +static void put_priority(struct pprzlink_msg *msg __attribute__((unused)), long fd __attribute__((unused)), + uint8_t prio __attribute__((unused))) {} + static void accumulate_checksum(struct xbee_transport *trans, const uint8_t byte) { trans->cs_tx += byte; @@ -243,6 +246,7 @@ void xbee_transport_init(struct xbee_transport *t, struct link_device *dev, uint t->trans_tx.overrun = (overrun_t) overrun; t->trans_tx.count_bytes = (count_bytes_t) count_bytes; t->trans_tx.impl = (void *)(t); + t->trans_tx.put_priority = (put_priority_t) put_priority; // Empty buffer before init process while (dev->char_available(dev->periph)) {