Is your feature request related to a problem? Please describe.
Hi, does anyone have mcumgr ported on NuttX?
If not, I think it's a project worth porting, as it would provide a tool for managing remote devices and, most importantly, DFU over the Simple Management Protocol (e.g., over BLE). An out-of-the-box tool for managing remote devices is something I feel is missing in NuttX.
If no one has implemented this yet, I might look into it one day. However, I have a few concerns about this task.
Describe the solution you'd like
Currently there are 2 implementations of mcumgr:
- The original project from Mynwet - https://github.com/apache/mynewt-mcumgr/
- Zephyr version, developed in parallel - https://github.com/zephyrproject-rtos/zephyr/tree/main/subsys/mgmt/mcumgr
Initially, Zephyr used the Mynewt version directly, but they decided to incorporate
the code directly into Zephyr. Details can be found here:
Currently Zephyr version has more functionalities (such as mcumgr client and additional
management commands).
So my questions are:
-
Which code should we port: the Mynewt version or the Zephyr version ?
Both have Apache licenses, so the license is not an issue. Zephyr has more
functionalities, but the porting requires more effort.
-
Should we adopt an approach similar to Zephyr, where we maintain our own version of the
code, or should we clone active project ?
If we choose the second approach (git clone), the Zephyr version is probably out of
the question - cloning the entire Zephyr project is a bad idea.
Keeping its entire code in our repo could offer benefits, such as implementing NuttX-specific commands,
transports and optimizations. All the arguments from the discussion in Zephyr issue above also apply here.
Describe alternatives you've considered
No response
Verification
Is your feature request related to a problem? Please describe.
Hi, does anyone have mcumgr ported on NuttX?
If not, I think it's a project worth porting, as it would provide a tool for managing remote devices and, most importantly, DFU over the Simple Management Protocol (e.g., over BLE). An out-of-the-box tool for managing remote devices is something I feel is missing in NuttX.
If no one has implemented this yet, I might look into it one day. However, I have a few concerns about this task.
Describe the solution you'd like
Currently there are 2 implementations of mcumgr:
Initially, Zephyr used the Mynewt version directly, but they decided to incorporate
the code directly into Zephyr. Details can be found here:
Currently Zephyr version has more functionalities (such as mcumgr client and additional
management commands).
So my questions are:
Which code should we port: the Mynewt version or the Zephyr version ?
Both have Apache licenses, so the license is not an issue. Zephyr has more
functionalities, but the porting requires more effort.
Should we adopt an approach similar to Zephyr, where we maintain our own version of the
code, or should we clone active project ?
If we choose the second approach (
git clone), the Zephyr version is probably out ofthe question - cloning the entire Zephyr project is a bad idea.
Keeping its entire code in our repo could offer benefits, such as implementing NuttX-specific commands,
transports and optimizations. All the arguments from the discussion in Zephyr issue above also apply here.
Describe alternatives you've considered
No response
Verification