├── .gitignore ├── .gitmodules ├── patch ├── freertos_20200700_4e8219e0.patch └── AiaClientSDK_0deab3e0.patch ├── images └── apal_afr_integration_source_tree.png ├── CODE_OF_CONDUCT.md ├── NOTICE ├── ports ├── Button │ └── include │ │ └── button │ │ └── aia_button_config.h ├── Crypto │ ├── src │ │ └── aia_crypto_config.c │ └── include │ │ └── crypto │ │ └── aia_crypto_config.h ├── include │ ├── aia_config.h │ ├── aia_capabilities_config.h │ └── aia_application_config.h ├── Microphone │ └── include │ │ └── microphone │ │ └── aia_microphone_config.h ├── Memory │ └── include │ │ └── memory │ │ └── aia_memory_config.h ├── Clock │ ├── include │ │ └── clock │ │ │ └── aia_clock_config.h │ └── src │ │ └── aia_clock_config.c ├── Common │ └── include │ │ └── common │ │ └── aia_common_config.h ├── IoT │ ├── src │ │ └── aia_iot_config.c │ └── include │ │ └── iot │ │ └── aia_iot_config.h ├── LWA │ ├── src │ │ └── aia_lwa_config.c │ └── include │ │ └── lwa │ │ └── aia_lwa_config.h ├── Registration │ ├── include │ │ └── registration │ │ │ └── aia_registration_config.h │ └── src │ │ └── aia_registration_config.c ├── HTTP │ ├── include │ │ └── http │ │ │ └── aia_http_config.h │ └── src │ │ └── aia_http_config.c └── Storage │ ├── include │ └── storage │ │ └── aia_storage_config.h │ └── src │ └── aia_storage_config.c ├── demos └── aia │ ├── aia_sample_app.h │ ├── utils │ └── aiaportaudiomicrophone │ │ ├── include │ │ └── aiaportaudiomicrophone │ │ │ └── aia_portaudio_microphone.h │ │ └── source │ │ └── aia_portaudio_microphone.c │ ├── aia_sample_main.c │ └── aia_sample_app.c ├── CONTRIBUTING.md ├── CMakeLists.txt ├── README.md └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | external/AIAClientSDK 2 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "external/AIAClientSDK"] 2 | path = external/AIAClientSDK 3 | url = https://github.com/alexa/AIAClientSDK.git 4 | -------------------------------------------------------------------------------- /patch/freertos_20200700_4e8219e0.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/alexa-voice-service-integration-for-aws-iot-freertos-porting-kit/master/patch/freertos_20200700_4e8219e0.patch -------------------------------------------------------------------------------- /images/apal_afr_integration_source_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/alexa-voice-service-integration-for-aws-iot-freertos-porting-kit/master/images/apal_afr_integration_source_tree.png -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | AIA Client SDK FreeRTOS Porting 2 | Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | ********************** 5 | THIRD PARTY COMPONENTS 6 | ********************** 7 | This software includes third party software subject to the following licensing: 8 | - mbedTLS (external library, downloaded separately) - Apache 2.0 9 | - Amazon FreeRTOS (external library, downloaded separately) - MIT 10 | - AIA Device SDK (external library, downloaded separately) - PML 11 | - Portaudio (external library, downloaded separately) - MIT 12 | - Opus (external library, downloaded separately) - BSD -------------------------------------------------------------------------------- /ports/Button/include/button/aia_button_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef AIA_BUTTON_CONFIG_H_ 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | #define AIA_BUTTON_CONFIG_H_ 22 | 23 | /** Optional flag to enable faster local stoppage of audio on pause and stop 24 | * button presses. */ 25 | #define AIA_BUTTON_LOCAL_STOP 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | #endif /* ifndef AIA_BUTTON_CONFIG_H_ */ 31 | -------------------------------------------------------------------------------- /ports/Crypto/src/aia_crypto_config.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * @file aia_crypto_config.c 19 | * @brief Implements platform-specific Crypto functions which are not inlined in 20 | * @c aia_crypto_config.h. 21 | */ 22 | 23 | #include 24 | 25 | bool AiaCrypto_SetKey( const uint8_t* encryptKey, size_t encryptKeySize, 26 | const AiaEncryptionAlgorithm_t encryptAlgorithm ) 27 | { 28 | return AiaCryptoMbedtls_SetKey( encryptKey, encryptKeySize, 29 | encryptAlgorithm ); 30 | } 31 | -------------------------------------------------------------------------------- /ports/include/aia_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef AIA_CONFIG_H_ 18 | #ifdef __cplusplus 19 | extern "C" 20 | { 21 | #endif 22 | #define AIA_CONFIG_H_ 23 | 24 | /* The IoT config header */ 25 | #include 26 | #include "threading_alt.h" 27 | 28 | #include