Skip to content

Commit 8ad0c60

Browse files
authored
Update readme (initial)
1 parent 639ad13 commit 8ad0c60

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

Diff for: README.md

+25
Original file line numberDiff line numberDiff line change
@@ -1 +1,26 @@
11
# ArduinoCore-API
2+
3+
This repository hosts the hardware independent layer of Arduino core.
4+
5+
All Arduino official cores are being ported to the new structure so they take advantage of this single repo.
6+
7+
Including this repo in your existing Arduino core will allow the language to grow and include new features.
8+
For backwards compatibility, every revision of this repo will increase `ARDUINO_API_VERSION` define.
9+
10+
Some cores have been ported to the new structure, for example:
11+
* megaAVR (http://github.com/arduino/ArduinoCore-megaAVR)
12+
* classic AVR (http://github.com/arduino/ArduinoCore-avr/tree/api)
13+
* SAMD (http://github.com/arduino/ArduinoCore-samd/tree/api)
14+
15+
These repositories **don't** contain the needed `api` subfolder; to "complete" the core you need to copy or symlink the `api` folder from this repo to the target's `cores/arduino` folder.
16+
17+
### Porting tips
18+
19+
In the future, core apis will be updated independently from the core, so all the compatible cores will seamlessly adopt new features.
20+
This requires support from all the IDEs, so in the meantime we suggest to release the core by copying a snapshot of this `api` folder.
21+
22+
The most elegant and effective solution is to develop the core with `api` symlinked and produce the distributable archive by telling `tar` to follow symlinks.
23+
Example command:
24+
```
25+
tar --exclude='*.git*' -cjhvf $yourcore-$version.tar.bz2 $yourcore/
26+
```

0 commit comments

Comments
 (0)