-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings-example.h
More file actions
110 lines (90 loc) · 11.6 KB
/
Copy pathsettings-example.h
File metadata and controls
110 lines (90 loc) · 11.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#ifndef SETTINGS_H
#define SETTINGS_H
#include <types.h>
//-------------------------------Пароли, идентификаторы и id-шки групп в тг-----------------------
#define ssid "" //wifi ssid
#define password "" //wifi pass
#define BOT_TOKEN "" //токен бота
#define CLIENT_EMAIL "" //сервисная почта гугла
#define error_chat "" //чат, в который будут отправляться сообщения об ошибках
#define PROJECT_ID "" //id проекта на google sheet
#define BOT_USERNAME "" //юзернейм бота
#define OTA_NAME "" //имя для OTA
#define OTA_PASS "" //пароль для OTA
#define GROUP_COMMANDER "" //юзернейм старосты
#define SHEET_ID _ //id листа
//---------------------------------Ключи и id для доступа к таблице---------------------------------
//-------------------------------------НАСТРОЙКИ-------------------------------------------------------------------------------------------------------------------------------------------------------------
#define WIFI_RES_PERIOD 1 * 60 * 1000 //период ожидания подключения к WiFi, по истечении - перезагрузка
#define Respect "✅" //символ, соответствующий УП в меню
#define Disrep "❌" //символ, соответствующий неУП в меню
#define Presence_menu " " //символ, соответствующий присутствию в меню
#define START_SYMBOL "⬇️" //символ начала диапазона недель в меню
#define END_SYMBOL "⬆️" //символ конца диапазона недель в меню
#define STARTEND_SYMBOL "⏺️" //символ, показывающий, что выбранная неделя - единственная в диапазоне для подсчета
#define RESPECT_SYMBOL "R" //символ, соответствующий УП в таблице
#define DISREP_SYMBOL "D" //символ, соответствующий неУП в таблице
#define PRESENCE_SYMBOL "" //символ, соответствующий присутствие в таблице
#define GetTryNum 3 //количество попыток получить данные из таблицы, после них - вывод ошибки
#define SetTryNum 3 //количество попыток отправить данные в таблицу, после них - вывод ошибки
#define SerialDebug 0 //вкл/выкл (1/0 соответственно) отладка в Serial
#define SURNAME_ERRORS_NUM 2 //количество допускаемых ошибок в фамилии при сокращенном вводе (количество посимвольных отличий между вводимой фамилией и соответствующей фамилией из списка)
#define MINUTES_OFFSET 5 //Допустимый оффсет по времени, для определения, какая пара сейчас идет (позволяет определять, что сейчас идет N-ая пара, даже если сейчас часы_начала_пары:минуты_начала-<значение> или аналогично для конца пары)
#define PRESENCE_STRING "П" //строка, которая в начале сокращенного ввода показывает на то, что введенные фамилии - присутствуют, а не наоборот, как обычно
#define NOTIFY_ERRORS_FIND 1 //писать пользователю о том, что при сокращенном вводе фамилия была распознана с ошибками
#define MAX_LESSONS 5 //масимальное количество пар, которые могут быть обработаны в случае указания нескольких пар сразу в одном сокращенном вводе
#define HEAP_CHECK_TIMEOUT 2 * 60 * 1000 //период между проверками свободной RAM в loop()
#define WEEK_PARITY_NAME "Числитель" //имя четной недели в таблице
#define GSHEET_CONNECT_ATT 3 //количество попыток подключения к GoogleSheet (каждая по 60 сек.) перед перезагрузкой МК
#define MAX_LESSONS_IN_DAY 8 //максимальное количество занятий в день
//-------------------------------------НАСТРОЙКИ-------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------ОФФСЕТЫ--------------------------------------------------------------------------------------------------------------------------------------------------------------
uint8_t offset = 39; //смещение (в количестве строк) между одними и теми же данными, в неделях, различающийся по номеру на 1
//--------------------------------------ОФФСЕТЫ--------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------РАЗНЫЕ КОНСТАНТЫ ТАБЛИЦЫ---------------------------------------------------------------------------------------------------------------------------------------------
#define SheetName "People!" //имя листа с данными. "!" в конце добавляем обязательно, т.к. в системе именования путей GoogleSheet после имени листа его добавление обязательно
#define weekInfo_c 'B' //информация из заглавной ячейки недели (данные ячейки)
#define weekInfo_i 2
#define less_num_c 'C' //номер первой пары первого дня (данные ячейки)
#define less_num_i 3
#define less_name_c 'C' //имя первой пары первого дня (данные ячейки)
#define less_name_i 4
#define people_list_c 'B' //начало списка людей подгруппы (данные ячейки)
#define people_list_i 6
//--------------------------------------РАЗНЫЕ КОНСТАНТЫ ТАБЛИЦЫ---------------------------------------------------------------------------------------------------------------------------------------------
const char PRIVATE_KEY[] PROGMEM = "";
String spreadsheetId = "";
struct person {
String surname;
bool subgroup;
};
struct lesson_borders {
Time start;
Time end;
};
const String Admins[] = {
"",
"",
};
const String Groups[] = {
"",
"",
};
//-------------------------------Информация по группе и расписанию----------------------------------
const struct person students[] = {{"Ололоева", 1}, {"Ололоев", 0}}; //фамилии приведены в качестве примера, составные части списка - {XX, Y}, где XX - фамилия человека, а Y = принадлежноть к подгруппе (0 - 1 подгр., 1 - вторая)
const String subjects[]{ //Список ВСЕХ возможных предметов, т.е. названия всех уроков/пар, которые присутствуют в рассписании (НАЗВАНИЯ ТОЧЬ-В-ТОЧЬ КАК В ТАБЛИЦЕ!!)
"Физика",
"Математика",
"...",
"...",
"...",
};
const lesson_borders lessons[6] = { //Размер этого массива (количество заполненных пар) должно быть равно максимальному количеству пар в любой день недели!
{Time(8, 0), Time(9, 20)},
{Time(9, 30), Time(10, 50)}, // Каждая строка - информация об одной паре
{Time(11, 10), Time(12, 30)}, // Строки разделеы на 2 обьекта Time, где в () указывается время: чч, мм
{Time(12, 40), Time(14, 0)}, // Пример: Time(часы, минуты), часы и мыынуты у первого обьекта - время начало этой пары
{Time(14, 10), Time(15, 30)}, // Часы и минуты второго обьекта Time - время конца этой пары.
{Time(15, 40), Time(17, 0)}, // Например, в данном случае 6 пара начинается в 15:40 и заканчивается в 17:00
}; //Данные приведены для примера! Перед началом работы установите свои значения!!
#endif