Skip to content

Commit

Permalink
Merge pull request #83 from xmos/release/v2.3.0
Browse files Browse the repository at this point in the history
Release v2.3.0
  • Loading branch information
ed-xmos authored Sep 7, 2023
2 parents 3335680 + 57cdc84 commit d00f51f
Show file tree
Hide file tree
Showing 497 changed files with 30,358 additions and 111,287 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Documentation

on:
schedule:
# run at 5am every day
- cron: '0 5 * * *'
push:
paths:
- '.github/workflows/docs.yml'
- 'settings.json'
- 'doc/exclude_patterns.inc'
- '**/doc/**'
pull_request:
paths:
- '.github/workflows/docs.yml'
- 'settings.json'
- 'doc/exclude-patterns.inc'
- '**/doc/**'

# Allow manually triggering the workflow.
workflow_dispatch: {}

env:
XCORE_DOC_BUILDER: 'ghcr.io/xmos/doc_builder:v3.0.0'

jobs:
build_documentation:
name: Build and package documentation
if: github.repository_owner == 'xmos'
runs-on: ubuntu-latest
steps:
- name: Checkout this repo
uses: actions/checkout@v3

- uses: actions/setup-python@v4
with:
python-version: '3.10.x'

- name: Pull doc_builder container
run: |
docker pull ${XCORE_DOC_BUILDER}
- name: Build documentation
run: |
pwd
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}
tree
DOC_VERSION=$(grep version settings.json | grep -o "[0-9]*\.[0-9]*\.[0-9]")
mv doc/_build/pdf/programming_guide.pdf doc/_build/pdf/programming_guide_v${DOC_VERSION}.pdf
- name: Save documentation artifacts
uses: actions/upload-artifact@v3
with:
name: docs lib_src
path: doc/_build
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
retention-days: 30
9 changes: 5 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ xsim.args
tests/src_output
*.bak
**/.venv/**

# waf build files
.lock-waf_*
.waf-*/
build/
tests/tmp
tests/vpu_ff3_test/autogen
tests/vpu_rat_test/autogen
*.csv
python/lib_src.egg-info
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "xmos_cmake_toolchain"]
path = xmos_cmake_toolchain
url = git@github.com:xmos/xmos_cmake_toolchain.git
32 changes: 32 additions & 0 deletions .xmos_ignore_source_check
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
tests/asrc_test/model/ASRC.c
tests/asrc_test/model/ASRC.h
tests/asrc_test/model/FIR.c
tests/asrc_test/model/FIR.h
tests/asrc_test/model/FilterDefs.c
tests/asrc_test/model/FilterDefs.h
tests/asrc_test/model/IntArithmetic.c
tests/asrc_test/model/IntArithmetic.h
tests/asrc_test/model/Main.c
tests/asrc_test/model/Main.h
tests/ds3_test/model/FIRDS3.c
tests/ds3_test/model/FIRDS3.h
tests/ds3_test/model/IntArithmetic.c
tests/ds3_test/model/IntArithmetic.h
tests/ds3_test/model/Main.c
tests/ds3_test/model/Main.h
tests/os3_test/model/FIROS3.c
tests/os3_test/model/FIROS3.h
tests/os3_test/model/IntArithmetic.c
tests/os3_test/model/IntArithmetic.h
tests/os3_test/model/Main.c
tests/os3_test/model/Main.h
tests/ssrc_test/model/FIR.c
tests/ssrc_test/model/FIR.h
tests/ssrc_test/model/FilterDefs.c
tests/ssrc_test/model/FilterDefs.h
tests/ssrc_test/model/IntArithmetic.c
tests/ssrc_test/model/IntArithmetic.h
tests/ssrc_test/model/Main.c
tests/ssrc_test/model/Main.h
tests/ssrc_test/model/SSRC.c
tests/ssrc_test/model/SSRC.h
33 changes: 25 additions & 8 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,28 @@
lib_src change log
==================

2.3.0
-----

