Skip to content

Commit d00f51f

Browse files
authored
Merge pull request #83 from xmos/release/v2.3.0
Release v2.3.0
2 parents 3335680 + 57cdc84 commit d00f51f

497 files changed

Lines changed: 30358 additions & 111287 deletions

File tree

Some content is hidden

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

.github/workflows/docs.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Documentation
2+
3+
on:
4+
schedule:
5+
# run at 5am every day
6+
- cron: '0 5 * * *'
7+
push:
8+
paths:
9+
- '.github/workflows/docs.yml'
10+
- 'settings.json'
11+
- 'doc/exclude_patterns.inc'
12+
- '**/doc/**'
13+
pull_request:
14+
paths:
15+
- '.github/workflows/docs.yml'
16+
- 'settings.json'
17+
- 'doc/exclude-patterns.inc'
18+
- '**/doc/**'
19+
20+
# Allow manually triggering the workflow.
21+
workflow_dispatch: {}
22+
23+
env:
24+
XCORE_DOC_BUILDER: 'ghcr.io/xmos/doc_builder:v3.0.0'
25+
26+
jobs:
27+
build_documentation:
28+
name: Build and package documentation
29+
if: github.repository_owner == 'xmos'
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Checkout this repo
33+
uses: actions/checkout@v3
34+
35+
- uses: actions/setup-python@v4
36+
with:
37+
python-version: '3.10.x'
38+
39+
- name: Pull doc_builder container
40+
run: |
41+
docker pull ${XCORE_DOC_BUILDER}
42+
43+
- name: Build documentation
44+
run: |
45+
pwd
46+
docker run --user "$(id -u):$(id -g)" --rm -v ${{ github.workspace }}:/build -e EXCLUDE_PATTERNS="/build/doc/exclude-patterns.inc" -e OUTPUT_DIR="/build/doc/_build" -e PDF=1 -e SKIP_LINK=1 -e DOXYGEN_INCLUDE=/build/doc/Doxyfile.inc -e DOXYGEN_INPUT=ignore ${XCORE_DOC_BUILDER}
47+
tree
48+
DOC_VERSION=$(grep version settings.json | grep -o "[0-9]*\.[0-9]*\.[0-9]")
49+
mv doc/_build/pdf/programming_guide.pdf doc/_build/pdf/programming_guide_v${DOC_VERSION}.pdf
50+
51+
- name: Save documentation artifacts
52+
uses: actions/upload-artifact@v3
53+
with:
54+
name: docs lib_src
55+
path: doc/_build
56+
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
57+
retention-days: 30

.gitignore

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ xsim.args
2323
tests/src_output
2424
*.bak
2525
**/.venv/**
26-
27-
# waf build files
28-
.lock-waf_*
29-
.waf-*/
3026
build/
27+
tests/tmp
28+
tests/vpu_ff3_test/autogen
29+
tests/vpu_rat_test/autogen
30+
*.csv
31+
python/lib_src.egg-info

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "xmos_cmake_toolchain"]
2+
path = xmos_cmake_toolchain
3+
url = git@github.com:xmos/xmos_cmake_toolchain.git

.xmos_ignore_source_check

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
tests/asrc_test/model/ASRC.c
2+
tests/asrc_test/model/ASRC.h
3+
tests/asrc_test/model/FIR.c
4+
tests/asrc_test/model/FIR.h
5+
tests/asrc_test/model/FilterDefs.c
6+
tests/asrc_test/model/FilterDefs.h
7+
tests/asrc_test/model/IntArithmetic.c
8+
tests/asrc_test/model/IntArithmetic.h
9+
tests/asrc_test/model/Main.c
10+
tests/asrc_test/model/Main.h
11+
tests/ds3_test/model/FIRDS3.c
12+
tests/ds3_test/model/FIRDS3.h
13+
tests/ds3_test/model/IntArithmetic.c
14+
tests/ds3_test/model/IntArithmetic.h
15+
tests/ds3_test/model/Main.c
16+
tests/ds3_test/model/Main.h
17+
tests/os3_test/model/FIROS3.c
18+
tests/os3_test/model/FIROS3.h
19+
tests/os3_test/model/IntArithmetic.c
20+
tests/os3_test/model/IntArithmetic.h
21+
tests/os3_test/model/Main.c
22+
tests/os3_test/model/Main.h
23+
tests/ssrc_test/model/FIR.c
24+
tests/ssrc_test/model/FIR.h
25+
tests/ssrc_test/model/FilterDefs.c
26+
tests/ssrc_test/model/FilterDefs.h
27+
tests/ssrc_test/model/IntArithmetic.c
28+
tests/ssrc_test/model/IntArithmetic.h
29+
tests/ssrc_test/model/Main.c
30+
tests/ssrc_test/model/Main.h
31+
tests/ssrc_test/model/SSRC.c
32+
tests/ssrc_test/model/SSRC.h

CHANGELOG.rst

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11
lib_src change log
22
==================
33

