Commit graph

405 commits

Author SHA1 Message Date
jasonpcarroll
803016a27a
Updated demo_config.h and include paths for OTA demos (#605)
Co-authored-by: Jason Carroll <czjaso@amazon.com>
2021-05-27 10:48:03 -07:00
Archit Gupta
c134a58115
Fix missed variable rename (#600) 2021-05-17 14:31:42 -07:00
Hein Tibosch
db1f4542e5
Let vAssertCalled() produce some logging to stdout (#598) 2021-05-14 12:17:47 -07:00
Aniruddha Kanhere
1bc759d413
Aws only files spell check (#593)
* Added spell check

* All words

* Add a missing word

* Fix header checks

* Fix header checks v1

* Fix header check v2

* Updated freertos link in header

* Fixed afr link in the header

* Fix last of header checks

* Update the spell check script to check amazon licensed files only

* Fixed paths and added comments

* Try with modified repo

* Add inplace substitute option to sed

* Use official repo as the spell checker source

* Add vendor file to the ignored list

Co-authored-by: root <root@ip-172-31-5-28.us-west-2.compute.internal>
2021-05-13 16:07:56 -07:00
Archit Aggarwal
971a6e1d22
Merge FreeRTOS 202104.00 to main (#585) 2021-04-29 14:53:40 -07:00
Prasad Vyawahare
04f0f68f61
OTA Demos (#573)
This change adds the OTA demos and required dependencies and helper components .
* Add demos , configs and project files
* Add subscription manager
* Add HTTP utils
* Submodules the OTA LTS 3.0 Library.
* Add OTA pal
2021-04-26 12:43:57 -07:00
Archit Aggarwal
43bd42db27
Rename MQTT Agent structs and files (#576) 2021-04-26 11:29:50 -07:00
alfred gedeon
1fe418dc9f
Remove unecessary file (#495) 2021-04-21 18:00:07 -07:00
Archit Aggarwal
fd9c1eb7a5
Automate doxygen ZIP creation with GitHub Action (#568)
Automate creation of doxygen ZIP output by using the custom doxygen GitHub Action, that has been updated to generate ZIP artifact in PR
2021-04-21 13:52:01 -07:00
TakayukiMatsuo
1e2f99a11b
Add feature to set credentials using buffer in MQTT_Mutual_Auth_wolfSSL demo (#522)
* Add feature to set credentials using buffer
* Change instructions for giving credential data via buffer
2021-04-21 11:09:43 -07:00
Archit Aggarwal
5ac8279c1b
Change Shadow submodule to point to LTS release tag (#567) 2021-04-20 18:32:30 -07:00
Muneeb Ahmed
ef6194a7ce
Replace multithreading demo with MQTT Agent (#563)
* Update MQTT agent submodule

* Copy MQTT agent demo files

* Remove other demos from connection manager

* Update demo config and uncrustify

* Update readme files

* Fix headers
2021-04-20 17:27:10 -07:00
Archit Aggarwal
999e81e721
Bump submodules of Kernel and AWS libraries (#564) 2021-04-16 16:11:05 -07:00
Muneeb Ahmed
1f47a22b23
Add MQTT Agent submodule (#551)
* Add MQTT Agent submodule

* Add MQTT agent platform files

Co-authored-by: abhidixi11 <44424462+abhidixi11@users.noreply.github.com>
Co-authored-by: Joseph Julicher <jjulicher@mac.com>
2021-04-09 11:17:06 -07:00
Archit Gupta
c8fa483b68
Add custom metrics to defender demo (#507)
Adds custom metrics to the defender demo. The metrics added are a list of the task ids and the stack high water mark.
2021-03-05 17:56:28 -08:00
Carl Lundin
5ff9863249
Update corePKCS11 submodule. (#505)
Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
2021-02-22 11:31:18 -08:00
Archit Aggarwal
693212bd05
Update Jobs demo to use DescribeJobExecution instead of StartNextPendingJobExecution API (#496)
It is recommended by the AWS IoT Jobs service to use DescribeJobExecution API for scaling purposes instead of StartNextPendingJobExecution API. Thus, update the Jobs demo to replace the latter API call with the former API call.
2021-02-10 15:25:25 -08:00
Carl Lundin
a78cb45d12
Minor changes to wolfSSL MQTT demo files (#493)
* Clean up demo config for wolfSSL mutual auth. 
* Add comment about picking the correct ROOT CA.
* uncrustify using_wolfSSL.c and some other code style changes.
* Apply suggestions from code review

Co-authored-by: Archit Aggarwal <architag@amazon.com>
2021-02-04 16:17:34 -08:00
TakayukiMatsuo
dfdf2ddf1f
Add MQTT_Mutual_Auth_wolfSSL demo (#464)
Add a demo that shows MQTT over TLS mutual authentication connection and communication with a broken when using wolfSSL as the TLS library.
2021-02-02 17:28:43 -08:00
Marc-Antoine Lalonde
52c9756f21
Call taskYIELD after calling FreeRTOS_send in Plaintext_FreeRTOS_send (#491)
FreeRTOS_send adds the packet to be sent to the IP task's queue for
later processing. The packet is sent later by the IP task. When
FreeRTOS is used in collaborative mode (i.e. configUSE_PREEMPTION is 0),
the Plaintext_FreeRTOS_send function returns without actually sending
the packet as the IP task never gets a chance to run.

The fact that Plaintext_FreeRTOS_send returns without actually sending
the packet causes an issue in the MQTT_Connect which expects the CONNECT
packet to be actually sent and waits for CONNACK.

This commit adds a taskYIELD call after calling FreeRTOS_send to ensure
that the IP task gets a chance to run and send the packet before the
Plaintext_FreeRTOS_send function returns.
2021-01-25 14:30:42 -08:00
alfred gedeon
3a7da90c4f
Qemu Mps2 network interrupt (#487)
* Enable netwrork nterrupt handling for Qemu MPS2

* Fix interrupt priority

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
2021-01-04 11:08:47 -08:00
alfred gedeon
1c99d9f200
Prevent optimization in reset handler for QEMU MPS2 (#484) 2020-12-22 22:39:33 -08:00
Joseph Julicher
da9b9a800d [AUTO][RELEASE]: Bump file header version to "202012.00" 2020-12-15 11:50:37 -07:00
Joseph Julicher
45ba920ad0 [AUTO][RELEASE]: Bump submodules per manifest.yml for V202012.00 2020-12-15 10:22:10 -07:00
Joseph Julicher
2e2ba99a74 [AUTO][RELEASE]: Bump file header version to "202012.00" 2020-12-15 10:20:29 -07:00
Cobus van Eeden
89c6fc6baf
Update FreeRTOS-Plus-TCP (#479) 2020-12-14 22:09:01 -07:00
Carl Lundin
4ec66eb364 Move mbedtls tag to v2.25.0 2020-12-14 20:52:09 -08:00
Carl Lundin
db18ff7d59 Fix pkcs11 demo build. 2020-12-14 20:52:09 -08:00
Sukhmani Minhas
f4591cec06
Stack fix (#475) 2020-12-14 19:10:03 -08:00
Archit Gupta
bff2f04c5f
Update submodule pointers (#476) 2020-12-14 15:45:27 -08:00
Oscar Michael Abrina
6155c025a2
Update submodules of CSDK libraries (#473) 2020-12-13 17:31:14 -08:00
Oscar Michael Abrina
028bf653f7
Delete HTTP demo task upon completion (#472)
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
2020-12-12 21:01:59 -08:00
Archit Gupta
2e0de9aa70
Clean up demo project files (#468) 2020-12-12 16:35:43 -08:00
alfred gedeon
41237e01d0
Split networking from posix and qemu mps2 demos (#455)
Split networking from posix and qemu mps2 demos
2020-12-12 16:29:23 -08:00
RichardBarry
a503a3a7a0
Add links to the MQTT agent in the non-agent mqtt demos (#470)
Add URL file links to the MQTT agent documentation page.
Add comment blocks into each demo that also point toward the MQTT agent documentation to ensure users are aware the agent method exists.
2020-12-11 21:12:44 -08:00
Carl Lundin
1d444eecae
Update mbedtls to v2.24.0 (#465)
* Set mbedtls submodule tag to v2.24.0

* Update projects

Co-authored-by: Oscar Michael Abrina <abrinao@amazon.com>
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
2020-12-11 17:16:47 -08:00
Oscar Michael Abrina
f23752164b
Map errors from FreeRTOS+TCP to mbedTLS and make read non-blocking when requesting start of frame (#452)
From the FreeRTOS documentation, pdFREERTOS_ERRNO_ENOSPC means that timeout occurred before any data could be sent or received.
- In the plaintext transport-interface implementation, we would directly return `-pdFREERTOS_ERRNO_ENOSPC`. However, an error like this can occur when the TCP buffer is full, so this ought to be retriable. Libraries that consume the transport interface interpret a return value of 0 to mean that send/recv can be invoked again to get the data. As such, we should appropriately set the return value as 0 when the status is `-pdFREERTOS_ERRNO_ENOSPC`.
- In the mbedTLS port, we would directly return whatever `FreeRTOS_send` or `FreeRTOS_recv` returns. However, sometimes, the return value can be an error. In such cases, we ought to map an error from FreeRTOS+TCP to an equivalent error in mbedTLS. In the case of `-pdFREERTOS_ERRNO_ENOSPC`, we map that to `MBEDTLS_ERR_SSL_TIMEOUT`. When the mbedTLS transport-interface send/recv wrapper sees that value, it appropriately returns 0, so that the library can retry the send/recv. I've verified that when the mbedTLS port returns an error, that same error is returned by `mbedtls_ssl_write` & `mbedtls_ssl_read`.
- The TCP socket may have a receive block time.  If bytesToRecv is greater than 1 then a frame is likely already part way through reception and blocking to wait for the desired number of bytes to be available is the
most efficient thing to do.  If bytesToRecv is 1 then this may be a speculative call to read to find the start of a new frame, in which case blocking is not desirable as it could block an entire protocol agent task for the duration of the read block time and therefore negatively impact performance.  So if bytesToRecv is 1 then don't call recv unless it is known that bytes are already available.

Co-authored-by: abhidixi11 <44424462+abhidixi11@users.noreply.github.com>
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
2020-12-11 12:51:45 -08:00
Sukhmani Minhas
ebd1cdf702
Add comment about handling S3 request limits to S3 download demos (#462)
- Adding a comment to the top of S3 download and multi-threaded download demo source code files, to explain how to handle S3 request limits. This is done to prevent users from treating this case as a bug.
- Increasing ipconfigTCP_RX_BUFFER_LENGTH to 5000, as was done recently for other demos.
2020-12-11 14:34:20 -05:00
Oscar Michael Abrina
1c2c671e7a
Update comments about NetworkContext definition (#461)
Small change that simply specifies why the NetworkContext must be defined by each compilation unit along with details on how to include it to your project.

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
2020-12-11 11:09:03 -08:00
Archit Aggarwal
d93a3d63a0
Update demos to use version macro from coreMQTT (#460)
Update demos to use the MQTT_LIBRARY_VERSION macro for the coreMQTT version they report in their metrics
2020-12-10 12:05:02 -08:00
Archit Aggarwal
c0d4c7c67c
Update MQTT config for Keep Alive demo that uses dummy timer (#457)
The MQTT library has been updated with the MQTT_RECV_POLLING_TIMEOUT_MS and MQTT_SEND_RETRY_TIMEOUT_MS configurations which should be set to zero when using a dummy timer function to avoid possibility of infinite loop when retrying failed transport send/receive calls. As the MQTT Keep Alive demo uses a dummy timer function, this PR updates the demo configuration to set these timeouts to zero.
2020-12-09 19:02:51 -08:00
Carl Lundin
492ac6edb2
Move corePKCS11 forward and update to latest core_pkcs11.h (#441)
* Move corePKCS11 forward.
* Update licenses.
* strip NULL terminator.
* Add threading_alt.h
* Use github link.

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
2020-12-07 17:30:20 -08:00
Archit Gupta
353d2ef35b
Fix FreeRTOS+TCP submodule pointer (#453)
The FreeRTOS+TCP submodule pointer was set to a commit not in main,
which also lacked commits in main, which ended up causing build failures
for defender demo.
2020-12-07 14:03:18 -08:00
Sukhmani Minhas
57161da956
Update HTTP demo project files (#451)
* Update project filters

* Address inaccurate retry count
2020-12-07 10:34:12 -08:00
Sukhmani Minhas
87662ff4d8
Replace GPL with FreeRTOS license in MbedTLS demo config files (#447)
Since we own mbedtls_config.h files, updating the GPL to use the FreeRTOS license instead.
2020-12-04 18:38:40 -05:00
SarenaAWS
4538b99a9b
Change all occurrences of broker to server in coreHTTP demos folder. (#445) 2020-12-04 15:09:54 -08:00
yngki
46acf2863a
Update readme.txt (#446)
* Update readme.txt

* Update readme.txt

* Update readme.txt

* Update check-header.py

Co-authored-by: Joseph Julicher <jjulicher@mac.com>
2020-12-04 14:16:57 -08:00
Sukhmani Minhas
d69c9c01e8
Port S3 multi-threaded download demo from C-SDK (#436)
Adding demo to demonstrate the use of pre-signed URLs to connect and download from a S3 bucket. Sends multiple GET requests synchronously to download a file in chunks using range headers. Uses a request and response task in addition to the main HTTP servicing task.
2020-12-04 16:14:41 -05:00
alfred gedeon
b7b9ccb099
Qemu mps2 networking (#439)
* Demo: Add Support for netwroking in Qemu for MPS2 AN385
* Add tcp echo client
* Add steps to Readme
2020-12-03 23:44:57 -08:00
Archit Gupta
79e432738b
Adds error messages for AWS demo mqtt helpers + misc fixes (#440)
Switch MQTT helpers to logging error message instead of error code.
Adds time parameter to xProccessLoop so defender demo does not wait extra time.
Fixes some incorrect returns in metrics_collector.c
2020-12-03 19:10:10 -08:00