mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-18 12:52:44 +01:00
Merge pull request https://github.com/RIOT-OS/applications/pull/36 from miri64/sniffer/enh/fmt
sniffer: use fmt instead of printf
This commit is contained in:
commit
ca9dea344d
@ -8,6 +8,7 @@ BOARD ?= native
|
||||
RIOTBASE ?= $(CURDIR)/../../RIOT
|
||||
|
||||
# Define modules that are used
|
||||
USEMODULE += fmt
|
||||
USEMODULE += gnrc
|
||||
USEMODULE += gnrc_netdev_default
|
||||
USEMODULE += auto_init_gnrc_netif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Freie Universität Berlin
|
||||
* Copyright (C) 2015-18 Freie Universität Berlin
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
@ -15,12 +15,14 @@
|
||||
* @brief Sniffer application for RIOT
|
||||
*
|
||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
||||
* @author Martine Lenders <m.lenders@fu-berlin.de>
|
||||
*
|
||||
* @}
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "fmt.h"
|
||||
#include "thread.h"
|
||||
#include "xtimer.h"
|
||||
#include "shell.h"
|
||||
@ -45,7 +47,7 @@
|
||||
/**
|
||||
* @brief Stack for the raw dump thread
|
||||
*/
|
||||
static char rawdmp_stack[THREAD_STACKSIZE_MAIN];
|
||||
static char rawdmp_stack[THREAD_STACKSIZE_SMALL];
|
||||
|
||||
/**
|
||||
* @brief Make a raw dump of the given packet contents
|
||||
@ -59,16 +61,21 @@ void dump_pkt(gnrc_pktsnip_t *pkt)
|
||||
pkt = gnrc_pktbuf_remove_snip(pkt, pkt->next);
|
||||
uint64_t now_us = xtimer_usec_from_ticks64(xtimer_now64());
|
||||
|
||||
printf("rftest-rx --- len 0x%02x lqi 0x%02x rx_time 0x%08" PRIx32 "%08" PRIx32 "\n\n",
|
||||
gnrc_pkt_len(pkt), lqi, (uint32_t)(now_us >> 32), (uint32_t)(now_us & 0xffffffff));
|
||||
|
||||
print_str("rftest-rx --- len ");
|
||||
print_u32_hex((uint32_t)gnrc_pkt_len(pkt));
|
||||
print_str(" lqi ");
|
||||
print_byte_hex(lqi);
|
||||
print_str(" rx_time ");
|
||||
print_u64_hex(now_us);
|
||||
print_str("\n");
|
||||
while (snip) {
|
||||
for (size_t i = 0; i < snip->size; i++) {
|
||||
printf("0x%02x ", ((uint8_t *)(snip->data))[i]);
|
||||
print_byte_hex(((uint8_t *)(snip->data))[i]);
|
||||
print_str(" ");
|
||||
}
|
||||
snip = snip->next;
|
||||
}
|
||||
puts("\n");
|
||||
print_str("\n\n");
|
||||
|
||||
gnrc_pktbuf_release(pkt);
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ def generate_pcap(port, out):
|
||||
while True:
|
||||
line = port.readline().rstrip()
|
||||
|
||||
pkt_header = re.match(r">? *rftest-rx --- len 0x(\w\w).*",
|
||||
pkt_header = re.match(r">? *rftest-rx --- len (\w+).*",
|
||||
line.decode(errors="ignore"))
|
||||
if pkt_header:
|
||||
now = time()
|
||||
@ -100,10 +100,10 @@ def generate_pcap(port, out):
|
||||
sys.stderr.write("RX: %i\r" % count)
|
||||
continue
|
||||
|
||||
pkt_data = re.match(r"(0x\w\w )+", line.decode(errors="ignore"))
|
||||
pkt_data = re.match(r"(\w\w )+", line.decode(errors="ignore"))
|
||||
if pkt_data:
|
||||
for part in line.decode(errors="ignore").split(' '):
|
||||
byte = re.match(r"0x(\w\w)", part)
|
||||
byte = re.match(r"(\w\w)", part)
|
||||
if byte:
|
||||
out.write(pack('<B', int(byte.group(1), 16)))
|
||||
out.flush()
|
||||
|
Loading…
Reference in New Issue
Block a user