Skip to content

Commit 7002114

Browse files
committed
Merge remote-tracking branch 'origin/yield' into avr-update
Apply digistump/pull/62
2 parents 60465a8 + 3f04a76 commit 7002114

File tree

4 files changed

+66
-0
lines changed

4 files changed

+66
-0
lines changed

digistump-avr/cores/pro/Arduino.h

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
extern "C"{
1616
#endif
1717

18+
void yield(void);
19+
1820
#define ATTINY_CORE 1
1921

2022
#define HIGH 0x1

digistump-avr/cores/pro/hooks.c

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
Copyright (c) 2012 Arduino. All right reserved.
3+
4+
This library is free software; you can redistribute it and/or
5+
modify it under the terms of the GNU Lesser General Public
6+
License as published by the Free Software Foundation; either
7+
version 2.1 of the License, or (at your option) any later version.
8+
9+
This library is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12+
See the GNU Lesser General Public License for more details.
13+
14+
You should have received a copy of the GNU Lesser General Public
15+
License along with this library; if not, write to the Free Software
16+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17+
*/
18+
19+
/**
20+
* Empty yield() hook.
21+
*
22+
* This function is intended to be used by library writers to build
23+
* libraries or sketches that supports cooperative threads.
24+
*
25+
* Its defined as a weak symbol and it can be redefined to implement a
26+
* real cooperative scheduler.
27+
*/
28+
static void __empty() {
29+
// Empty
30+
}
31+
void yield(void) __attribute__ ((weak, alias("__empty")));

digistump-avr/cores/tiny/WProgram.h

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
#include "TinyDebugSerial.h"
1919
#include "HardwareSerial.h"
2020

21+
void yield(void);
22+
2123
uint16_t makeWord(uint16_t w);
2224
uint16_t makeWord(byte h, byte l);
2325

digistump-avr/cores/tiny/hooks.c

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
Copyright (c) 2012 Arduino. All right reserved.
3+
4+
This library is free software; you can redistribute it and/or
5+
modify it under the terms of the GNU Lesser General Public
6+
License as published by the Free Software Foundation; either
7+
version 2.1 of the License, or (at your option) any later version.
8+
9+
This library is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12+
See the GNU Lesser General Public License for more details.
13+
14+
You should have received a copy of the GNU Lesser General Public
15+
License along with this library; if not, write to the Free Software
16+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17+
*/
18+
19+
/**
20+
* Empty yield() hook.
21+
*
22+
* This function is intended to be used by library writers to build
23+
* libraries or sketches that supports cooperative threads.
24+
*
25+
* Its defined as a weak symbol and it can be redefined to implement a
26+
* real cooperative scheduler.
27+
*/
28+
static void __empty() {
29+
// Empty
30+
}
31+
void yield(void) __attribute__ ((weak, alias("__empty")));

0 commit comments

Comments
 (0)