* ADDED: XS3 VPU optimised voice fixed factor of 3 upsampling/downsampling
* ADDED: XS3 VPU optimised voice fixed factor of 3/2 upsampling/downsampling
* CHANGED: OS3 uses firos3_144.dat coefficients by default inline with model
* CHANGED: Replaced xmostest with pytest for all SRC automated tests
* CHANGED: Used XMOS doc builder for documentation
* CHANGED: Golden reference test signals now generated automatically by CI
* RESOLVED: Linker warning on channel ends
* REMOVED: AN00231 ASRC App Note. See github.com/xmos/sln_voice/examples
* CHANGED: Increased precision of the fFsRatioDeviation used in the C emulator
from float to double
* CHANGED: Allow for 64 bits in the rate ratio passed to asrc_process() for
extra precision

* Changes to dependencies:

- lib_logging: 2.0.1 -> 3.1.1

- lib_xassert: 2.0.1 -> 4.1.0

2.2.0
-----

Expand All @@ -11,17 +33,12 @@ lib_src change log
ensures that the voice fixed factor of 3 up and down sampling functions do
not crash with a LOAD_STORE exception.
* ADDED: Missing device attributes to the .xn file of the AN00231 app note.

* Changes to dependencies:

- lib_logging: 2.0.1 -> 3.1.1

- lib_xassert: 2.0.1 -> 4.1.0
* ADDED: Minimal cmake support.

2.1.0
-----

* CHANGED: Use XMOS Public Licence Version 1
* CHANGED: Use XMOS Public License Version 1

2.0.1
-----
Expand All @@ -32,7 +49,7 @@ lib_src change log
2.0.0
-----

* CHANGED: Build files updated to support new "xcommon" behaviour in xwaf.
* CHANGED: Build files updated to support new "xcommon" behavior in xwaf.

1.1.2
-----
Expand Down
79 changes: 79 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
cmake_minimum_required(VERSION 3.21.0)

project(lib_src LANGUAGES C ASM)

if(PROJECT_IS_TOP_LEVEL)
include(FetchContent)
FetchContent_Declare(
fwk_core
GIT_REPOSITORY https://github.com/xmos/fwk_core.git
GIT_TAG v1.0.0
)
FetchContent_MakeAvailable(fwk_core)
endif()

add_subdirectory(tests)

# XS3 only libraries that use the Vector Processing Unit
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS3A)
## Source files
file(GLOB_RECURSE LIB_C_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.c )
file(GLOB_RECURSE LIB_XC_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.xc)
file(GLOB_RECURSE LIB_ASM_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.S )

set(ADDITIONAL_INCLUDE_DIRS_XS3 lib_src/src/fixed_factor_vpu_voice
)
endif()


if((${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS3A) OR (${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS2A))
## Source files
file(GLOB_RECURSE LIB_C_SOURCES lib_src/src/fixed_factor_of_3/*.c
lib_src/src/fixed_factor_of_3_voice/*.c
lib_src/src/multirate_hifi/*.c
)
file(GLOB_RECURSE LIB_XC_SOURCES lib_src/src/fixed_factor_of_3/*.xc
lib_src/src/fixed_factor_of_3_voice/*.xc
lib_src/src/multirate_hifi/*.xc
)
file(GLOB_RECURSE LIB_ASM_SOURCES lib_src/src/fixed_factor_of_3/*.S
lib_src/src/fixed_factor_of_3_voice/*.S
lib_src/src/multirate_hifi/*.S
)

## Create library target
add_library(lib_src STATIC EXCLUDE_FROM_ALL ${LIB_C_SOURCES}
${LIB_C_SOURCES_XS3}
${LIB_ASM_SOURCES}
${LIB_XC_SOURCES_XS3}
${LIB_XC_SOURCES}
${LIB_ASM_SOURCES_XS3}
)

target_include_directories(lib_src
PUBLIC
lib_src/api
lib_src/src/fixed_factor_of_3
lib_src/src/fixed_factor_of_3/ds3
lib_src/src/fixed_factor_of_3/os3
lib_src/src/fixed_factor_of_3_voice
lib_src/src/fixed_factor_of_3_voice/ds3_voice
lib_src/src/fixed_factor_of_3_voice/us3_voice
lib_src/src/multirate_hifi
lib_src/src/multirate_hifi/asrc
lib_src/src/multirate_hifi/ssrc
${ADDITIONAL_INCLUDE_DIRS_XS3}
)

target_link_libraries(lib_src
PUBLIC
# defined in fwk_core
framework_core_legacy_compat
)

target_compile_options(lib_src
PRIVATE
-O3
-g
)
endif()
Loading

0 comments on commit d00f51f

Please sign in to comment.