Skip to content

Commit

Permalink
Compilation fix
Browse files Browse the repository at this point in the history
  • Loading branch information
sashacmc committed Dec 9, 2024
1 parent 45b7b0a commit 12e80a3
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 18 deletions.
3 changes: 2 additions & 1 deletion src/protocol/codec/serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// ZettaScale Zenoh Team, <[email protected]>
//

#include <inttypes.h>
#include <stdint.h>
#include <string.h>

Expand Down Expand Up @@ -108,7 +109,7 @@ size_t _z_serial_msg_deserialize(const uint8_t *src, size_t src_len, uint8_t *ds

uint32_t computed_crc = _z_crc32(dst, wire_size);
if (received_crc != computed_crc) {
_Z_DEBUG("CRC mismatch. Received: 0x%08lX, Computed: 0x%08lX", received_crc, computed_crc);
_Z_DEBUG("CRC mismatch. Received: 0x%08" PRIu32 ", Computed: 0x%08" PRIu32, received_crc, computed_crc);
return SIZE_MAX;
}

Expand Down
9 changes: 5 additions & 4 deletions src/system/common/serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@
// ZettaScale Zenoh Team, <[email protected]>
//

#include "zenoh-pico/protocol/definitions/serial.h"

#include <stdint.h>

#include "zenoh-pico/protocol/definitions/serial.h"
#include "zenoh-pico/system/common/platform.h"
#include "zenoh-pico/system/common/serial.h"
#include "zenoh-pico/system/link/serial.h"
#include "zenoh-pico/utils/logging.h"
#include "zenoh-pico/utils/pointers.h"
#include "zenoh-pico/utils/result.h"

#if Z_FEATURE_LINK_SERIAL == 1

#define SERIAL_CONNECT_THROTTLE_TIME_MS 250

z_result_t _z_connect_serial(const _z_sys_net_socket_t sock) {
while (true) {
uint8_t header = _Z_FLAG_SERIAL_INIT;

_z_send_serial_internal(sock, header, NULL, 0);
uint8_t tmp;
size_t ret = _z_read_serial_internal(sock, &header, &tmp, sizeof(tmp));
size_t ret = _z_read_serial_internal(sock, &header, NULL, 0);
if (ret == SIZE_MAX) {
return _Z_ERR_TRANSPORT_RX_FAILED;
}
Expand Down Expand Up @@ -78,3 +78,4 @@ size_t _z_read_exact_serial(const _z_sys_net_socket_t sock, uint8_t *ptr, size_t

return n;
}
#endif // Z_FEATURE_LINK_SERIAL == 1
24 changes: 12 additions & 12 deletions tests/z_msgcodec_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -1977,21 +1977,21 @@ void scouting_message(void) {
_z_wbuf_clear(&wbf);
}

void test_serialize_deserialize() {
void test_serialize_deserialize(void) {
uint8_t src_data[] = "Test\0Payload\0Data";
size_t src_len = sizeof(src_data) - 1;
uint8_t header = 0xAB;
uint8_t serialized[256] = {0};
uint8_t deserialized[256] = {0};
uint8_t tmp_buf[256] = {0};

int serialized_len =
size_t serialized_len =
_z_serial_msg_serialize(serialized, sizeof(serialized), src_data, src_len, header, tmp_buf, sizeof(tmp_buf));
assert(serialized_len > 0);

uint8_t decoded_header = 0;
int deserialized_len = _z_serial_msg_deserialize(serialized, serialized_len, deserialized, sizeof(deserialized),
&decoded_header, tmp_buf, sizeof(tmp_buf));
size_t deserialized_len = _z_serial_msg_deserialize(serialized, serialized_len, deserialized, sizeof(deserialized),
&decoded_header, tmp_buf, sizeof(tmp_buf));
assert(deserialized_len != SIZE_MAX);

assert(decoded_header == header);
Expand All @@ -2000,42 +2000,42 @@ void test_serialize_deserialize() {
assert(memcmp(src_data, deserialized, src_len) == 0);
}

void test_crc_mismatch() {
void test_crc_mismatch(void) {
uint8_t src_data[] = "Test\0Payload\0Data";
size_t src_len = sizeof(src_data) - 1;
uint8_t header = 0xCD;
uint8_t serialized[256] = {0};
uint8_t tmp_buf[256] = {0};

int serialized_len =
size_t serialized_len =
_z_serial_msg_serialize(serialized, sizeof(serialized), src_data, src_len, header, tmp_buf, sizeof(tmp_buf));
assert(serialized_len != SIZE_MAX);

serialized[serialized_len - 2] ^= 0xFF;

uint8_t decoded_header = 0;
uint8_t deserialized[256] = {0};
int deserialized_len = _z_serial_msg_deserialize(serialized, serialized_len, deserialized, sizeof(deserialized),
&decoded_header, tmp_buf, sizeof(tmp_buf));
size_t deserialized_len = _z_serial_msg_deserialize(serialized, serialized_len, deserialized, sizeof(deserialized),
&decoded_header, tmp_buf, sizeof(tmp_buf));

assert(deserialized_len == SIZE_MAX);
}

void test_buffer_too_small() {
void test_buffer_too_small(void) {
uint8_t src_data[] = "Test\0Payload\0Data";
size_t src_len = sizeof(src_data) - 1;
uint8_t header = 0xEF;
uint8_t serialized[256] = {0};
uint8_t tmp_buf[256] = {0};

int serialized_len =
size_t serialized_len =
_z_serial_msg_serialize(serialized, sizeof(serialized), src_data, src_len, header, tmp_buf, sizeof(tmp_buf));
assert(serialized_len != SIZE_MAX);

uint8_t decoded_header = 0;
uint8_t deserialized[4] = {0}; // Too small
int deserialized_len = _z_serial_msg_deserialize(serialized, serialized_len, deserialized, sizeof(deserialized),
&decoded_header, tmp_buf, sizeof(tmp_buf));
size_t deserialized_len = _z_serial_msg_deserialize(serialized, serialized_len, deserialized, sizeof(deserialized),
&decoded_header, tmp_buf, sizeof(tmp_buf));

assert(deserialized_len == SIZE_MAX);
}
Expand Down
2 changes: 1 addition & 1 deletion zephyr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ file(GLOB_RECURSE Sources
"../src/session/*.c"
"../src/transport/*.c"
"../src/utils/*.c"
"../src/system/platform_common.c"
"../src/system/common/*.c"
)

file (GLOB Sources_Zephyr "../src/system/zephyr/*.c")
Expand Down

0 comments on commit 12e80a3

Please sign in to comment.