zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.02k stars 6.17k forks source link

Add modem shell support to the modem cellular driver #71749

Open niclas-ats opened 2 months ago

niclas-ats commented 2 months ago

Is your enhancement proposal related to a problem? Please describe. Some of the modem drivers support the interaction with the device at runtime using the modem shell. The generic modem cellular driver currently lacks this feature.

Describe the solution you'd like Register a modem context and implement the neccessary api within the modem cellular driver so that the modem shell commands (list, send, ...) work at runtime.

Describe alternatives you've considered None.

Additional context After looking into the code of the modem subsystem and drivers I have some questions:

  1. The modem shell needs either a "modem context" or a "modem receiver". Which one is recommended? Is the "modem context" the successor of the "modem receiver"?
  2. What would be the best way to implement the neccessary changes? Do we have to rewrite the communication logic to make it thread safe or can we use the modem_pipe as another backend?

If I understand more about the underlying architecture I could work on implementing this.

I'm mentioning @bjarki-trackunit as the main developer of the modem cellular driver. Maybe you can point me to the right direction ;)

github-actions[bot] commented 2 months ago

Hi @niclas-ats! We appreciate you submitting your first issue for our open-source project. 🌟

Even though I'm a bot, I can assure you that the whole community is genuinely grateful for your time and effort. 🤖💙