zephyr/samples/net
Florian Grandel a4cd5cee40 drivers: ieee802154: consistent high res timestamps
The IEEE 802.15.4 API and networking subsystem were using several
inconsistent timestamp resolutions and types. This change defines all
timestamps with nanosecond resolution and reduces the number of
available types to represent timestamps to two:
* `struct net_ptp_time` for PTP timestamps
* `net_time_t` for all other high resolution timestamps

All timestamps (including PTP timestamps) are now referred to a
"virtual" local network subsystem clock source based on the well-defined
types above. It is the responsibility of network subsystem L2/driver
implementations (notably Ethernet and IEEE 802.15.4 L2 stacks) to ensure
consistency of all timestamps and radio timer values exposed by the
driver API to such a network subsystem uptime reference clock
independent of internal implementation details.

The "virtual" network clock source may be implemented based on arbitrary
hardware peripherals (e.g. a coarse low power RTC counter during sleep
time plus a high resolution/high precision radio timer while receiving
or sending). Such implementation details must be hidden from API
clients, as if the driver used a single high resolution clock source
instead.

For IEEE 802.15.4, whenever timestamps refer to packet send or receive
times, they are measured when the end of the IEEE 802.15.4 SFD (message
timestamp point) is present at the local antenna (reference plane).

Due to its limited range of ~290 years, net_time_t timestamps (and
therefore net_pkt timestamps and times) must not be used to represent
absolute points in time referred to an external epoch independent of
system uptime (e.g.  UTC, TAI, PTP, NTP, ...).

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-07-28 09:06:35 +00:00
..
capture samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
cloud samples: net: mqtt_azure: hotfix stack overflow 2023-06-14 09:12:08 -04:00
common
dhcpv4_client samples: net: dhcpv4_client: Make DHCPv4 requests on all ipv4 interfaces 2023-05-29 14:34:46 -04:00
dns_resolve samples: net: dns_resolve: Improve DHCPv4 handling 2023-07-25 14:18:54 +02:00
dsa tests: cleanup metadata and filtering 2023-06-13 09:38:27 -04:00
eth_native_posix samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
gptp samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
gsm_modem net: conn_mgr: Reorganize files 2023-05-11 12:15:44 +02:00
ipv4_autoconf samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
lldp samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
lwm2m_client samples: lwm2m: Fix default ID length check for DTLS 2023-07-18 11:08:23 +00:00
mdns_responder Bluetooth: Samples: Remove usage of BT_DEBUG_LOG 2023-06-07 13:56:55 -04:00
mqtt_publisher Bluetooth: Samples: Remove usage of BT_DEBUG_LOG 2023-06-07 13:56:55 -04:00
mqtt_sn_publisher net: conn_mgr: Reorganize files 2023-05-11 12:15:44 +02:00
openthread/coprocessor doc: samples: update OVERLAY_CONFIG to EXTRA_CONF_FILE 2023-05-23 16:40:21 +02:00
promiscuous_mode samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
sockets drivers: ieee802154: consistent high res timestamps 2023-07-28 09:06:35 +00:00
stats tests: cleanup metadata and filtering 2023-06-13 09:38:27 -04:00
syslog_net samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
telnet Bluetooth: Samples: Remove usage of BT_DEBUG_LOG 2023-06-07 13:56:55 -04:00
virtual samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
vlan samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
wifi boards: xtensa: esp32 board split 2023-07-25 18:12:33 +02:00
wpan_serial net: l2: ieee802154: document L1/L2 sep. of concerns 2023-06-17 16:20:21 -04:00
wpanusb net: l2: ieee802154: document L1/L2 sep. of concerns 2023-06-17 16:20:21 -04:00
zperf samples: net: zperf: add Ethernet twister test 2023-07-27 16:24:54 +00:00
net.rst