mbed-os-examples / Mbed OS nanostack-border-router-mbed5
Committer:
mbed_official
Date:
Wed Jun 20 12:01:14 2018 +0100
Revision:
69:a8a0ac9f3f8a
Parent:
13:993808eb2e9c
Child:
82:3d9e3b7b3dcf
Enable emac ethernet driver (#121)

-Use EMAC ethernet driver
-Update Jenkinsfile and README
-Limit KINETIS EMAC driver TX/RX buffer count to 4+4 (default 16+8)
-Use mbed-os-5.9.1 release
-Update memory traces


.
Commit copied from https://github.com/ARMmbed/nanostack-border-router

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:85f4174a8e29 1 /*
mbed_official 0:85f4174a8e29 2 * Copyright (c) 2016 ARM Limited. All rights reserved.
mbed_official 0:85f4174a8e29 3 */
mbed_official 0:85f4174a8e29 4
mbed_official 0:85f4174a8e29 5 #include <string.h>
mbed_official 0:85f4174a8e29 6 #include <stdlib.h>
mbed_official 0:85f4174a8e29 7 #include <stdio.h>
mbed_official 0:85f4174a8e29 8 #include <ctype.h>
mbed_official 0:85f4174a8e29 9 #include "ip6string.h"
mbed_official 0:85f4174a8e29 10 #include "ns_types.h"
mbed_official 0:85f4174a8e29 11 #include "common_functions.h"
mbed_official 0:85f4174a8e29 12 #include "ns_trace.h"
mbed_official 13:993808eb2e9c 13 #include "nsdynmemLIB.h"
mbed_official 0:85f4174a8e29 14 #define TRACE_GROUP "app"
mbed_official 0:85f4174a8e29 15
mbed_official 0:85f4174a8e29 16 static char tmp_print_buffer[128] = {0};
mbed_official 0:85f4174a8e29 17
mbed_official 0:85f4174a8e29 18 char *print_ipv6(const void *addr_ptr)
mbed_official 0:85f4174a8e29 19 {
mbed_official 0:85f4174a8e29 20 ip6tos(addr_ptr, tmp_print_buffer);
mbed_official 0:85f4174a8e29 21 return tmp_print_buffer;
mbed_official 0:85f4174a8e29 22 }
mbed_official 0:85f4174a8e29 23
mbed_official 0:85f4174a8e29 24 char *print_ipv6_prefix(const uint8_t *prefix, uint8_t prefix_len)
mbed_official 0:85f4174a8e29 25 {
mbed_official 0:85f4174a8e29 26 char *str = tmp_print_buffer;
mbed_official 0:85f4174a8e29 27 int retval;
mbed_official 0:85f4174a8e29 28 char tmp[40];
mbed_official 0:85f4174a8e29 29 uint8_t addr[16] = {0};
mbed_official 0:85f4174a8e29 30
mbed_official 0:85f4174a8e29 31 if (prefix_len != 0) {
mbed_official 0:85f4174a8e29 32 if (prefix == NULL || prefix_len > 128) {
mbed_official 0:85f4174a8e29 33 return "<err>";
mbed_official 0:85f4174a8e29 34 }
mbed_official 0:85f4174a8e29 35 bitcopy(addr, prefix, prefix_len);
mbed_official 0:85f4174a8e29 36 }
mbed_official 0:85f4174a8e29 37
mbed_official 0:85f4174a8e29 38 ip6tos(addr, tmp);
mbed_official 0:85f4174a8e29 39 retval = snprintf(str, 128, "%s/%u", tmp, prefix_len);
mbed_official 0:85f4174a8e29 40 if (retval <= 0) {
mbed_official 0:85f4174a8e29 41 return "";
mbed_official 0:85f4174a8e29 42 }
mbed_official 0:85f4174a8e29 43 return str;
mbed_official 0:85f4174a8e29 44 }
mbed_official 0:85f4174a8e29 45
mbed_official 0:85f4174a8e29 46 void print_appl_info(void)
mbed_official 0:85f4174a8e29 47 {
mbed_official 0:85f4174a8e29 48 tr_info("Starting NanoStack Border Router...");
mbed_official 0:85f4174a8e29 49 tr_info("Build date: %s %s", __DATE__, __TIME__);
mbed_official 0:85f4174a8e29 50 }
mbed_official 13:993808eb2e9c 51
mbed_official 13:993808eb2e9c 52 void print_memory_stats(void)
mbed_official 13:993808eb2e9c 53 {
mbed_official 13:993808eb2e9c 54 const mem_stat_t *heap_info = ns_dyn_mem_get_mem_stat();
mbed_official 13:993808eb2e9c 55 if (heap_info) {
mbed_official 13:993808eb2e9c 56 tr_info(
mbed_official 69:a8a0ac9f3f8a 57 "Heap size: %lu, Reserved: %lu, Reserved max: %lu, Alloc fail: %lu"
mbed_official 69:a8a0ac9f3f8a 58 ,(unsigned long)heap_info->heap_sector_size
mbed_official 69:a8a0ac9f3f8a 59 ,(unsigned long)heap_info->heap_sector_allocated_bytes
mbed_official 69:a8a0ac9f3f8a 60 ,(unsigned long)heap_info->heap_sector_allocated_bytes_max
mbed_official 69:a8a0ac9f3f8a 61 ,(unsigned long)heap_info->heap_alloc_fail_cnt);
mbed_official 13:993808eb2e9c 62 }
mbed_official 13:993808eb2e9c 63 }
mbed_official 13:993808eb2e9c 64