Skip to content

Commit 3a63bf6

Browse files
committed
v0.3.0 update
1 parent 4f48576 commit 3a63bf6

File tree

4 files changed

+75
-11
lines changed

4 files changed

+75
-11
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ changed.
1313
# v0.2.1
1414
for Arduino
1515
![arduino.JPG](https://github.com/chrmlinux/tinyCore/blob/main/doc/Arduino.JPG)
16+
# v0.3.0
17+
for Arduino
18+
![SPRESENSE.PNG](https://github.com/chrmlinux/tinyCore/blob/main/doc/SPRESENSE.png)
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#include "tinyCore.hpp"
2+
3+
#define BUFSIZE (1024 * 100)
4+
typedef struct {
5+
uint8_t buf[BUFSIZE];
6+
uint32_t cnt;
7+
} THREAD_BUF;
8+
9+
static volatile THREAD_BUF tb;
10+
tinyCore tc;
11+
12+
void setup(void) {
13+
Serial.begin( 115200 ); delay(100);
14+
tc.begin();
15+
}
16+
17+
void loop(void) {
18+
Serial.printf("task%d cnt:%d\n", 0, tb.cnt);
19+
tb.cnt++;
20+
}
21+
22+
void setupN(void) {
23+
}
24+
25+
void loopN(void) {
26+
Serial.printf("task%d cnt:%d\n", 1, tb.cnt);
27+
tb.cnt++;
28+
}

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=tinyCore
2-
version=0.2.1
2+
version=0.3.0
33
author=@chrmlinux03
44
maintainer=@chrmlinux03
55
sentence=A mechanism to easily describe multi-core (esp32/Arduino).

src/tinyCore.hpp

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,29 @@
55
// v0.1.1 for core selected
66
// update/author : 2022/06/23 @chrmlinux03
77
// v0.2.1 for Arduino
8-
// license : mit
8+
// update/author : 2023/12/01 @chrmlinux03
9+
// v0.3.0 for SPRESENSE
10+
// license : MIT
911
//=======================================================================
1012

1113
#ifndef __TINYCORE_HPP__
1214
#define __TINYCORE_HPP__
1315

14-
enum {TINYCORE0 = 0, TINYCORE1};
15-
1616
#include <Arduino.h>
1717

1818
//=======================================================================
1919
// include
2020
//=======================================================================
21-
#if defined(ARDUINO_ARCH_ESP32)
21+
#if defined (ARDUINO_ARCH_ESP32)
2222
//-------------------------------------
2323
// for ESP32
2424
//-------------------------------------
25+
26+
#elif defined (ARDUINO_ARCH_SPRESENSE)
27+
//-------------------------------------
28+
// for SPRESENSE
29+
//-------------------------------------
30+
2531
#else
2632
//-------------------------------------
2733
// for Arduino
@@ -39,12 +45,18 @@ void setupN(void);
3945
void loopN(void);
4046
static volatile bool bBehindTaskEnd = false;
4147

42-
#if defined(ARDUINO_ARCH_ESP32)
48+
#if defined (ARDUINO_ARCH_ESP32)
4349
//-------------------------------------
4450
// for ESP32
4551
//-------------------------------------
4652
static TaskHandle_t pBehindTask = NULL;
47-
#else
53+
54+
#elif defined (ARDUINO_ARCH_SPRESENSE)
55+
//-------------------------------------
56+
// for SPRESENSE
57+
//-------------------------------------
58+
59+
#else
4860
//-------------------------------------
4961
// for Arduino
5062
//-------------------------------------
@@ -53,7 +65,7 @@ static TaskHandle_t pBehindTask = NULL;
5365
//=======================================================================
5466
// another task exec
5567
//=======================================================================
56-
#if defined(ARDUINO_ARCH_ESP32)
68+
#if defined (ARDUINO_ARCH_ESP32)
5769
//-------------------------------------
5870
// for ESP32
5971
//-------------------------------------
@@ -64,6 +76,17 @@ void BehindTask(void *param) {
6476
}
6577
vTaskDelete(pBehindTask);
6678
}
79+
#elif defined (ARDUINO_ARCH_SPRESENSE)
80+
//-------------------------------------
81+
// for SPRESENSE
82+
//-------------------------------------
83+
void thread(int argc, char **argv) {
84+
while (!bBehindTaskEnd) {
85+
loopN();
86+
yield();
87+
}
88+
}
89+
6790
#else
6891
//-------------------------------------
6992
// for Arduino
@@ -76,8 +99,8 @@ void BehindTask(void *param) {
7699
class tinyCore {
77100

78101
public:
79-
// tinyCore();
80-
// ~tinyCore();
102+
tinyCore(){}
103+
~tinyCore(){}
81104

82105
//=======================================================================
83106
// begin
@@ -92,11 +115,21 @@ class tinyCore {
92115
}
93116
void begin(void) {
94117
setupN();
95-
#if defined(ARDUINO_ARCH_ESP32)
118+
119+
#if defined (ARDUINO_ARCH_ESP32)
96120
//-------------------------------------
97121
// for ESP32
98122
//-------------------------------------
99123
xTaskCreatePinnedToCore(BehindTask, "BehindTask", 8192, NULL, 1, NULL, _core);
124+
125+
#elif defined (ARDUINO_ARCH_SPRESENSE)
126+
//-------------------------------------
127+
// for SPRESENSE
128+
//-------------------------------------
129+
char *argv[4];
130+
argv[0] = NULL;
131+
task_create("task1", 121, 2028, thread, argv);
132+
100133
#else
101134
//-------------------------------------
102135
// for Arduino

0 commit comments

Comments
 (0)