Skip to content

Commit cde4d22

Browse files
committed
Merge branch 'release-0.5'
2 parents 1db470f + e04af40 commit cde4d22

File tree

513 files changed

+4895
-3021
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

513 files changed

+4895
-3021
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ tags
2222
*.map
2323
# ignore files generated by the Arduino make system:
2424
build-*/
25+
# ignore test log files:
26+
*test.log
2527
# ignore files generated by patch:
2628
*.orig
2729
*.rej

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,32 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
55
and this project adheres to [Semantic Versioning](http://semver.org/).
66

77
## [Unreleased]
8+
9+
10+
## [0.5 - 2019-05-10]
11+
### Changed
12+
- reduced binary size by splitting some Arduino core files
13+
- reduced binary size by optimizing the pinMode() implementation
14+
- using busybox as command shell for windows to run the wrapper scripts
15+
- move the SPL compilation scripts into a separate project spl-splitter
16+
- update SPL files to v2.3.0 (add support for STM8S001)
17+
- flatten the repository structure
18+
- update stm8gal to version 1.3.0
19+
- updated SDCC to version 3.9/build 11242
20+
21+
### Fixed
22+
- make sure main.c is pulled in for IDE builds as well
23+
- building the core library when using make (regression bug in 0.4.0)
24+
25+
26+
## [0.4.0 - 2018-12-07]
827
### Added
928
- using stm8gal to upload using the builtin bootloader of larger STM8 devices
1029
- Support for STM8S105K4 breakout board (stm8sblack)
1130
- Support for Sduino-UNO board (s8uno)
1231
- Support for Sduino MB board (mb208)
1332
- Unlocking a MCU by using Tools->Burn Bootloader in the Arduino IDE
33+
- new library LiquidCrystal_I2C for text LCD with I2C converter backpack
1434
- new library LiquidCrystal_pcf2119 for I2C text LCD based on the PCF2119
1535
- new library Wire for I2C communication
1636
- new library EEPROM

README.md

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,23 @@ Now you should find a new entry *STM8S Boards* in the list at
5353

5454
## Known issues
5555

56-
The Arduino IDE Version 1.8.7 suffers from a known regression bug. If you
57-
see the error message "select upload port first" apply this
56+
**The Arduino IDE version 1.8.7 is buggy, use 1.8.8 instead.**
57+
58+
IDE error message **select upload port first** (IDE v1.8.7 only): Update to
59+
IDE 1.8.8 or apply this
5860
[workaround](https://github.com/tenbaht/sduino/issues/68#issuecomment-441425529).
5961

62+
Very slow compilation after using "save as" (IDE v1.8.7 only): After saving
63+
a file under a different name the CPU load maxes out for one CPU core and
64+
the IDE reacts extremly slow. Exit the Arduino IDE and re-open it. Update to
65+
IDE 1.8.8.
66+
67+
**bash.exe: warning: could not find /tmp, please create!**: Shows up on windows
68+
systems. Annoying, but harmless.
69+
[Workaround](https://github.com/tenbaht/sduino/issues/61#issuecomment-443551180)
70+
This whole issue will be fixed in the upcoming 0.5 release by using busybox
71+
for all scripts on windows.
72+
6073

6174
## Included libraries
6275

@@ -69,24 +82,31 @@ guide](https://tenbaht.github.io/sduino/api/migration/) for details.
6982
#### Communication
7083

7184
* SPI: Real hardware-SPI up to 10MHz.
85+
* Wire: Port of the stock Wire library for I2C communication (with
86+
improvements)
7287
* I2C: Port of the I2C master library by Wayne Truchsess
7388
* HardwareSerial: The standard serial interface.
7489

7590
#### Displays
7691

7792
* LiquidCrystal: HD44780 based text LCDs
93+
* LiquidCrystal_I2C: HD44780 based text LCDs with I2C converter backpack
94+
* LiquidCrystal_pcf2119: PCF2119 based text LCDs with I2C connection
7895
* PCD8544: Monochrome graphical LCD based on the PCD8544 controller like the
7996
Nokia 5110 display. SPI mode only.
8097
* Mini_SSD1306: SSD1306-based monochrome OLED displays with 128x64 pixels.
8198
I2C support only.
8299

100+
#### Storage
101+
102+
* EEPROM: Port of the stock EEPROM library for accessing the buildin EEPROM
103+
83104
#### Motor control
84105

85106
* Stepper: Stepper motors with 2, 4 or 5 phases.
86107
* Servo: Up to 12 servos using only 1 timer.
87108

88109

89-
90110
## Compatibility with the Arduino world
91111

92112
Since there is no free C++ for the STM8, it is impossible to do a full 1:1
@@ -104,15 +124,15 @@ guide](https://tenbaht.github.io/sduino/api/migration/) for an overview.
104124

105125
## Supported Systems:
106126

107-
Arduino IDE versions 1.8.7, 1.8.5 and 1.6.13 are tested, but any version >=1.6.6
108-
should work.
127+
Arduino IDE versions 1.8.8, 1.8.7, 1.8.5 and 1.6.13 are tested, but any
128+
version >=1.6.6 should work.
109129

110130
Version 1.8.7 might require a
111131
[workaround](https://github.com/tenbaht/sduino/issues/68#issuecomment-441425529)
112132
if you see an error message "select upload port first".
113133

114-
* Linux 64 bit: Tested on Ubuntu 16.04
115-
* Linux 32 bit: Tested on Ubuntu 16.04
134+
* Linux 64 bit: Tested on Mint 19/Ubuntu 18.04
135+
* Linux 32 bit: Tested on Mint 19/Ubuntu 18.04
116136
* Windows: Tested on Windows 7. Sduino might work on XP (not tested), but
117137
the ST-Link/V2 driver is not available anymore for XP.
118138
* MacOS: tested on 10.13.

board-manager/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# the required versions for the new build
2-
COREVERSION=0.4.0
3-
SDCCVERSION=10738
4-
TOOLSVERSION=2018.12.07
2+
COREVERSION=0.5
3+
SDCCVERSION=11242
4+
TOOLSVERSION=2019.02.05
55

66
# default the tool version to be the current date as YYYY.MM.DD
77
#TOOLSVERSION?=$(shell date '+%Y.%m.%d')
@@ -46,7 +46,7 @@ DATE=$(shell date '+%F')
4646
release:
4747
# update the version number in the changelog if not already done:
4848
grep -q "$(COREVERSION)" ../CHANGELOG.md || \
49-
sed "/^## \[Unreleased\]/ a\\\n\n## [$(COREVERSION) - $(DATE)]" ../CHANGELOG.md
49+
sed -i "/^## \[Unreleased\]/ a\\\n\n## [$(COREVERSION) - $(DATE)]" ../CHANGELOG.md
5050
git add ../CHANGELOG.md ../$(PACKAGEFILE)
5151
git add parts/tools-*-$(SDCCVERSION).txt parts/tools-*-$(TOOLSVERSION).txt parts/platform-*-$(COREVERSION).txt
5252
git commit

board-manager/Makefile.core

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ COREDIR?=release/v$(COREVERSION)
1818
PARTSDIR?=parts
1919

2020
# subtree of the repository to be included in the archive
21-
SUBTREE=sduino/hardware/sduino/stm8
21+
SUBTREE=sduino/stm8
2222

2323
#
2424
### No user serviceable part below here. ################################
@@ -43,8 +43,12 @@ $(PLATFORM_ENTRY): $(COREFILE)
4343

4444
$(COREFILE): | $(COREDIR)
4545
echo "Generating the core archive file."
46-
(cd ..; git archive -v --prefix=./ --format=tar HEAD:$(SUBTREE))|\
47-
bzip2 > $(COREFILE)
46+
$(eval TMPDIR := $(shell mktemp -d))
47+
cd ..; git archive -v HEAD:sduino/stm8|tar -x -C $(TMPDIR)
48+
sed -i '/^tools\.stm8/ s#{runtime.hardware.path}/tools#{runtime.tools.STM8Tools.path}#' \
49+
$(TMPDIR)/platform.txt
50+
tar cvjf $(COREFILE) -C $(TMPDIR) .
51+
rm -rf $(TMPDIR)
4852

4953
# make a new release directory if not present
5054
#

board-manager/Makefile.tools

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ endif
1414

1515

1616
# Where to find the tools directory
17-
BASEDIR=../sduino/hardware/sduino
17+
BASEDIR=../sduino
1818

1919
# Ignore all files matching one of these shell patterns:
2020
IGNORE=*~ *bak x build-* *.orig *.rej

board-manager/gen_platform_entry.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ list_boards()
4949
{
5050
echo -n " \"boards\": ["
5151
n=0
52-
sed -n "s/.*\.name=//p" ../sduino/hardware/sduino/stm8/boards.txt |\
52+
sed -n "s/.*\.name=//p" ../sduino/stm8/boards.txt |\
5353
while read line; do
5454
if [ $n -ne 0 ]; then echo -n ","; fi
5555
echo

board-manager/minimize-sdcc.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,12 @@ TAR_EXCLUDE='--exclude=doc --exclude=src --exclude=non-free
4040
--exclude=*00 --exclude=*08 --exclude=*2k
4141
--exclude=*51 --exclude=*80 --exclude=*90
4242
--exclude=*gb --exclude=*ka --exclude=*.info
43+
--exclude=*pdk* --exclude=*rab --exclude=huge
4344
--exclude=large* --exclude=medium --exclude=small*'
4445

4546
ZIP_EXCLUDE='-x */non-free/* */src/* *stlcs* */pic*
46-
*00* *08* *80* *90* *51* *2k* *gb* *ka* */info/*
47-
*/large* */medium/* */small*'
47+
*00* *08* *80* *90* *51* *2k* *gb* *ka* */info/* *pdk* *rab*
48+
*/huge/* */large* */medium/* */small*'
4849

4950
TMP=$(mktemp -d sdcc-repack-XXXXXX --tmpdir)
5051

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "Sduino STM8 plain C core (non-C++)",
3+
"architecture": "stm8",
4+
"version": "0.5-pre2",
5+
"category": "Contributed",
6+
"boards": [
7+
{"name": "STM8S103F3 Breakout Board"},
8+
{"name": "STM8S105C6 Discovery Board"},
9+
{"name": "STM8S105K4T6 Breakout Board"},
10+
{"name": "sduino UNO (STM8S105K6)"},
11+
{"name": "sduino MB (STM8S208MBT6B)"}
12+
],
13+
"toolsDependencies": [
14+
{
15+
"name": "STM8Tools",
16+
"version": "2019.02.05",
17+
"packager": "sduino"
18+
},
19+
{
20+
"name": "sdcc",
21+
"version": "build.10738",
22+
"packager": "sduino"
23+
}
24+
],
25+
"url": "https://github.com/tenbaht/sduino/releases/download/v0.5-pre2/sduino-core-0.5-pre2.tar.bz2",
26+
"archiveFileName": "sduino-core-0.5-pre2.tar.bz2",
27+
"checksum": "SHA-256:13f039942368fdc2fea5470c2d3d58d9fb377cc7ca9502b1177f11ae8c75a7d8",
28+
"size": "2263319"
29+
},
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "Sduino STM8 plain C core (non-C++)",
3+
"architecture": "stm8",
4+
"version": "0.5",
5+
"category": "Contributed",
6+
"boards": [
7+
{"name": "STM8S103F3 Breakout Board"},
8+
{"name": "STM8S105C6 Discovery Board"},
9+
{"name": "STM8S105K4T6 Breakout Board"},
10+
{"name": "sduino UNO (STM8S105K6)"},
11+
{"name": "sduino MB (STM8S208MBT6B)"}
12+
],
13+
"toolsDependencies": [
14+
{
15+
"name": "STM8Tools",
16+
"version": "2019.02.05",
17+
"packager": "sduino"
18+
},
19+
{
20+
"name": "sdcc",
21+
"version": "build.11242",
22+
"packager": "sduino"
23+
}
24+
],
25+
"url": "https://github.com/tenbaht/sduino/releases/download/v0.5/sduino-core-0.5.tar.bz2",
26+
"archiveFileName": "sduino-core-0.5.tar.bz2",
27+
"checksum": "SHA-256:16a8083583c704b18921cf5f8ededde925d313b4af6d9d64fa95ae2255e2bbf5",
28+
"size": "2263740"
29+
},

0 commit comments

Comments
 (0)