# Cellular library structure

**URL:** <https://forums.freertos.org/t/cellular-library-structure/18310>\
**Category:** Libraries\
**Created:** [October 11, 2023, 2:48pm UTC](https://forums.freertos.org/t/cellular-library-structure/18310 "2023-10-11T14:48:27Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![friesen](https://avatars.discourse-cdn.com/v4/letter/f/c57346/32.png) [@friesen](https://forums.freertos.org/u/friesen)\
**Post date:** [October 11, 2023, 2:48pm UTC](https://forums.freertos.org/t/cellular-library-structure/18310/1 "2023-10-11T14:48:28Z")

</div>

Any chance of simplifying the Cellular libraries? In my opinion they don’t fit the previous ways things fit together.

For example, there is no clear relationship to +TCP, yet it would appear to be somewhat integrated?

I’ve used +TCP for some years now, but I’m having difficultly understanding how the parts fit together on this one. Its arranged a little like aws services I’m afraid.

A side note, the demos for the r4 don’t want to build on windows.

---

<div class="post-metadata">

**Author:** ![aggarg](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/aggarg/32/4245_2.png) [@aggarg](https://forums.freertos.org/u/aggarg)\
**Post date:** [October 12, 2023, 9:43am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/2 "2023-10-12T09:43:01Z")

</div>

> [@friesen](#):
>
> For example, there is no clear relationship to +TCP

You do not need a separate TCP stack on the host processor as the cellular modem provides a TCP stack. You can refer to the Cellular demos here - [GitHub - FreeRTOS/Lab-Project-FreeRTOS-Cellular-Demo](https://github.com/FreeRTOS/Lab-Project-FreeRTOS-Cellular-Demo/tree/main).

---

<div class="post-metadata">

**Author:** ![friesen](https://avatars.discourse-cdn.com/v4/letter/f/c57346/32.png) [@friesen](https://forums.freertos.org/u/friesen)\
**Post date:** [October 12, 2023, 10:35am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/3 "2023-10-12T10:35:53Z")

</div>

If it doesn’t need +tcp, why does the demo build require the +tcp lib?

---

<div class="post-metadata">

**Author:** ![aggarg](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/aggarg/32/4245_2.png) [@aggarg](https://forums.freertos.org/u/aggarg)\
**Post date:** [October 12, 2023, 10:37am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/4 "2023-10-12T10:37:05Z")

</div>

> [@friesen](#):
>
> why does the demo build require the +tcp lib?

Where do you see that? I do not see +TCP here - [https://github.com/FreeRTOS/Lab-Project-FreeRTOS-Cellular-Demo/blob/main/.gitmodules](https://github.com/FreeRTOS/Lab-Project-FreeRTOS-Cellular-Demo/blob/main/.gitmodules)

---

<div class="post-metadata">

**Author:** ![friesen](https://avatars.discourse-cdn.com/v4/letter/f/c57346/32.png) [@friesen](https://forums.freertos.org/u/friesen)\
**Post date:** [October 12, 2023, 10:41am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/5 "2023-10-12T10:41:46Z")

</div>

I see that when I tried to build the demo. The vs solution builds against the lib. Which doesn’t build because of libslip for some reason.

---

<div class="post-metadata">

**Author:** ![aggarg](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/aggarg/32/4245_2.png) [@aggarg](https://forums.freertos.org/u/aggarg)\
**Post date:** [October 12, 2023, 10:45am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/6 "2023-10-12T10:45:21Z")

</div>

> [@friesen](#):
>
> I see that when I tried to build the demo.

Which demo are you talking about? What do I need to do to repro it?

---

<div class="post-metadata">

**Author:** ![friesen](https://avatars.discourse-cdn.com/v4/letter/f/c57346/32.png) [@friesen](https://forums.freertos.org/u/friesen)\
**Post date:** [October 12, 2023, 10:53am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/7 "2023-10-12T10:53:31Z")

</div>

The repo situation is rather confusing, but clone the master Freertos repo, then build the Sara r4 demo in the cellular demos on a windows environment. You do have to define a few things in the confits.

---

<div class="post-metadata">

**Author:** ![aggarg](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/aggarg/32/4245_2.png) [@aggarg](https://forums.freertos.org/u/aggarg)\
**Post date:** [October 12, 2023, 10:57am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/8 "2023-10-12T10:57:32Z")

</div>

Are you talking about this demo - [https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS\_Cellular\_Interface\_Windows\_Simulator/MQTT\_Mutual\_Auth\_Demo\_with\_SARA\_R4](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/MQTT_Mutual_Auth_Demo_with_SARA_R4)?

---

<div class="post-metadata">

**Author:** ![friesen](https://avatars.discourse-cdn.com/v4/letter/f/c57346/32.png) [@friesen](https://forums.freertos.org/u/friesen)\
**Post date:** [October 12, 2023, 11:00am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/9 "2023-10-12T11:00:44Z")

</div>

Yes . . . . . . . 20

---

<div class="post-metadata">

**Author:** ![friesen](https://avatars.discourse-cdn.com/v4/letter/f/c57346/32.png) [@friesen](https://forums.freertos.org/u/friesen)\
**Post date:** [October 12, 2023, 11:02am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/10 "2023-10-12T11:02:40Z")

</div>

Why would that demo be under +tcp folder?

---

<div class="post-metadata">

**Author:** ![aggarg](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/aggarg/32/4245_2.png) [@aggarg](https://forums.freertos.org/u/aggarg)\
**Post date:** [October 12, 2023, 11:04am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/11 "2023-10-12T11:04:56Z")

</div>

What do you mean by " under +tcp folder"? The complete path to that demo is `FreeRTOS/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/MQTT_Mutual_Auth_Demo_with_SARA_R4` . Where do you see TCP in that path?

---

<div class="post-metadata">

**Author:** ![friesen](https://avatars.discourse-cdn.com/v4/letter/f/c57346/32.png) [@friesen](https://forums.freertos.org/u/friesen)\
**Post date:** [October 12, 2023, 11:12am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/12 "2023-10-12T11:12:00Z")

</div>

Freertos/ **FreeRTOS-Plus** /…

---

<div class="post-metadata">

**Author:** ![friesen](https://avatars.discourse-cdn.com/v4/letter/f/c57346/32.png) [@friesen](https://forums.freertos.org/u/friesen)\
**Post date:** [October 12, 2023, 11:12am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/13 "2023-10-12T11:12:45Z")

</div>

Yes, I see what you mean now there isn’t tcp there.

---

<div class="post-metadata">

**Author:** ![Fresh](https://avatars.discourse-cdn.com/v4/letter/f/2acd7d/32.png) [@Fresh](https://forums.freertos.org/u/Fresh)\
**Post date:** [October 13, 2023, 6:18am UTC](https://forums.freertos.org/t/cellular-library-structure/18310/14 "2023-10-13T06:18:48Z")

</div>

Hi Erik,

There is another thread about this demo build problem in [FreeRTOS/FreeRTOS issue](https://github.com/FreeRTOS/FreeRTOS/issues/1098). I suggest we move the discussion there to help us reply the problem in single forum.