4+
2.3.0
5+
-----
6+
7+
* ADDED: XS3 VPU optimised voice fixed factor of 3 upsampling/downsampling
8+
* ADDED: XS3 VPU optimised voice fixed factor of 3/2 upsampling/downsampling
9+
* CHANGED: OS3 uses firos3_144.dat coefficients by default inline with model
10+
* CHANGED: Replaced xmostest with pytest for all SRC automated tests
11+
* CHANGED: Used XMOS doc builder for documentation
12+
* CHANGED: Golden reference test signals now generated automatically by CI
13+
* RESOLVED: Linker warning on channel ends
14+
* REMOVED: AN00231 ASRC App Note. See github.com/xmos/sln_voice/examples
15+
* CHANGED: Increased precision of the fFsRatioDeviation used in the C emulator
16+
from float to double
17+
* CHANGED: Allow for 64 bits in the rate ratio passed to asrc_process() for
18+
extra precision
19+
20+
* Changes to dependencies:
21+
22+
- lib_logging: 2.0.1 -> 3.1.1
23+
24+
- lib_xassert: 2.0.1 -> 4.1.0
25+
426
2.2.0
527
-----
628

@@ -11,17 +33,12 @@ lib_src change log
1133
ensures that the voice fixed factor of 3 up and down sampling functions do
1234
not crash with a LOAD_STORE exception.
1335
* ADDED: Missing device attributes to the .xn file of the AN00231 app note.
14-
15-
* Changes to dependencies:
16-
17-
- lib_logging: 2.0.1 -> 3.1.1
18-
19-
- lib_xassert: 2.0.1 -> 4.1.0
36+
* ADDED: Minimal cmake support.
2037

2138
2.1.0
2239
-----
2340

24-
* CHANGED: Use XMOS Public Licence Version 1
41+
* CHANGED: Use XMOS Public License Version 1
2542

2643
2.0.1
2744
-----
@@ -32,7 +49,7 @@ lib_src change log
3249
2.0.0
3350
-----
3451

35-
* CHANGED: Build files updated to support new "xcommon" behaviour in xwaf.
52+
* CHANGED: Build files updated to support new "xcommon" behavior in xwaf.
3653

3754
1.1.2
3855
-----

CMakeLists.txt

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
cmake_minimum_required(VERSION 3.21.0)
2+
3+
project(lib_src LANGUAGES C ASM)
4+
5+
if(PROJECT_IS_TOP_LEVEL)
6+
include(FetchContent)
7+
FetchContent_Declare(
8+
fwk_core
9+
GIT_REPOSITORY https://github.com/xmos/fwk_core.git
10+
GIT_TAG v1.0.0
11+
)
12+
FetchContent_MakeAvailable(fwk_core)
13+
endif()
14+
15+
add_subdirectory(tests)
16+
17+
# XS3 only libraries that use the Vector Processing Unit
18+
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS3A)
19+
## Source files
20+
file(GLOB_RECURSE LIB_C_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.c )
21+
file(GLOB_RECURSE LIB_XC_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.xc)
22+
file(GLOB_RECURSE LIB_ASM_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.S )
23+
24+
set(ADDITIONAL_INCLUDE_DIRS_XS3 lib_src/src/fixed_factor_vpu_voice
25+
)
26+
endif()
27+
28+
29+
if((${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS3A) OR (${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS2A))
30+
## Source files
31+
file(GLOB_RECURSE LIB_C_SOURCES lib_src/src/fixed_factor_of_3/*.c
32+
lib_src/src/fixed_factor_of_3_voice/*.c
33+
lib_src/src/multirate_hifi/*.c
34+
)
35+
file(GLOB_RECURSE LIB_XC_SOURCES lib_src/src/fixed_factor_of_3/*.xc
36+
lib_src/src/fixed_factor_of_3_voice/*.xc
37+
lib_src/src/multirate_hifi/*.xc
38+
)
39+
file(GLOB_RECURSE LIB_ASM_SOURCES lib_src/src/fixed_factor_of_3/*.S
40+
lib_src/src/fixed_factor_of_3_voice/*.S
41+
lib_src/src/multirate_hifi/*.S
42+
)
43+
44+
## Create library target
45+
add_library(lib_src STATIC EXCLUDE_FROM_ALL ${LIB_C_SOURCES}
46+
${LIB_C_SOURCES_XS3}
47+
${LIB_ASM_SOURCES}
48+
${LIB_XC_SOURCES_XS3}
49+
${LIB_XC_SOURCES}
50+
${LIB_ASM_SOURCES_XS3}
51+
)
52+
53+
target_include_directories(lib_src
54+
PUBLIC
55+
lib_src/api
56+
lib_src/src/fixed_factor_of_3
57+
lib_src/src/fixed_factor_of_3/ds3
58+
lib_src/src/fixed_factor_of_3/os3
59+
lib_src/src/fixed_factor_of_3_voice
60+
lib_src/src/fixed_factor_of_3_voice/ds3_voice
61+
lib_src/src/fixed_factor_of_3_voice/us3_voice
62+
lib_src/src/multirate_hifi
63+
lib_src/src/multirate_hifi/asrc
64+
lib_src/src/multirate_hifi/ssrc
65+
${ADDITIONAL_INCLUDE_DIRS_XS3}
66+
)
67+
68+
target_link_libraries(lib_src
69+
PUBLIC
70+
# defined in fwk_core
71+
framework_core_legacy_compat
72+
)
73+
74+
target_compile_options(lib_src
75+
PRIVATE
76+
-O3
77+
-g
78+
)
79+
endif()

0 commit comments

Comments
 (0)