Skip to content

Commit 7addbd9

Browse files
committed
upd
1 parent 386c364 commit 7addbd9

File tree

6 files changed

+27
-9
lines changed

6 files changed

+27
-9
lines changed

docs/0.main.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,12 @@ LoopTask* getTask(const char* id);
8181
LoopTask* operator[](hash_t id);
8282
LoopTask* operator[](const char* id);
8383
84-
// получить указатель на задачу по id
8584
LoopTimer* getTimer(hash_t id);
8685
LoopTimer* getTimer(const char* id);
8786
87+
LoopThread* getThread(hash_t id);
88+
LoopThread* getThread(const char* id);
89+
8890
// ========= THIS =========
8991
9092
// указатель на текущую задачу
@@ -353,6 +355,9 @@ T* getData();
353355
LoopThread(TaskCallback callback);
354356
LoopThread(const char* id, TaskCallback callback);
355357
LoopThread(hash_t id, TaskCallback callback);
358+
359+
// перезапустить поток
360+
void restart();
356361
```
357362

358363
### LoopThreadData<T>

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=Looper
2-
version=1.1.6
2+
version=1.1.7
33
author=AlexGyver <[email protected]>
44
maintainer=AlexGyver <[email protected]>
55
sentence=Simple task, thread and event manager for Arduino

src/LooperClass.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,14 @@ LoopTimer* LooperClass::getTimer(const char* id) {
254254
return getTimer(LPHr(id));
255255
}
256256

257+
LoopThread* LooperClass::getThread(hash_t id) {
258+
return static_cast<LoopThread*>(getTask(id));
259+
}
260+
261+
LoopThread* LooperClass::getThread(const char* id) {
262+
return getThread(LPHr(id));
263+
}
264+
257265
#if LOOPER_USE_EVENTS
258266
looper::List<LoopTask>* LooperClass::_getList(uint8_t idx) {
259267
return (looper::List<LoopTask>*[]){&_tasks, &_lisns}[idx];

src/LooperClass.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,19 @@ class LooperClass {
3939
void remove(LoopTask* task, bool callExit = true);
4040

4141
// получить указатель на задачу по id
42-
LoopTask* getTask(hash_t id);
43-
LoopTask* getTask(const char* id);
44-
4542
LoopTask* operator[](hash_t id);
4643
LoopTask* operator[](const char* id);
4744

4845
// получить указатель на задачу по id
46+
LoopTask* getTask(hash_t id);
47+
LoopTask* getTask(const char* id);
48+
4949
LoopTimer* getTimer(hash_t id);
5050
LoopTimer* getTimer(const char* id);
5151

52+
LoopThread* getThread(hash_t id);
53+
LoopThread* getThread(const char* id);
54+
5255
// ========= THIS =========
5356

5457
// указатель на текущую задачу
@@ -122,7 +125,7 @@ class LooperClass {
122125
void* _data = nullptr;
123126
looper::List<LoopTask> _lisns;
124127
looper::Stack<EventData, LOOPER_QUEUE_SIZE> _events;
125-
128+
126129
looper::List<LoopTask>* _getList(uint8_t idx);
127130
#endif
128131

src/nodes/Thread.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ class LoopThread : public LoopTask {
1010
LoopThread(const char* id, TaskCallback callback) : LoopThread(LPHr(id), callback) {}
1111
LoopThread(hash_t id, TaskCallback callback) : LoopTask(id, callback, TASK_IS_THREAD, true, true) {}
1212

13+
// перезапустить поток
14+
void restart() {
15+
_case = 0;
16+
}
17+
1318
uint16_t _case = 0;
1419
SimpleTimer _tmr;
1520

src/nodes/macro.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,6 @@
8484
LP_WAIT(Looper.thisThread()->_tmr.timeout()); \
8585
} while (0);
8686

87-
// устарело
88-
#define LP_SLEEP(ms) LP_DELAY(ms)
89-
9087
// освободить семафор
9188
#define LP_SEM_SIGNAL(sem) sem++;
9289

0 commit comments

Comments
 (0)