summaryrefslogtreecommitdiff
path: root/doc/api
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2025-07-24 14:37:21 +0200
committerxengineering <me@xengineering.eu>2025-07-24 14:46:00 +0200
commit1a44c30c94dbbf0f3aabc1610d61b032d9d80e29 (patch)
tree768218ad4d106fdf29192319cf4fc7a4159f7edd /doc/api
parentde80791503ceb080c8b32330e0414bf099e40ab0 (diff)
downloadiot-contact-1a44c30c94dbbf0f3aabc1610d61b032d9d80e29.tar
iot-contact-1a44c30c94dbbf0f3aabc1610d61b032d9d80e29.tar.zst
iot-contact-1a44c30c94dbbf0f3aabc1610d61b032d9d80e29.zip
doc: api: Add README.md and flatten future.md structure
This makes it later possible to diff the planned `current.md` with the `future.md`. When the firmware is feature-complete the diff should be empty.
Diffstat (limited to 'doc/api')
-rw-r--r--doc/api/README.md13
-rw-r--r--doc/api/future.md15
2 files changed, 18 insertions, 10 deletions
diff --git a/doc/api/README.md b/doc/api/README.md
new file mode 100644
index 0000000..918ec19
--- /dev/null
+++ b/doc/api/README.md
@@ -0,0 +1,13 @@
+# API specification
+
+This folder contains the API specification as required by semantic versioning.
+
+Currently only the `future.md` file is given. This is the long term goal how
+the API should look like at the time of writing / committing.
+
+This will be extended by a `current.md` file describing the current state using
+the same structure. This version has to match always with the implementation in
+every commit.
+
+By this approach it will be possible to see what is left to implement by
+running `diff current.md future.md`.
diff --git a/doc/api/future.md b/doc/api/future.md
index f6e418c..ad5e43d 100644
--- a/doc/api/future.md
+++ b/doc/api/future.md
@@ -1,15 +1,10 @@
-# Future iot-contact API
-
-This is a draft for the long term goal of the `iot-contact` external API. It is
-**not the current state**.
-
-## UART Shell
+# UART Shell
This is based on the Zephyr shell. It is not part of the public API as defined
by semantic versioning and has no stability guarantees. It is a pure
development and debugging tool.
-## IPv6
+# IPv6
The device will assign itself the link-local address based on its
hardware-provided EUI-48 MAC address without privacy extension.
@@ -25,7 +20,7 @@ ping -c 1 ff02::1%eth0
If the EUI-48 MAC address of the target device is known the device can also be
accessed directly with its link-local address.
-## HTTP Server
+# HTTP Server
- `GET /device/type` `text/plain`
- `GET /device/type/uuid` `text/plain`
@@ -51,7 +46,7 @@ accessed directly with its link-local address.
- `GET /firmware/application/inactive/test-boot-flag` `text/plain`
- `PUT /firmware/application/inactive/test-boot-flag` `text/plain`
-## Settings
+# Settings
```
{
@@ -72,7 +67,7 @@ accessed directly with its link-local address.
}
```
-## MQTT
+# MQTT
All topics have the following structure: