]> gitweb.ps.run Git - matrix_esp_thesis/blob - esp32/esp_project/main/Verify.c
fix examples
[matrix_esp_thesis] / esp32 / esp_project / main / Verify.c
1 #include <matrix.h>
2 #include <mjson.h>
3 #include <olm/sas.h>
4
5 #if !CONFIG_IDF_TARGET_LINUX
6 #include "freertos/FreeRTOS.h"
7 #include "freertos/task.h"
8 #include "esp_system.h"
9 #include "driver/gpio.h"
10 #endif
11
12 #include <stdio.h>
13
14 #define SERVER       "https://matrix.org"
15 #define USER_ID      "@pscho:matrix.org"
16
17 #define DEVICE_ID    "ULZZOKJBYN"
18 #define SENDER_KEY   "cjP41XzRlY+pd8DoiBuKQJj9o15mrx6gkrpqTkAPZ2c"
19 #define ROOM_ID      "!XKFUjAsGrSSrpDFIxB:matrix.org"
20 #define EVENT_ID     "$vOS09eUaI0CduqAcaIU5ZVk6ljLQfLspz7UThP8vaUM"
21 #define SESSION_ID   "90UbGLue3ADVhvW7hFjoA2c6yg0JJKs/lPdMDZXnZAk"
22
23 // main stack size: 3584
24
25 #define STATIC static
26
27
28
29 int
30 main(void)
31 {
32     MatrixClient * client = (MatrixClient*)malloc(sizeof(MatrixClient));
33     MatrixClientInit(client);
34
35     MatrixHttpInit(&client->hc, SERVER);
36     MatrixClientSetUserId(client, USER_ID);
37
38     MatrixClientLoginPassword(client,
39         "pscho",
40         "Wc23EbmB9G3faMq",
41         "Test1");
42     printf("deviceId: %s\n", client->deviceId);
43     MatrixClientGenerateOnetimeKeys(client, 10);
44     MatrixClientUploadOnetimeKeys(client);
45     MatrixClientUploadDeviceKeys(client);
46
47     STATIC char eventBuffer[1024];
48     MatrixClientGetRoomEvent(client,
49         ROOM_ID,
50         EVENT_ID,
51         eventBuffer, 1024);
52     printf("event: %s\n", eventBuffer);
53
54     #define SYNC_BUFFER_SIZE 1024*10
55
56     // char * syncBuffer = (char*)malloc(SYNC_BUFFER_SIZE);
57     STATIC char syncBuffer[SYNC_BUFFER_SIZE];
58     STATIC char nextBatch[1024];
59
60     while (! client->verified) {
61         MatrixClientSync(client, syncBuffer, SYNC_BUFFER_SIZE, nextBatch, 1024);
62     }
63
64     printf("verified!\n");
65
66     // create and share megolm out session
67     MatrixMegolmOutSession * megolmOutSession;
68     MatrixClientNewMegolmOutSession(client,
69         ROOM_ID,
70         &megolmOutSession);
71     printf("megolm session id: %.10s... key: %.10s...\n", megolmOutSession->id, megolmOutSession->key);
72     MatrixClientShareMegolmOutSession(client,
73         USER_ID,
74         "ULZZOKJBYN",
75         megolmOutSession);
76
77     // send 10 random messages
78     for (int i = 0; i < 10; i++) {
79         static const char * msgs[] = { "A", "B", "C" };
80         static char msg[128];
81         snprintf(msg, 128, "{\"body\":\"%s\",\"msgtype\":\"m.text\"}", msgs[rand()%(sizeof(msgs)/sizeof(msgs[0]))]);
82
83         MatrixClientSendEventEncrypted(client,
84             ROOM_ID,
85             "m.room.message",
86             msg);
87     }
88
89     MatrixClientDeleteDevice(client);
90         
91     MatrixHttpDeinit(&client->hc);
92
93     return 0;
94 }
95
96 #include "wifi.h"
97 #include <esp_netif.h>
98
99 void
100 app_main(void)
101 {
102     // wifi_init("Pixel_7762", "affeaffe");
103     // wifi_init("Hundehuette", "Affensicherespw55");
104     wifi_init("test", "/O801i25");
105
106     esp_netif_ip_info_t ip_info;
107     esp_netif_get_ip_info(IP_EVENT_STA_GOT_IP,&ip_info);
108     printf("My IP: " IPSTR "\n", IP2STR(&ip_info.ip));
109     printf("My GW: " IPSTR "\n", IP2STR(&ip_info.gw));
110     printf("My NETMASK: " IPSTR "\n", IP2STR(&ip_info.netmask));
111
112     // uint64_t bitmask = 0xffffffffffffffff;
113     // bitmask = bitmask & SOC_GPIO_VALID_GPIO_MASK;
114     // gpio_dump_io_configuration(stdout, bitmask);
115     gpio_set_direction(GPIO_NUM_2, GPIO_MODE_OUTPUT);
116     // gpio_dump_io_configuration(stdout, bitmask);
117
118     main();
119 }