X-Git-Url: https://gitweb.ps.run/matrix_esp_thesis/blobdiff_plain/344ddb2b73ca1f528ad057bcb0ee54862e0018f0..be730e09b6376a40fd3852d5a2c8876b27c2c7bb:/Readme.md diff --git a/Readme.md b/Readme.md index c4e575b..9475a9f 100644 --- a/Readme.md +++ b/Readme.md @@ -9,6 +9,7 @@ Device verification is also supported. Building requires a C/C++ compiler and make. To build the dependencies run `make deps`. +All dependencies are included in this repository. To build any of the examples run `make out/examples/`. @@ -21,6 +22,17 @@ To use the library: - Add include path `ext/mjson/src/` - Add include path `ext/mongoose/` +To build the example for the ESP32 start an ESP-IDF shell in esp32/esp_project or esp32/esp_project_riscv and run: +- `idf.py build` +- `idf.py flash` +- `idf.py monitor` + +To use the library in an ESP-IDF project: +- Add the matrix and olm components (can be found in `esp32/esp_project/components/`) +- Add `wifi.c/.h` (can be found in `esp32/esp_project/main/`) +- Add `SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")` to CMakeLists.txt +- Call `wifi_init("", "")` before initializing the library + ## Dependencies [Mongoose](https://github.com/cesanta/mongoose) @@ -30,6 +42,31 @@ To use the library: ## Examples +### (De)Initialization +``` +MatrixClient * client = (MatrixClient*)malloc(sizeof(MatrixClient)); +MatrixClientInit(client); + +MatrixHttpInit(&client->hc, SERVER); +MatrixClientSetUserId(client, USER_ID); + +MatrixClientLoginPassword(client, + "pscho", + "Wc23EbmB9G3faMq", + "Test1"); + +MatrixClientDeleteDevice(client); + +MatrixHttpDeinit(&client->hc); +``` + +### Uploading keys +``` +MatrixClientGenerateOnetimeKeys(client, 10); +MatrixClientUploadOnetimeKeys(client); +MatrixClientUploadDeviceKeys(client); +``` + ### Sending an encrypted message ``` MatrixMegolmOutSession * megolmOutSession;